mirror of
https://github.com/open-goal/jak-project
synced 2026-08-04 01:04:11 -04:00
decomp/lsp: Differentiate warnings from likely/definite errors (#1725)
* decomp: differentiate potential false positive warnings from likely/certain failures * lsp: handle IR2 errors * decomp: downgrade an expr building warning as often expressions build fine * tests: update reference tests since comments aren't ignored * decomp: simplify warnings interface * tests: update ref tests
This commit is contained in:
@@ -2855,14 +2855,14 @@ std::shared_ptr<ControlFlowGraph> build_cfg(const LinkedObjectFile& file,
|
||||
changed = changed || cfg->find_infinite_continue();
|
||||
if (changed && !complained_about_weird_gotos) {
|
||||
complained_about_weird_gotos = true;
|
||||
func.warnings.general_warning(
|
||||
func.warnings.warning(
|
||||
"Found some very strange gotos. Check result carefully, this is not well tested.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!cfg->is_fully_resolved()) {
|
||||
func.warnings.cfg_build_warning("Could not fully resolve CFG");
|
||||
func.warnings.error("CFG building failed: Could not fully resolve CFG");
|
||||
}
|
||||
|
||||
return cfg;
|
||||
|
||||
@@ -71,7 +71,7 @@ void Function::analyze_prologue(const LinkedObjectFile& file) {
|
||||
"Function {} was flagged as asm due to this instruction: {}. Consider flagging as asm "
|
||||
"in config!",
|
||||
name(), instr.to_string(file.labels));
|
||||
warnings.general_warning("Flagged as asm because of {}", instr.to_string(file.labels));
|
||||
warnings.warning("Flagged as asm because of {}", instr.to_string(file.labels));
|
||||
suspected_asm = true;
|
||||
return;
|
||||
}
|
||||
@@ -97,7 +97,7 @@ void Function::analyze_prologue(const LinkedObjectFile& file) {
|
||||
"Function {} was flagged as asm due to this instruction: {}. Consider flagging as asm "
|
||||
"in config!",
|
||||
name(), instr.to_string(file.labels));
|
||||
warnings.general_warning("Flagged as asm because of {}", instr.to_string(file.labels));
|
||||
warnings.warning("Flagged as asm because of {}", instr.to_string(file.labels));
|
||||
suspected_asm = true;
|
||||
return;
|
||||
}
|
||||
@@ -133,7 +133,7 @@ void Function::analyze_prologue(const LinkedObjectFile& file) {
|
||||
// sometimes stack memory is zeroed or a register is spilled immediately after gpr backups,
|
||||
// and this fools the previous check.
|
||||
if (store_reg == make_gpr(Reg::R0) || store_reg == make_gpr(Reg::A0)) {
|
||||
warnings.general_warning("Check prologue - tricky store of {}", store_reg.to_string());
|
||||
warnings.warning("Check prologue - tricky store of {}", store_reg.to_string());
|
||||
expect_nothing_after_gprs = true;
|
||||
break;
|
||||
}
|
||||
@@ -152,8 +152,8 @@ void Function::analyze_prologue(const LinkedObjectFile& file) {
|
||||
suspected_asm = true;
|
||||
lg::warn("Function {} stores on the stack in a strange way ({}), flagging as asm!",
|
||||
instructions.at(idx + i).to_string(file.labels), name());
|
||||
warnings.general_warning("Flagged as asm due to strange stack store: {}",
|
||||
instructions.at(idx + i).to_string(file.labels));
|
||||
warnings.warning("Flagged as asm due to strange stack store: {}",
|
||||
instructions.at(idx + i).to_string(file.labels));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -181,8 +181,8 @@ void Function::analyze_prologue(const LinkedObjectFile& file) {
|
||||
suspected_asm = true;
|
||||
lg::warn("Function {} stores on the stack in a strange way ({}), flagging as asm!",
|
||||
instructions.at(idx + i).to_string(file.labels), name());
|
||||
warnings.general_warning("Flagged as asm due to strange stack store: {}",
|
||||
instructions.at(idx + i).to_string(file.labels));
|
||||
warnings.warning("Flagged as asm due to strange stack store: {}",
|
||||
instructions.at(idx + i).to_string(file.labels));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -372,7 +372,7 @@ void Function::check_epilogue(const LinkedObjectFile& file) {
|
||||
ASSERT(is_jr_ra(instructions.at(idx)));
|
||||
idx--;
|
||||
lg::warn("Function {} has a double return and is being flagged as asm.", name());
|
||||
warnings.general_warning("Flagged as asm due to double return");
|
||||
warnings.warning("Flagged as asm due to double return");
|
||||
}
|
||||
// delay slot should be daddiu sp, sp, offset
|
||||
ASSERT(is_gpr_2_imm_int(instructions.at(idx), InstructionKind::DADDIU, make_gpr(Reg::SP),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
#include "common/util/Assert.h"
|
||||
@@ -13,44 +14,43 @@ class DecompWarnings {
|
||||
DecompWarnings() = default;
|
||||
|
||||
template <typename... Args>
|
||||
void general_warning(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::GENERAL, str, std::forward<Args>(args)...);
|
||||
void warning(const std::string& str, Args&&... args) {
|
||||
_warning(Warning::Kind::WARN, false, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void warn_and_throw(const std::string& str, Args&&... args) {
|
||||
void unique_warning(const std::string& str, Args&&... args) {
|
||||
_warning(Warning::Kind::WARN, true, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void error(const std::string& str, Args&&... args) {
|
||||
_warning(Warning::Kind::ERR, false, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void unique_error(const std::string& str, Args&&... args) {
|
||||
_warning(Warning::Kind::ERR, true, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void error_and_throw(const std::string& str, Args&&... args) {
|
||||
auto text = fmt::format(str, std::forward<Args>(args)...);
|
||||
warning(Warning::Kind::GENERAL, text);
|
||||
_warning(Warning::Kind::ERR, false, text);
|
||||
throw std::runtime_error(text);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void expression_build_warning(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::EXPR_BUILD_FAILED, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void cfg_build_warning(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::CFG_FAILED, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void type_prop_warning(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::TYPE_PROP_FAILED, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void bad_vf_dependency(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::BAD_VF_DEPENDENCY, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
void info(const std::string& str, Args&&... args) {
|
||||
warning(Warning::Kind::INFO, str, std::forward<Args>(args)...);
|
||||
_warning(Warning::Kind::INFO, false, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
bool has_warnings() const { return !m_warnings.empty() || m_used_lq_sq; }
|
||||
void warn_sq_lq() { m_used_lq_sq = true; }
|
||||
template <typename... Args>
|
||||
void unique_info(const std::string& str, Args&&... args) {
|
||||
_warning(Warning::Kind::INFO, true, str, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
bool has_warnings() const { return !m_warnings.empty(); }
|
||||
|
||||
std::string get_warning_text(bool as_comment) const {
|
||||
std::string result;
|
||||
@@ -60,38 +60,26 @@ class DecompWarnings {
|
||||
}
|
||||
result += w.print();
|
||||
}
|
||||
if (m_used_lq_sq) {
|
||||
result += ";; Used lq/sq\n";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private:
|
||||
// Add warnings without thinking about it, if you say they should be unique, only max of 1 will be
|
||||
// logged with that same text.
|
||||
std::unordered_set<std::string> unique_warnings;
|
||||
|
||||
struct Warning {
|
||||
enum class Kind {
|
||||
GENERAL,
|
||||
EXPR_BUILD_FAILED,
|
||||
CFG_FAILED,
|
||||
TYPE_PROP_FAILED,
|
||||
INFO,
|
||||
BAD_VF_DEPENDENCY
|
||||
};
|
||||
enum class Kind { INFO, WARN, ERR };
|
||||
Warning(Kind kind, std::string text) : warning_kind(kind), message(std::move(text)) {}
|
||||
|
||||
std::string print() const {
|
||||
switch (warning_kind) {
|
||||
case Kind::GENERAL:
|
||||
return fmt::format("WARN: {}\n", message);
|
||||
case Kind::EXPR_BUILD_FAILED:
|
||||
return fmt::format("WARN: Expression building failed: {}\n", message);
|
||||
case Kind::CFG_FAILED:
|
||||
return fmt::format("WARN: CFG building failed: {}\n", message);
|
||||
case Kind::TYPE_PROP_FAILED:
|
||||
return fmt::format("WARN: Type Propagation failed: {}\n", message);
|
||||
case Kind::BAD_VF_DEPENDENCY:
|
||||
return fmt::format("WARN: Bad vector register dependency: {}\n", message);
|
||||
case Kind::INFO:
|
||||
return fmt::format("INFO: {}\n", message);
|
||||
case Kind::WARN:
|
||||
return fmt::format("WARN: {}\n", message);
|
||||
case Kind::ERR:
|
||||
return fmt::format("ERROR: {}\n", message);
|
||||
default:
|
||||
ASSERT(false);
|
||||
return {};
|
||||
@@ -103,8 +91,15 @@ class DecompWarnings {
|
||||
};
|
||||
|
||||
template <typename... Args>
|
||||
void warning(Warning::Kind kind, const std::string& str, Args&&... args) {
|
||||
Warning warn(kind, fmt::format(str, std::forward<Args>(args)...));
|
||||
void _warning(Warning::Kind kind, bool unique, const std::string& str, Args&&... args) {
|
||||
std::string msg = fmt::format(str, std::forward<Args>(args)...);
|
||||
if (unique) {
|
||||
if (unique_warnings.find(msg) != unique_warnings.end()) {
|
||||
return;
|
||||
}
|
||||
unique_warnings.insert(msg);
|
||||
}
|
||||
Warning warn(kind, msg);
|
||||
m_warnings.push_back(warn);
|
||||
}
|
||||
|
||||
|
||||
@@ -703,7 +703,7 @@ TP_Type SimpleExpression::get_type_int2(const TypeState& input,
|
||||
|
||||
if (m_kind == Kind::OR && arg0_type.typespec() == TypeSpec("float") &&
|
||||
arg1_type.typespec() == TypeSpec("float")) {
|
||||
env.func->warnings.general_warning("Using logior on floats");
|
||||
env.func->warnings.warning("Using logior on floats");
|
||||
// returning int instead of uint because they like to use the float sign bit as an integer sign
|
||||
// bit.
|
||||
return TP_Type::make_from_ts(TypeSpec("float"));
|
||||
@@ -1433,13 +1433,12 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
|
||||
// stack slot load
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot load at {} mismatch: defined as size {}, got size {}", m_offset, info.size,
|
||||
m_size);
|
||||
env.func->warnings.error("Stack slot load at {} mismatch: defined as size {}, got size {}",
|
||||
m_offset, info.size, m_size);
|
||||
}
|
||||
|
||||
if (info.is_signed != m_is_signed) {
|
||||
env.func->warnings.general_warning("Stack slot offset {} signed mismatch", m_offset);
|
||||
env.func->warnings.warning("Stack slot offset {} signed mismatch", m_offset);
|
||||
}
|
||||
|
||||
auto& loaded_type = input.get_slot(m_offset);
|
||||
@@ -1453,8 +1452,8 @@ TypeState StackSpillStoreOp::propagate_types_internal(const TypeState& input,
|
||||
DecompilerTypeSystem& dts) {
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot store mismatch: defined as size {}, got size {}\n", info.size, m_size);
|
||||
env.func->warnings.error("Stack slot store mismatch: defined as size {}, got size {}\n",
|
||||
info.size, m_size);
|
||||
}
|
||||
|
||||
auto stored_type = m_value.get_type(input, env, dts);
|
||||
|
||||
@@ -2162,7 +2162,7 @@ void SimpleExpressionElement::update_from_stack_subu_l32_s7(const Env& env,
|
||||
auto arg = pop_to_forms({var}, env, pool, stack, allow_side_effects).at(0);
|
||||
auto type = env.get_types_before_op(var.idx()).get(var.reg()).typespec();
|
||||
if (type != TypeSpec("handle")) {
|
||||
env.func->warnings.general_warning(
|
||||
env.func->warnings.warning(
|
||||
".subu (32-bit) used on a {} at idx {}. This probably should be a handle.", type.print(),
|
||||
var.idx());
|
||||
}
|
||||
@@ -3618,7 +3618,7 @@ void UntilElement::push_to_stack(const Env& env, FormPool& pool, FormStack& stac
|
||||
|
||||
stack.push_form_element(this, true);
|
||||
if (false_destination) {
|
||||
env.func->warnings.general_warning("new jak 2 until loop case, check carefully");
|
||||
env.func->warnings.warning("new jak 2 until loop case, check carefully");
|
||||
stack.push_value_to_reg(*false_destination,
|
||||
pool.form<SimpleAtomElement>(SimpleAtom::make_sym_val("#f")), true,
|
||||
TypeSpec("symbol"));
|
||||
@@ -5695,7 +5695,7 @@ bool try_vector_reset_inline(const Env& env,
|
||||
// the function that attempts the pop.
|
||||
auto store_var = form_as_ra(store);
|
||||
if (!store_var) {
|
||||
env.func->warnings.general_warning("Almost found vector reset, but couldn't get store var.");
|
||||
env.func->warnings.warning("Almost found vector reset, but couldn't get store var.");
|
||||
// stack.push_form_element(new_thing->elts().at(0), true);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -397,7 +397,7 @@ std::optional<RegisterAccess> rewrite_to_get_var(std::vector<FormElement*>& defa
|
||||
|
||||
auto cast = last_op_as_set->required_cast(env);
|
||||
if (cast && cast == TypeSpec("none")) {
|
||||
env.func->warnings.general_warning(
|
||||
env.func->warnings.warning(
|
||||
"rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: {}]",
|
||||
last_op_as_set->dst().idx());
|
||||
cast = std::nullopt;
|
||||
|
||||
@@ -209,7 +209,7 @@ struct UseDefInfo {
|
||||
for (auto& x : defs) {
|
||||
if (x.op_id == op_id) {
|
||||
if (x.disabled) {
|
||||
warnings.general_warning(
|
||||
warnings.warning(
|
||||
"disable def twice: {}. This may happen when a cond (no else) is nested inside of "
|
||||
"another conditional, but it should be rare.",
|
||||
x.op_id);
|
||||
|
||||
@@ -428,7 +428,7 @@ void ObjectFileDB::ir2_stack_spill_slot_pass(int seg, ObjectFileData& data) {
|
||||
auto spill_map = build_spill_map(func.instructions, {func.prologue_end, func.epilogue_start});
|
||||
func.ir2.env.set_stack_spills(spill_map);
|
||||
} catch (std::exception& e) {
|
||||
func.warnings.general_warning("stack spill failed: {}", e.what());
|
||||
func.warnings.warning("stack spill failed: {}", e.what());
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -465,7 +465,7 @@ void ObjectFileDB::ir2_atomic_op_pass(int seg, const Config& config, ObjectFileD
|
||||
} catch (std::exception& e) {
|
||||
lg::warn("Function {} from {} could not be converted to atomic ops: {}", func.name(),
|
||||
data.to_unique_name(), e.what());
|
||||
func.warnings.general_warning("Failed to convert to atomic ops: {}", e.what());
|
||||
func.warnings.error("Failed to convert to atomic ops: {}", e.what());
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -533,11 +533,11 @@ void ObjectFileDB::ir2_type_analysis_pass(int seg, const Config& config, ObjectF
|
||||
if (run_type_analysis_ir2(ts, dts, func)) {
|
||||
func.ir2.env.types_succeeded = true;
|
||||
} else {
|
||||
func.warnings.type_prop_warning("Type analysis failed");
|
||||
func.warnings.error("Type Propagation failed: Type analysis failed");
|
||||
}
|
||||
} else {
|
||||
lg::warn("Function {} didn't know its type", func.name());
|
||||
func.warnings.type_prop_warning("Function {} has unknown type", func.name());
|
||||
func.warnings.error("Function {} has unknown type", func.name());
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -567,7 +567,7 @@ void ObjectFileDB::ir2_register_usage_pass(int seg, ObjectFileData& data) {
|
||||
for (auto& x : dep_regs) {
|
||||
if ((x.get_kind() == Reg::VF && x.get_vf() != 0) || x.get_kind() == Reg::SPECIAL) {
|
||||
lg::error("Bad vf dependency on {} in {}", x.to_charp(), func.name());
|
||||
func.warnings.bad_vf_dependency("{}", x.to_string());
|
||||
func.warnings.error("Bad vector register dependency: {}", x.to_string());
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -581,8 +581,7 @@ void ObjectFileDB::ir2_register_usage_pass(int seg, ObjectFileData& data) {
|
||||
}
|
||||
|
||||
lg::error("Bad register dependency on {} in {}", x.to_charp(), func.name());
|
||||
func.warnings.general_warning("Function may read a register that is not set: {}",
|
||||
x.to_string());
|
||||
func.warnings.error("Function may read a register that is not set: {}", x.to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -619,7 +618,7 @@ void ObjectFileDB::ir2_cfg_build_pass(int seg, ObjectFileData& data) {
|
||||
try {
|
||||
build_initial_forms(func);
|
||||
} catch (std::exception& e) {
|
||||
func.warnings.general_warning("Failed to structure: {}", e.what());
|
||||
func.warnings.error("Failed to structure: {}", e.what());
|
||||
func.ir2.top_form = nullptr;
|
||||
}
|
||||
}
|
||||
@@ -664,7 +663,7 @@ void ObjectFileDB::ir2_insert_lets(int seg, ObjectFileData& data) {
|
||||
"none if something is actually returned.",
|
||||
e.what());
|
||||
lg::warn(err);
|
||||
func.warnings.general_warning(err);
|
||||
func.warnings.error(err);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -688,7 +687,7 @@ void ObjectFileDB::ir2_insert_anonymous_functions(int seg, ObjectFileData& data)
|
||||
try {
|
||||
insert_static_refs(func.ir2.top_form, *func.ir2.form_pool, func, dts);
|
||||
} catch (std::exception& e) {
|
||||
func.warnings.general_warning("Failed static ref finding: {}\n", e.what());
|
||||
func.warnings.error("Failed static ref finding: {}\n", e.what());
|
||||
lg::error("Function {} failed static ref: {}\n", func.name(), e.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2095,7 +2095,7 @@ int convert_block_to_atomic_ops(int begin_idx,
|
||||
std::unique_ptr<AtomicOp> op;
|
||||
|
||||
if (instr[0].kind == InstructionKind::SQ || instr[0].kind == InstructionKind::LQ) {
|
||||
warnings.warn_sq_lq();
|
||||
warnings.unique_info("Used lq/sq");
|
||||
}
|
||||
|
||||
if (!converted && n_instr >= 12) {
|
||||
|
||||
@@ -1454,7 +1454,7 @@ Form* try_sc_as_type_of_jak2(FormPool& pool, Function& f, const ShortCircuit* vt
|
||||
f.ir2.env.disable_def(b2_delay_op.dst(), f.warnings);
|
||||
f.ir2.env.disable_use(shift_left->expr().get_arg(0).var());
|
||||
|
||||
f.warnings.general_warning("Using new Jak 2 rtype-of");
|
||||
f.warnings.warning("Using new Jak 2 rtype-of");
|
||||
return b0_ptr;
|
||||
}
|
||||
|
||||
@@ -2046,7 +2046,7 @@ void build_initial_forms(Function& function) {
|
||||
|
||||
function.ir2.top_form = result;
|
||||
} catch (std::runtime_error& e) {
|
||||
function.warnings.general_warning(e.what());
|
||||
function.warnings.error(e.what());
|
||||
lg::warn("Failed to build initial forms in {}: {}", function.name(), e.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,13 +158,13 @@ bool convert_to_expressions(
|
||||
"Function {} has a return type of none, but the expression builder found a return "
|
||||
"statement.",
|
||||
f.name());
|
||||
f.warnings.expression_build_warning(warn);
|
||||
f.warnings.warning(warn);
|
||||
lg::warn(warn);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (std::exception& e) {
|
||||
f.warnings.expression_build_warning("In {}: {}", f.name(), e.what());
|
||||
f.warnings.error("Expression building failed: In {}: {}", f.name(), e.what());
|
||||
lg::warn("In {}: {}", f.name(), e.what());
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ L82:
|
||||
auto& first_word = words.at(start_word_idx);
|
||||
if (first_word.kind() != LinkedWord::TYPE_PTR ||
|
||||
first_word.symbol_name() != "sparticle-launch-group") {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Reference to sparticle-launch-group bad: invalid type pointer");
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ L82:
|
||||
|
||||
auto& string_word = words.at(start_word_idx + 3);
|
||||
if (string_word.kind() != LinkedWord::PTR) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Reference to sparticle-launch-group bad: invalid name label");
|
||||
}
|
||||
group.name = env.file->get_goal_string_by_label(
|
||||
@@ -66,7 +66,7 @@ L82:
|
||||
|
||||
auto& array_word = words.at(start_word_idx + 4);
|
||||
if (array_word.kind() != LinkedWord::PTR) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Reference to sparticle-launch-group bad: invalid array label");
|
||||
}
|
||||
auto& array_lab = env.file->get_label_by_name(env.file->get_label_name(array_word.label_id()));
|
||||
@@ -90,7 +90,7 @@ L82:
|
||||
for (int i = 0; i < 4; i++) {
|
||||
auto& word = words.at(start_word_idx + 8 + i);
|
||||
if (word.kind() != LinkedWord::PLAIN_DATA) {
|
||||
env.func->warnings.warn_and_throw("Reference to sparticle-launch-group bad: invalid bounds");
|
||||
env.func->warnings.error_and_throw("Reference to sparticle-launch-group bad: invalid bounds");
|
||||
}
|
||||
group.bounds[i] = *reinterpret_cast<float*>(&word.data);
|
||||
}
|
||||
@@ -124,19 +124,19 @@ L80:
|
||||
auto& first_word = words.at(start_word_idx);
|
||||
if (first_word.kind() != LinkedWord::TYPE_PTR ||
|
||||
first_word.symbol_name() != "sparticle-launcher") {
|
||||
env.func->warnings.warn_and_throw("Reference to sparticle-launcher bad: invalid type pointer");
|
||||
env.func->warnings.error_and_throw("Reference to sparticle-launcher bad: invalid type pointer");
|
||||
}
|
||||
|
||||
auto& empty1 = words.at(start_word_idx + 1);
|
||||
auto& empty2 = words.at(start_word_idx + 2);
|
||||
if (empty1.kind() != LinkedWord::PLAIN_DATA || empty1.data != 0 ||
|
||||
empty2.kind() != LinkedWord::PLAIN_DATA || empty2.data != 0) {
|
||||
env.func->warnings.warn_and_throw("Reference to sparticle-launcher bad: accums not empty");
|
||||
env.func->warnings.error_and_throw("Reference to sparticle-launcher bad: accums not empty");
|
||||
}
|
||||
|
||||
auto& array_word = words.at(start_word_idx + 3);
|
||||
if (array_word.kind() != LinkedWord::PTR) {
|
||||
env.func->warnings.warn_and_throw("Reference to sparticle-launcher bad: invalid array label");
|
||||
env.func->warnings.error_and_throw("Reference to sparticle-launcher bad: invalid array label");
|
||||
}
|
||||
auto& array_lab = env.file->get_label_by_name(env.file->get_label_name(array_word.label_id()));
|
||||
auto& array_words = env.file->words_by_seg.at(array_lab.target_segment);
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace {
|
||||
std::pair<std::string, TypeSpec> get_state_info(FormElement* state_set, const Env& env) {
|
||||
auto sff = dynamic_cast<SetFormFormElement*>(state_set);
|
||||
if (!sff) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Failed to identify defstate. The state symbol set was supposed to be: {}, but "
|
||||
"this doesn't look like a set.",
|
||||
state_set->to_string(env));
|
||||
@@ -29,7 +29,7 @@ std::pair<std::string, TypeSpec> get_state_info(FormElement* state_set, const En
|
||||
|
||||
auto atom = form_as_atom(sff->dst());
|
||||
if (!atom || atom->get_kind() != SimpleAtom::Kind::SYMBOL_VAL) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Failed to identify defstate. The state symbol set was: {}, which doesn't set a symbol",
|
||||
state_set->to_string(env));
|
||||
}
|
||||
@@ -38,25 +38,25 @@ std::pair<std::string, TypeSpec> get_state_info(FormElement* state_set, const En
|
||||
|
||||
auto type = env.dts->symbol_types.find(state_name);
|
||||
if (type == env.dts->symbol_types.end()) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Identified a defstate for state {}, but there is no type information for this state.",
|
||||
state_name);
|
||||
}
|
||||
|
||||
if (type->second.base_type() != "state") {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Identified a defstate for state {}, but our type information thinks it is a {}, not a "
|
||||
"state.",
|
||||
state_name, type->second.print());
|
||||
}
|
||||
|
||||
if (type->second.arg_count() == 0) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Identified a defstate for state {}, but there is no argument information.", state_name);
|
||||
}
|
||||
|
||||
if (type->second.last_arg() == TypeSpec("none")) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Identified a defstate for state {}, but the process type is none. You must "
|
||||
"provide a process type as the final argument of a state",
|
||||
state_name);
|
||||
@@ -88,7 +88,7 @@ std::vector<DefstateElement::Entry> get_defstate_entries(
|
||||
auto mr = match(matcher, &temp);
|
||||
|
||||
if (!mr.matched) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"In defstate for state {}, failed to recognize handler set: {}", state_name,
|
||||
temp.to_string(env));
|
||||
}
|
||||
@@ -107,9 +107,9 @@ std::vector<DefstateElement::Entry> get_defstate_entries(
|
||||
|
||||
if (!var || env.get_variable_name(*var) != env.get_variable_name(let_dest_var)) {
|
||||
if (var) {
|
||||
env.func->warnings.warn_and_throw("Messed up defstate. State is in {}, but we set {}",
|
||||
env.get_variable_name(let_dest_var),
|
||||
env.get_variable_name(*var));
|
||||
env.func->warnings.error_and_throw("Messed up defstate. State is in {}, but we set {}",
|
||||
env.get_variable_name(let_dest_var),
|
||||
env.get_variable_name(*var));
|
||||
} else {
|
||||
ASSERT(false);
|
||||
}
|
||||
@@ -125,7 +125,7 @@ std::vector<DefstateElement::Entry> get_defstate_entries(
|
||||
if (handler_atom && handler_atom->is_label()) {
|
||||
auto handler_func = env.file->try_get_function_at_label(handler_atom->label());
|
||||
if (!handler_func) {
|
||||
env.func->warnings.warn_and_throw("Failed to find handler function.");
|
||||
env.func->warnings.error_and_throw("Failed to find handler function.");
|
||||
}
|
||||
|
||||
this_entry.is_behavior = true;
|
||||
@@ -161,8 +161,8 @@ std::vector<DefstateElement::Entry> get_defstate_entries(
|
||||
if (skip_states.count(name_to_check_for_skip) > 0) {
|
||||
if (skip_states.at(name_to_check_for_skip).find(name) !=
|
||||
skip_states.at(name_to_check_for_skip).end()) {
|
||||
env.func->warnings.general_warning("SKIP: skipping '{}' handler for state '{}'", name,
|
||||
name_to_check_for_skip);
|
||||
env.func->warnings.warning("SKIP: skipping '{}' handler for state '{}'", name,
|
||||
name_to_check_for_skip);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -186,7 +186,7 @@ FormElement* rewrite_nonvirtual_defstate(
|
||||
auto first_in_body = elt->body()->at(body_index);
|
||||
auto info = get_state_info(first_in_body, env);
|
||||
if (info.first != expected_state_name) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Inconsistent defstate name. code has {}, static state has {}", info.first,
|
||||
expected_state_name);
|
||||
}
|
||||
@@ -237,18 +237,18 @@ std::string verify_empty_state_and_get_name(DecompiledDataElement* state, const
|
||||
|
||||
auto first_word = words.at(start_word_idx);
|
||||
if (first_word.kind() != LinkedWord::TYPE_PTR || first_word.symbol_name() != "state") {
|
||||
env.func->warnings.warn_and_throw("Reference to state bad: invalid type pointer");
|
||||
env.func->warnings.error_and_throw("Reference to state bad: invalid type pointer");
|
||||
}
|
||||
|
||||
auto name_word = words.at(start_word_idx + 1);
|
||||
if (name_word.kind() != LinkedWord::SYM_PTR) {
|
||||
env.func->warnings.warn_and_throw("Reference to state bad: invalid name");
|
||||
env.func->warnings.error_and_throw("Reference to state bad: invalid name");
|
||||
}
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
auto& word = words.at(start_word_idx + 2 + i);
|
||||
if (word.kind() != LinkedWord::SYM_PTR || word.symbol_name() != "#f") {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Reference to state bad: got a non #f in the initial fields");
|
||||
}
|
||||
}
|
||||
@@ -297,7 +297,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
auto parent_state = inherit_mr.maps.forms.at(1);
|
||||
|
||||
if (env.get_variable_name(state_var_from_let_def) != env.get_variable_name(state_var)) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Variable name disagreement in virtual defstate: began with {}, but did method "
|
||||
"set using {}",
|
||||
env.get_variable_name(state_var_from_let_def), env.get_variable_name(state_var));
|
||||
@@ -307,7 +307,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
// let's warn here instead of trying to go on.
|
||||
auto parent_state_cast = parent_state->try_as_element<CastElement>();
|
||||
if (parent_state_cast) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"virtual defstate attempted on something that isn't a state: {}\nDid you "
|
||||
"forget to put :state in the method definition?",
|
||||
parent_state_cast->to_string(env));
|
||||
@@ -318,7 +318,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
{Matcher::any_symbol(0), Matcher::any_constant_token(1)});
|
||||
auto mot_mr = match(mot_matcher, parent_state);
|
||||
if (!mot_mr.matched) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Failed to recognize virtual defstate. Got a {} as the parent to inherit from.",
|
||||
parent_state->to_string(env));
|
||||
}
|
||||
@@ -338,7 +338,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
{Matcher::any_symbol(0), Matcher::any_integer(1), Matcher::any(2)});
|
||||
auto mset_mr = match(mset_matcher, &temp);
|
||||
if (!mset_mr.matched) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Failed to recognize virtual defstate. Got a {} as the second thing, but was "
|
||||
"expecting method-set! call",
|
||||
temp.to_string(env));
|
||||
@@ -351,7 +351,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
// should be the state again.
|
||||
auto val = strip_cast(mset_mr.maps.forms.at(2)->try_as_single_element());
|
||||
if (val->to_string(env) != env.get_variable_name(state_var_from_let_def)) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Variable name disagreement in virtual defstate: began with {}, but did method "
|
||||
"set using {}",
|
||||
val->to_string(env), env.get_variable_name(state_var_from_let_def));
|
||||
@@ -361,7 +361,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
auto method_info = env.dts->ts.lookup_method(type_name, method_id);
|
||||
if (method_info.type.base_type() != "state" ||
|
||||
method_info.type.last_arg().base_type() != "_type_") {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Virtual defstate is defining a virtual state in method {} of {}, but the type "
|
||||
"of this method is {}, which is not a valid virtual state type (must be "
|
||||
"\"(state ... _type_)\")",
|
||||
@@ -383,7 +383,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
}
|
||||
} else {
|
||||
if (inherit_info) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Virtual defstate for state {} in type {}: the state wasn't defined in the "
|
||||
"parent but was inherited.",
|
||||
expected_state_name, type_name);
|
||||
@@ -395,7 +395,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
if (inherit_info) {
|
||||
auto child_type_info = env.dts->ts.lookup_type(type_name);
|
||||
if (child_type_info->get_parent() != inherit_info->parent_type_name) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Parent type disagreement in virtual defstate. The state is inherited from {}, but the "
|
||||
"parent is {}",
|
||||
inherit_info->parent_type_name, child_type_info->get_parent());
|
||||
@@ -403,7 +403,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
|
||||
auto parent_method_info = env.dts->ts.lookup_method(inherit_info->parent_type_name, method_id);
|
||||
if (parent_method_info.name != inherit_info->method_name) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Disagreement between inherit and define. We inherited from method {}, but redefine {}",
|
||||
inherit_info->method_name, parent_method_info.name);
|
||||
}
|
||||
@@ -412,7 +412,7 @@ FormElement* rewrite_virtual_defstate(
|
||||
// name matches
|
||||
|
||||
if (expected_state_name != method_info.name) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Disagreement between state name and type system name. The state is named {}, "
|
||||
"but the slot is named {}, defined in type {}",
|
||||
expected_state_name, method_info.name, method_info.defined_in_type);
|
||||
|
||||
@@ -14,12 +14,12 @@ namespace {
|
||||
std::string get_skelgroup_name(FormElement* skel_set, const Env& env) {
|
||||
auto sff = dynamic_cast<SetFormFormElement*>(skel_set);
|
||||
if (!sff || !skel_set) {
|
||||
env.func->warnings.warn_and_throw("Failed to identify defskelgroup.");
|
||||
env.func->warnings.error_and_throw("Failed to identify defskelgroup.");
|
||||
}
|
||||
|
||||
auto atom = form_as_atom(sff->dst());
|
||||
if (!atom || atom->get_kind() != SimpleAtom::Kind::SYMBOL_VAL) {
|
||||
env.func->warnings.warn_and_throw(
|
||||
env.func->warnings.error_and_throw(
|
||||
"Failed to identify defskelgroup. The skeleton-group symbol set was: {}, which doesn't set "
|
||||
"a symbol",
|
||||
skel_set->to_string(env));
|
||||
@@ -62,34 +62,34 @@ DefskelgroupElement::StaticInfo inspect_skel_group_data(DecompiledDataElement* s
|
||||
|
||||
auto& type_word = words.at(start_word_idx - 1);
|
||||
if (type_word.kind() != LinkedWord::TYPE_PTR || type_word.symbol_name() != "skeleton-group") {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid type pointer");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid type pointer");
|
||||
}
|
||||
auto& string_word = words.at(start_word_idx);
|
||||
if (string_word.kind() != LinkedWord::PTR) {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid name label");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid name label");
|
||||
}
|
||||
result.art_name = env.file->get_goal_string_by_label(
|
||||
env.file->get_label_by_name(env.file->get_label_name(string_word.label_id())));
|
||||
for (int i = 0; i < 4; i++) {
|
||||
auto& word = words.at(start_word_idx + 3 + i);
|
||||
if (word.kind() != LinkedWord::PLAIN_DATA) {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid bounds");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid bounds");
|
||||
}
|
||||
result.bounds[i] = *reinterpret_cast<float*>(&word.data);
|
||||
}
|
||||
auto& lod_word = words.at(start_word_idx + 9);
|
||||
if (lod_word.kind() != LinkedWord::PLAIN_DATA) {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid max-lod");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid max-lod");
|
||||
}
|
||||
result.max_lod = lod_word.data;
|
||||
auto& edge_word = words.at(start_word_idx + 14);
|
||||
if (edge_word.kind() != LinkedWord::PLAIN_DATA) {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid longest-edge");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid longest-edge");
|
||||
}
|
||||
result.longest_edge = *reinterpret_cast<float*>(&edge_word.data);
|
||||
auto& other_word = words.at(start_word_idx + 15);
|
||||
if (other_word.kind() != LinkedWord::PLAIN_DATA) {
|
||||
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid other data");
|
||||
env.func->warnings.error_and_throw("Reference to skelgroup bad: invalid other data");
|
||||
}
|
||||
result.tex_level = other_word.get_byte(0);
|
||||
result.version = other_word.get_byte(1);
|
||||
@@ -99,7 +99,7 @@ DefskelgroupElement::StaticInfo inspect_skel_group_data(DecompiledDataElement* s
|
||||
for (auto i : empty_words) {
|
||||
auto& word = words.at(start_word_idx + i);
|
||||
if (word.data != LinkedWord::PLAIN_DATA || word.data != 0) {
|
||||
env.func->warnings.warn_and_throw(fmt::format("Reference to skelgroup bad: set word {}", i));
|
||||
env.func->warnings.error_and_throw(fmt::format("Reference to skelgroup bad: set word {}", i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ DefskelgroupElement::Info get_defskelgroup_entries(Form* body,
|
||||
auto mr = match(matcher, &temp);
|
||||
|
||||
if (!mr.matched) {
|
||||
env.func->warnings.warn_and_throw("defskelgroup set no match");
|
||||
env.func->warnings.error_and_throw("defskelgroup set no match");
|
||||
}
|
||||
|
||||
auto& var = mr.maps.regs.at(0);
|
||||
@@ -138,9 +138,9 @@ DefskelgroupElement::Info get_defskelgroup_entries(Form* body,
|
||||
|
||||
if (!var || env.get_variable_name(*var) != env.get_variable_name(let_dest_var)) {
|
||||
if (var) {
|
||||
env.func->warnings.warn_and_throw("Messed up defskelgroup. It is in {}, but we set {}",
|
||||
env.get_variable_name(let_dest_var),
|
||||
env.get_variable_name(*var));
|
||||
env.func->warnings.error_and_throw("Messed up defskelgroup. It is in {}, but we set {}",
|
||||
env.get_variable_name(let_dest_var),
|
||||
env.get_variable_name(*var));
|
||||
} else {
|
||||
ASSERT(false);
|
||||
}
|
||||
@@ -171,8 +171,8 @@ FormElement* rewrite_defskelgroup(LetElement* elt,
|
||||
|
||||
int last_lod = (elt->body()->size() - 3) / 2 - 1;
|
||||
if (last_lod > skelgroup_info.max_lod) {
|
||||
env.func->warnings.warn_and_throw("defskelgroup exceeds max-lod of {} ({})",
|
||||
skelgroup_info.max_lod, last_lod);
|
||||
env.func->warnings.error_and_throw("defskelgroup exceeds max-lod of {} ({})",
|
||||
skelgroup_info.max_lod, last_lod);
|
||||
}
|
||||
|
||||
auto rest_info = get_defskelgroup_entries(elt->body(), env, elt->entries().at(0).dest);
|
||||
|
||||
@@ -41,8 +41,8 @@ bool rewrite_inline_asm_instructions(Form* top_level_form,
|
||||
// If its an invalid or unsupported exception, skip it
|
||||
/*lg::warn("[ASM Re-Write] - Unsupported inline assembly instruction kind - [{}]",
|
||||
asmOp.instr.kind);*/
|
||||
f.warnings.general_warning("Unsupported inline assembly instruction kind - [{}]",
|
||||
asmOp.m_instr.to_string(f.ir2.env.file->labels));
|
||||
f.warnings.error("Unsupported inline assembly instruction kind - [{}]",
|
||||
asmOp.m_instr.to_string(f.ir2.env.file->labels));
|
||||
new_entries.push_back(entry);
|
||||
continue;
|
||||
} else if (asmOp.skip) {
|
||||
@@ -51,8 +51,8 @@ bool rewrite_inline_asm_instructions(Form* top_level_form,
|
||||
// If its an invalid or unsupported exception, skip it
|
||||
/*lg::warn("[ASM Re-Write] - Inline assembly instruction marked with TODO - [{}]",
|
||||
asmOp.full_function_name());*/
|
||||
f.warnings.general_warning("Inline assembly instruction marked with TODO - [{}]",
|
||||
asmOp.full_function_name());
|
||||
f.warnings.error("Inline assembly instruction marked with TODO - [{}]",
|
||||
asmOp.full_function_name());
|
||||
}
|
||||
|
||||
// If we've made it this far, it's an AsmOperation that is also a supported vector
|
||||
@@ -87,7 +87,7 @@ bool rewrite_inline_asm_instructions(Form* top_level_form,
|
||||
std::string warning =
|
||||
fmt::format("ASM instruction re-writing failed in {}: {}", f.name(), e.what());
|
||||
lg::warn(warning);
|
||||
f.warnings.general_warning(";; {}", warning);
|
||||
f.warnings.error(";; {}", warning);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -55,8 +55,7 @@ void find_functions(LabelDB* db, LinkedObjectFile* file) {
|
||||
int offset_of_function = func.start_word * 4 + 4;
|
||||
auto idx_of_label = db->try_get_index_by_offset(seg, offset_of_function);
|
||||
if (!idx_of_label) {
|
||||
func.warnings.general_warning("Could not find any references to this function: {}",
|
||||
func.name());
|
||||
func.warnings.error("Could not find any references to this function: {}", func.name());
|
||||
} else {
|
||||
auto old = db->set_and_get_previous(*idx_of_label, func.type, false, {});
|
||||
if (old.known) {
|
||||
|
||||
@@ -128,8 +128,8 @@ bool run_type_analysis_ir2(const TypeSpec& my_type, DecompilerTypeSystem& dts, F
|
||||
op_types.at(op_id) = op->propagate_types(*init_types, func.ir2.env, dts);
|
||||
} catch (std::runtime_error& e) {
|
||||
lg::warn("Function {} failed type prop at op {}: {}", func.name(), op_id, e.what());
|
||||
func.warnings.type_prop_warning("Failed type prop at op {} ({}): {}", op_id,
|
||||
op->to_string(func.ir2.env), e.what());
|
||||
func.warnings.error("Type Propagation failed: Failed type prop at op {} ({}): {}", op_id,
|
||||
op->to_string(func.ir2.env), e.what());
|
||||
func.ir2.env.set_types(block_init_types, op_types, *func.ir2.atomic_ops, my_type);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -193,8 +193,10 @@ void WorkspaceIRFile::identify_diagnostics(const uint32_t line_num_zero_based,
|
||||
const std::string& line) {
|
||||
std::regex info_regex(";; INFO: (.*)");
|
||||
std::regex warn_regex(";; WARN: (.*)");
|
||||
std::regex error_regex(";; ERROR: (.*)");
|
||||
std::smatch info_matches;
|
||||
std::smatch warn_matches;
|
||||
std::smatch error_matches;
|
||||
|
||||
LSPSpec::Range diag_range;
|
||||
diag_range.m_start = {line_num_zero_based, 0};
|
||||
@@ -222,6 +224,21 @@ void WorkspaceIRFile::identify_diagnostics(const uint32_t line_num_zero_based,
|
||||
auto match = warn_matches[1];
|
||||
lg::debug("Found warn-level diagnostic - {}", match.str());
|
||||
LSPSpec::Diagnostic new_diag;
|
||||
new_diag.m_severity = LSPSpec::DiagnosticSeverity::Warning;
|
||||
new_diag.m_message = match.str();
|
||||
new_diag.m_range = diag_range;
|
||||
new_diag.m_source = "OpenGOAL LSP";
|
||||
m_diagnostics.push_back(new_diag);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Check for a error level warnings
|
||||
if (std::regex_search(line, error_matches, error_regex)) {
|
||||
// NOTE - assumes we can only find 1 function per line
|
||||
if (error_matches.size() == 2) {
|
||||
auto match = error_matches[1];
|
||||
lg::debug("Found error-level diagnostic - {}", match.str());
|
||||
LSPSpec::Diagnostic new_diag;
|
||||
new_diag.m_severity = LSPSpec::DiagnosticSeverity::Error;
|
||||
new_diag.m_message = match.str();
|
||||
new_diag.m_range = diag_range;
|
||||
|
||||
+8
-8
@@ -167,7 +167,7 @@
|
||||
)
|
||||
|
||||
;; definition for function level-hint-task-process
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun level-hint-task-process ((arg0 entity) (arg1 uint128) (arg2 string))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(let ((gp-0 (res-lump-value arg0 'text-id int :default arg1))
|
||||
@@ -720,8 +720,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ambient-type-sound
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun ambient-type-sound ((arg0 drawable-ambient) (arg1 vector))
|
||||
(local-vars (sv-16 string) (sv-112 res-tag))
|
||||
(let* ((s5-0 (-> arg0 ambient))
|
||||
@@ -788,8 +788,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ambient-type-sound-loop
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun ambient-type-sound-loop ((arg0 drawable-ambient) (arg1 vector))
|
||||
(let* ((s5-0 (-> arg0 ambient))
|
||||
(s2-0 (symbol->string (the-as symbol (-> s5-0 ambient-data user-float 2))))
|
||||
@@ -819,8 +819,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ambient-type-light
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun ambient-type-light ((arg0 drawable-ambient) (arg1 vector))
|
||||
(when *target*
|
||||
(let ((s4-0 (-> arg0 ambient))
|
||||
@@ -865,8 +865,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ambient-type-dark
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun ambient-type-dark ((arg0 drawable-ambient) (arg1 vector))
|
||||
(when *target*
|
||||
(let ((s4-0 (-> arg0 ambient))
|
||||
@@ -912,8 +912,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ambient-type-weather-off
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun ambient-type-weather-off ((arg0 drawable-ambient) (arg1 vector))
|
||||
(when *target*
|
||||
(let ((s4-0 (-> arg0 ambient))
|
||||
@@ -1025,8 +1025,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 28 of type entity-ambient
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch entity-ambient vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod birth-ambient! entity-ambient ((obj entity-ambient))
|
||||
(set! (-> obj ambient-data quad) (the-as uint128 0))
|
||||
(set! (-> obj ambient-data function) ambient-type-error)
|
||||
@@ -1134,8 +1134,8 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 27 of type entity-ambient
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod draw-debug entity-ambient ((obj entity-ambient))
|
||||
(local-vars (sv-16 uint128))
|
||||
(let ((gp-0 (-> obj trans))
|
||||
|
||||
+1
-1
@@ -291,8 +291,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-erase-color2
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-erase-color2 ((arg0 mood-fog) (arg1 mood-lights) (arg2 mood-lights))
|
||||
(let ((s5-0 (-> arg0 erase-color)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'mood-fog)))
|
||||
|
||||
+15
-15
@@ -10,8 +10,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-light-kit
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch float vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-light-kit ((arg0 light-group) (arg1 light) (arg2 float))
|
||||
(set! (-> arg0 ambi color quad) (-> arg1 color quad))
|
||||
(set! (-> arg0 ambi levels x) (* (-> arg1 levels x) arg2))
|
||||
@@ -30,9 +30,9 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-itimes
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun update-mood-itimes ((arg0 mood-context))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -142,7 +142,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-prt-color
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-prt-color ((arg0 mood-context))
|
||||
(let* ((v1-0 (-> arg0 light-group))
|
||||
(s4-0 (-> v1-0 0 ambi color))
|
||||
@@ -161,7 +161,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-palette
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-palette ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(let ((v1-0 (-> arg0 light-group)))
|
||||
(set! (-> v1-0 0 dir0 levels x) 0.0)
|
||||
@@ -243,7 +243,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-sky-texture
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-sky-texture ((arg0 mood-context) (arg1 float))
|
||||
(dotimes (v1-0 8)
|
||||
(set! (-> arg0 sky-times v1-0) 0.0)
|
||||
@@ -315,7 +315,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-quick
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-quick ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 int))
|
||||
(let ((v1-0 (-> arg0 light-group)))
|
||||
(set! (-> arg0 current-fog fog-color quad) (-> arg0 mood-fog-table data arg1 fog-color quad))
|
||||
@@ -360,7 +360,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-interp
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-interp ((arg0 mood-context) (arg1 mood-context) (arg2 mood-context) (arg3 float))
|
||||
(local-vars (sv-16 light))
|
||||
(cond
|
||||
@@ -621,8 +621,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-lightning
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-lightning ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 float) (arg6 symbol))
|
||||
(local-vars (a3-2 (array float)))
|
||||
(with-pp
|
||||
@@ -1061,8 +1061,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-village2
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-village2 ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(update-mood-fog arg0 arg1)
|
||||
(update-mood-sky-texture arg0 arg1)
|
||||
@@ -1433,8 +1433,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-jungleb
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-jungleb ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(update-mood-sky-texture arg0 arg1)
|
||||
(clear-mood-times arg0)
|
||||
@@ -1617,8 +1617,8 @@
|
||||
(set! (-> *sunken-mood* state 0) (the-as uint 255))
|
||||
|
||||
;; definition for function update-mood-sunken
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-sunken ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(local-vars (sv-80 vector))
|
||||
(when (not (paused?))
|
||||
@@ -2008,8 +2008,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-darkcave
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-darkcave ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(when (not (paused?))
|
||||
(clear-mood-times arg0)
|
||||
@@ -2487,8 +2487,8 @@
|
||||
)
|
||||
|
||||
;; definition for function update-mood-ogre
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun update-mood-ogre ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(update-mood-fog arg0 arg1)
|
||||
(update-mood-sky-texture arg0 arg1)
|
||||
@@ -2888,7 +2888,7 @@
|
||||
(set! (-> *citadel-mood* state 4) (the-as uint 255))
|
||||
|
||||
;; definition for function update-mood-citadel
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-mood-citadel ((arg0 mood-context) (arg1 float) (arg2 int))
|
||||
(clear-mood-times arg0)
|
||||
(set! (-> arg0 times 0 w) 1.0)
|
||||
|
||||
+3
-3
@@ -2,9 +2,9 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 9 of type align-control
|
||||
;; WARN: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [jr ra]
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
|
||||
(defmethod compute-alignment! align-control ((obj align-control))
|
||||
(local-vars (a0-9 symbol) (s7-0 none) (ra-0 int))
|
||||
(with-pp
|
||||
|
||||
+5
-5
@@ -146,11 +146,11 @@
|
||||
)
|
||||
|
||||
;; definition for function invalidate-cache-line
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a0, 0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a0, 1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin a0, 0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin a0, 1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun invalidate-cache-line ((arg0 pointer))
|
||||
(.sync.l)
|
||||
(.cache dxwbin arg0 0)
|
||||
|
||||
+9
-9
@@ -540,8 +540,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type art-mesh-geo
|
||||
;; WARN: Type Propagation failed: Failed type prop at op 20 ((set! v1 (l.h (+ s4 6)))): Could not get type of load: (set! v1 (l.h (+ s4 6))).
|
||||
;; WARN: Type Propagation failed: Type analysis failed
|
||||
;; ERROR: Type Propagation failed: Failed type prop at op 20 ((set! v1 (l.h (+ s4 6)))): Could not get type of load: (set! v1 (l.h (+ s4 6))).
|
||||
;; ERROR: Type Propagation failed: Type analysis failed
|
||||
(defmethod login art-mesh-geo ((a0-0 art-mesh-geo))
|
||||
(local-vars
|
||||
(v0-0 none)
|
||||
@@ -739,8 +739,8 @@
|
||||
)
|
||||
|
||||
;; definition for function joint-control-remap!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs object.
|
||||
;; Used lq/sq
|
||||
(defun joint-control-remap! ((arg0 joint-control) (arg1 art-group) (arg2 art-group) (arg3 pair) (arg4 int) (arg5 string))
|
||||
(local-vars
|
||||
(sv-16 int)
|
||||
@@ -799,7 +799,7 @@
|
||||
)
|
||||
|
||||
;; definition for function flatten-joint-control-to-spr
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun flatten-joint-control-to-spr ((arg0 joint-control))
|
||||
(rlet ((vf1 :class vf)
|
||||
(vf10 :class vf)
|
||||
@@ -1003,7 +1003,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-control-channel!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-from-control-channel! ((arg0 matrix) (arg1 joint) (arg2 joint-control-channel))
|
||||
(let ((s4-0 (-> arg2 frame-group))
|
||||
(s5-0 (-> arg1 number))
|
||||
@@ -1069,8 +1069,8 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-control!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch (inline-array matrix) vs matrix.
|
||||
;; Used lq/sq
|
||||
(defun matrix-from-control! ((arg0 matrix-stack) (arg1 joint) (arg2 joint-control) (arg3 symbol))
|
||||
(set! (-> arg0 top) (the-as matrix (-> arg0 data)))
|
||||
(dotimes (s2-0 (-> arg2 active-channels))
|
||||
@@ -1149,7 +1149,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cspace<-cspace!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cspace<-cspace! ((arg0 cspace) (arg1 cspace))
|
||||
(let ((v0-0 (-> arg0 bone transform)))
|
||||
(let* ((a2-0 (-> arg1 bone transform))
|
||||
@@ -1210,7 +1210,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cspace<-matrix-no-push-joint!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cspace<-matrix-no-push-joint! ((arg0 cspace) (arg1 joint-control))
|
||||
(let ((v1-2 (matrix-from-control!
|
||||
(the-as matrix-stack (+ 80 (the-as int (the-as terrain-context #x70000000))))
|
||||
@@ -1236,7 +1236,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cspace<-matrix-joint!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cspace<-matrix-joint! ((arg0 cspace) (arg1 matrix))
|
||||
(let ((v0-0 (-> arg0 bone transform)))
|
||||
(let* ((a2-0 arg1)
|
||||
|
||||
+1
-1
@@ -55,8 +55,8 @@
|
||||
)
|
||||
|
||||
;; definition for function camera-teleport-to-entity
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior camera-teleport-to-entity process ((arg0 entity-actor))
|
||||
(let ((gp-0 (new 'stack 'transformq)))
|
||||
(set! (-> gp-0 trans quad) (-> (the-as transform (-> arg0 extra)) scale quad))
|
||||
|
||||
+13
-13
@@ -286,6 +286,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-entity-volume-info-create
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
@@ -297,7 +298,6 @@
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; Used lq/sq
|
||||
(defbehavior cam-layout-entity-volume-info-create cam-layout ((arg0 entity-camera) (arg1 symbol))
|
||||
(local-vars
|
||||
(sv-16 res-tag)
|
||||
@@ -524,7 +524,7 @@
|
||||
)
|
||||
|
||||
;; definition for function v-slrp!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun v-slrp! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let ((s2-0 (new-stack-vector0))
|
||||
(s1-0 (new-stack-vector0))
|
||||
@@ -581,7 +581,7 @@
|
||||
)
|
||||
|
||||
;; definition for function interp-test
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun interp-test ((arg0 (function vector vector vector float vector float none)) (arg1 interp-test-info))
|
||||
(let ((s3-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
@@ -609,7 +609,7 @@
|
||||
)
|
||||
|
||||
;; definition for function interp-test-deg
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun interp-test-deg ((arg0 (function vector vector vector vector float none)) (arg1 interp-test-info))
|
||||
(let ((s3-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
@@ -637,7 +637,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-entity-info
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cam-layout-entity-info ((arg0 entity-actor))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -923,7 +923,7 @@
|
||||
)
|
||||
|
||||
;; definition for function clmf-input
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun clmf-input ((arg0 vector) (arg1 vector) (arg2 int))
|
||||
(vector-reset! arg0)
|
||||
(vector-reset! arg1)
|
||||
@@ -1017,7 +1017,7 @@
|
||||
)
|
||||
|
||||
;; definition for function clmf-pos-rot
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-pos-rot cam-layout ((arg0 symbol) (arg1 symbol))
|
||||
(local-vars (s2-0 structure) (s3-1 structure) (sv-192 matrix))
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "x/z pos: left stick, down: l1, up: r1")
|
||||
@@ -1264,7 +1264,7 @@
|
||||
)
|
||||
|
||||
;; definition for function clmf-look-through
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-look-through cam-layout ()
|
||||
(set! (-> *camera-other-fov* data) (cam-slave-get-fov (-> self cam-entity)))
|
||||
(cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) *camera-other-trans* 'trans)
|
||||
@@ -1312,8 +1312,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-cam-trans
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs string.
|
||||
;; Used lq/sq
|
||||
(defun cam-layout-save-cam-trans ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s1-0 (-> arg2 trans))
|
||||
(s5-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1372,8 +1372,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-pivot
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs string.
|
||||
;; Used lq/sq
|
||||
(defun cam-layout-save-pivot ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'pivot vector :time (the-as float -1000000000.0)))
|
||||
(s3-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1420,8 +1420,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-align
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs string.
|
||||
;; Used lq/sq
|
||||
(defun cam-layout-save-align ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'align vector :time (the-as float -1000000000.0)))
|
||||
(s3-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1468,8 +1468,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-interesting
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs string.
|
||||
;; Used lq/sq
|
||||
(defun cam-layout-save-interesting ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'interesting vector :time (the-as float -1000000000.0)))
|
||||
(s3-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -2731,7 +2731,7 @@
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-string
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-cam-string cam-layout ((arg0 string) (arg1 symbol))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(format arg0 ":")
|
||||
|
||||
+8
-8
@@ -45,7 +45,7 @@
|
||||
)
|
||||
|
||||
;; definition for function reset-follow
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior reset-follow camera-master ()
|
||||
(set! (-> self tpos-old quad) (-> (target-cam-pos) quad))
|
||||
(set! (-> self tpos-curr quad) (-> self tpos-old quad))
|
||||
@@ -59,8 +59,8 @@
|
||||
)
|
||||
|
||||
;; definition for function reset-target-tracking
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch none vs symbol.
|
||||
;; Used lq/sq
|
||||
(defbehavior reset-target-tracking camera-master ()
|
||||
(set! (-> self tpos-old quad) (-> (target-cam-pos) quad))
|
||||
(set! (-> self tpos-curr quad) (-> self tpos-old quad))
|
||||
@@ -126,7 +126,7 @@
|
||||
)
|
||||
|
||||
;; definition for function reset-drawable-follow
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior reset-drawable-follow camera-master ()
|
||||
(let ((v1-2 (the-as target (-> self drawable-target process 0))))
|
||||
(if (nonzero? (-> v1-2 node-list))
|
||||
@@ -144,8 +144,8 @@
|
||||
)
|
||||
|
||||
;; definition for function reset-drawable-tracking
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch none vs symbol.
|
||||
;; Used lq/sq
|
||||
(defbehavior reset-drawable-tracking camera-master ()
|
||||
(let ((gp-0 (the-as target (-> self drawable-target process 0))))
|
||||
(cond
|
||||
@@ -218,8 +218,8 @@
|
||||
)
|
||||
|
||||
;; definition for function master-track-target
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch none vs symbol.
|
||||
;; Used lq/sq
|
||||
(defbehavior master-track-target camera-master ()
|
||||
(cond
|
||||
((and (logtest? (-> self master-options) 2)
|
||||
@@ -541,7 +541,7 @@
|
||||
)
|
||||
|
||||
;; definition for function in-cam-entity-volume?
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun in-cam-entity-volume? ((arg0 vector) (arg1 entity) (arg2 float) (arg3 symbol))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(let ((s2-0 0))
|
||||
@@ -659,11 +659,11 @@
|
||||
)
|
||||
|
||||
;; definition for function master-switch-to-entity
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 166]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 176]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 196]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 220]
|
||||
;; Used lq/sq
|
||||
(defbehavior master-switch-to-entity camera-master ((arg0 entity))
|
||||
(local-vars
|
||||
(v0-21 none)
|
||||
@@ -966,8 +966,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-master-init
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior cam-master-init camera-master ()
|
||||
(set! *camera* self)
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
|
||||
+22
-22
@@ -928,7 +928,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-circular-position-into-max-angle
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-circular-position-into-max-angle camera-slave ((arg0 vector) (arg1 vector) (arg2 float))
|
||||
(let* ((f30-0 (vector-normalize-ret-len! arg0 (the-as float 1.0)))
|
||||
(f26-0 (vector-normalize-ret-len! arg1 (the-as float 1.0)))
|
||||
@@ -1070,7 +1070,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-circular-code
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-circular-code camera-slave ()
|
||||
(set! (-> self pivot-pt quad) (-> self saved-pt quad))
|
||||
(cam-curve-pos (-> self pivot-pt) (the-as vector #f) (the-as curve #f) #f)
|
||||
@@ -1260,7 +1260,7 @@
|
||||
(define *CAM_STRING-bank* (new 'static 'cam-string-bank :los-coll-rad (meters 1) :los-coll-rad2 (meters 0.5)))
|
||||
|
||||
;; definition for function cam-string-find-position-rel!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cam-string-find-position-rel! ((arg0 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -1313,8 +1313,8 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-string-set-position-rel!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch uint vs int.
|
||||
;; Used lq/sq
|
||||
(defbehavior cam-string-set-position-rel! camera-slave ((arg0 vector))
|
||||
(vector-flatten! (-> self view-flat) arg0 (-> *camera* local-down))
|
||||
(set! (-> self min-z-override) (vector-length (-> self view-flat)))
|
||||
@@ -1538,9 +1538,9 @@
|
||||
)
|
||||
|
||||
;; definition for function los-cw-ccw
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 128 signed mismatch
|
||||
;; WARN: Stack slot offset 128 signed mismatch
|
||||
;; Used lq/sq
|
||||
(defun los-cw-ccw ((arg0 (inline-array collide-cache-tri))
|
||||
(arg1 vector)
|
||||
(arg2 vector)
|
||||
@@ -1861,11 +1861,11 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-los-collide
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs symbol.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mula.s f2, f5]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madda.s f3, f6]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madd.s f2, f4, f7]
|
||||
;; Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f2, f5]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f3, f6]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f2, f4, f7]
|
||||
(defbehavior cam-los-collide camera-slave ((arg0 vector) (arg1 vector) (arg2 clip-travel-vector-to-mesh-return-info) (arg3 pat-surface))
|
||||
(local-vars (s1-3 int) (s2-2 int) (f2-1 float) (sv-224 vector) (sv-240 vector))
|
||||
(dist-info-init (the-as collide-los-dist-info (-> arg2 intersection)))
|
||||
@@ -2239,7 +2239,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-string-follow
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-string-follow camera-slave ()
|
||||
(let ((f30-0 (vector-length (-> self view-flat))))
|
||||
(cond
|
||||
@@ -2379,7 +2379,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-string-joystick
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-string-joystick camera-slave ()
|
||||
(set! (-> self options) (logand -257 (-> self options)))
|
||||
(let ((f28-0 (cam-dist-analog-input (the-as int (-> *cpad-list* cpads 0 righty)) (the-as float 0.05)))
|
||||
@@ -2582,13 +2582,13 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-string-move
|
||||
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
|
||||
(defbehavior cam-string-move camera-slave ()
|
||||
(local-vars (sv-240 float) (sv-256 float))
|
||||
(vector-! (-> self velocity) (-> self desired-pos) (-> self string-trans))
|
||||
@@ -2744,7 +2744,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-string-code
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-string-code camera-slave ()
|
||||
(if *debug-segment*
|
||||
(cam-debug-reset-coll-tri)
|
||||
@@ -2815,7 +2815,7 @@
|
||||
)
|
||||
|
||||
;; definition for function set-string-parms
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior set-string-parms camera-slave ()
|
||||
(when (not (-> self string-val-locked))
|
||||
(set! (-> self string-min-val quad) (-> *camera* string-min value quad))
|
||||
@@ -3068,7 +3068,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-stick-code
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-stick-code camera-slave ()
|
||||
(cam-calc-follow! (-> self tracking) (-> self trans) #t)
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
@@ -3323,7 +3323,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-bike-code
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-bike-code camera-slave ()
|
||||
(let ((s4-0 (new-stack-matrix0)))
|
||||
(let ((gp-0 (new-stack-vector0))
|
||||
|
||||
+3
-3
@@ -27,7 +27,7 @@
|
||||
)
|
||||
|
||||
;; definition for function update-view-planes
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-view-planes ((arg0 math-camera) (arg1 (inline-array plane)) (arg2 float))
|
||||
(local-vars (sv-240 vector))
|
||||
(when (not *artist-fix-frustum*)
|
||||
@@ -196,7 +196,7 @@
|
||||
(matrix-identity! *save-camera-inv-rot*)
|
||||
|
||||
;; definition for function move-camera-from-pad
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun move-camera-from-pad ((arg0 math-camera))
|
||||
(let ((v1-0 *external-cam-mode*)
|
||||
(s5-0 0)
|
||||
@@ -252,7 +252,7 @@
|
||||
(define *start-pos* (new 'global 'vector))
|
||||
|
||||
;; definition for function update-camera
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-camera ()
|
||||
(when *start-timer*
|
||||
(when (= *timer-value* 180)
|
||||
|
||||
+1
-1
@@ -297,8 +297,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cam-vector-seeker
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod init! cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
|
||||
(cond
|
||||
(arg0
|
||||
|
||||
+25
-25
@@ -5,7 +5,7 @@
|
||||
(define *cam-res-string* (new 'global 'string 64 (the-as string #f)))
|
||||
|
||||
;; definition for function cam-slave-get-vector-with-offset
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cam-slave-get-vector-with-offset ((arg0 entity-actor) (arg1 vector) (arg2 symbol))
|
||||
(local-vars (s3-0 structure))
|
||||
(cond
|
||||
@@ -356,7 +356,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cam-index
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod dummy-9 cam-index ((obj cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve))
|
||||
(local-vars (sv-32 (function _varargs_ object)))
|
||||
(format (clear *cam-res-string*) "~S-flags" arg0)
|
||||
@@ -434,7 +434,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cam-index
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod dummy-10 cam-index ((obj cam-index) (arg0 vector))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -455,8 +455,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type tracking-spline
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-10 tracking-spline ((obj tracking-spline) (arg0 vector))
|
||||
(set! (-> obj point 0 position quad) (-> arg0 quad))
|
||||
(set! (-> obj point 0 next) -134250495)
|
||||
@@ -644,7 +644,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 17 of type tracking-spline
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod TODO-RENAME-17 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol))
|
||||
(let ((s3-0 (-> obj free-point))
|
||||
(s2-0 (-> obj end-point))
|
||||
@@ -827,7 +827,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type tracking-spline
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod TODO-RENAME-21 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float))
|
||||
(let ((v1-0 (-> obj used-point))
|
||||
(f0-0 (-> obj partial-point))
|
||||
@@ -938,7 +938,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-init-vars
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-slave-init-vars camera-slave ()
|
||||
(cond
|
||||
(*camera*
|
||||
@@ -1076,12 +1076,12 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-standard-event-handler
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch none vs object.
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 7]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 31]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 45]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 50]
|
||||
;; Used lq/sq
|
||||
(defbehavior cam-standard-event-handler camera-slave ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as
|
||||
@@ -1142,7 +1142,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-curve-pos
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-curve-pos camera-slave ((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -1244,7 +1244,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-calc-follow!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol))
|
||||
(cond
|
||||
(arg2
|
||||
@@ -1358,7 +1358,7 @@
|
||||
)
|
||||
|
||||
;; definition for function mat-remove-z-rot
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun mat-remove-z-rot ((arg0 matrix) (arg1 vector))
|
||||
(let ((s4-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -1385,7 +1385,7 @@
|
||||
)
|
||||
|
||||
;; definition for function slave-matrix-blend-2
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun slave-matrix-blend-2 ((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix))
|
||||
(let ((s1-0 (new-stack-vector0))
|
||||
(s4-0 (new-stack-quaternion0))
|
||||
@@ -1447,7 +1447,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-into-frustum-nosmooth!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-into-frustum-nosmooth! ((arg0 matrix) (arg1 vector) (arg2 float))
|
||||
(local-vars (sv-112 (inline-array vector)) (sv-128 vector) (sv-144 vector) (sv-160 vector) (sv-176 vector))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -1565,11 +1565,11 @@
|
||||
)
|
||||
|
||||
;; definition for function slave-set-rotation!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
;; Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
(defun slave-set-rotation! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 float) (arg3 float) (arg4 symbol))
|
||||
(local-vars
|
||||
(f0-8 float)
|
||||
@@ -1697,12 +1697,12 @@
|
||||
)
|
||||
|
||||
;; definition for function v-slrp2!
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
;; Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
(defun v-slrp2! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector) (arg5 float))
|
||||
(local-vars
|
||||
(f0-10 float)
|
||||
@@ -1805,12 +1805,12 @@
|
||||
)
|
||||
|
||||
;; definition for function v-slrp3!
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
;; Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
(defun v-slrp3! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float))
|
||||
(local-vars (f0-7 float) (f26-0 float) (f28-0 float) (sv-144 float) (sv-160 vector))
|
||||
(set! sv-144 arg4)
|
||||
|
||||
+1
-1
@@ -130,7 +130,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type math-camera
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect math-camera ((obj math-camera))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Td: (meters ~m)~%" (-> obj d))
|
||||
|
||||
+9
-9
@@ -31,7 +31,7 @@
|
||||
(define *math-camera-fog-correction* (new 'global 'fog-corrector))
|
||||
|
||||
;; definition for function update-math-camera
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-math-camera ((math-cam math-camera) (video-mode symbol) (aspect symbol))
|
||||
(set! (-> math-cam x-ratio) (tan (* 0.5 (-> math-cam fov))))
|
||||
(if (= aspect 'aspect4x3)
|
||||
@@ -247,7 +247,7 @@
|
||||
)
|
||||
|
||||
;; definition for function move-target-from-pad
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun move-target-from-pad ((trans transform) (pad-idx int))
|
||||
(let ((local-trans (new-stack-vector0)))
|
||||
(set! (-> local-trans x) (cond
|
||||
@@ -308,8 +308,8 @@
|
||||
)
|
||||
|
||||
;; definition for function transform-point-vector!
|
||||
;; WARN: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
;; ERROR: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
(defun transform-point-vector! ((arg0 vector) (arg1 vector))
|
||||
(local-vars (v1-7 int))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -354,8 +354,8 @@
|
||||
)
|
||||
|
||||
;; definition for function transform-point-qword!
|
||||
;; WARN: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
;; ERROR: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
(defun transform-point-qword! ((arg0 vector4w) (arg1 vector))
|
||||
(local-vars (v1-7 int))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -401,8 +401,8 @@
|
||||
)
|
||||
|
||||
;; definition for function transform-point-vector-scale!
|
||||
;; WARN: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
;; ERROR: Inline assembly instruction marked with TODO - [TODO.VCLIP]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cfc2.i v1, Clipping]
|
||||
(defun transform-point-vector-scale! ((arg0 vector) (arg1 vector))
|
||||
(local-vars (v0-0 float) (v1-7 int))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -449,8 +449,8 @@
|
||||
)
|
||||
|
||||
;; definition for function init-for-transform
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defun init-for-transform ((arg0 matrix))
|
||||
(local-vars (v1-14 float))
|
||||
(rlet ((vf1 :class vf)
|
||||
|
||||
+1
-1
@@ -188,8 +188,8 @@
|
||||
)
|
||||
|
||||
;; definition for function pov-camera-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior pov-camera-init-by-other pov-camera ((arg0 vector) (arg1 skeleton-group) (arg2 string) (arg3 pov-camera-flag) (arg4 process-drawable) (arg5 pair))
|
||||
(set-stack-size! self)
|
||||
(set! (-> *game-info* pov-camera-handle) (process->handle self))
|
||||
|
||||
+6
-6
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 20 of type target
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs object.
|
||||
;; Used lq/sq
|
||||
(defmethod find-edge-grabs! target ((obj target) (arg0 collide-cache))
|
||||
(rlet ((vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
@@ -127,7 +127,7 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 19 of type collide-edge-work
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod check-grab-for-collisions collide-edge-work ((obj collide-edge-work) (arg0 collide-edge-hold-item) (arg1 edge-grab-info))
|
||||
(local-vars (sv-144 (function vector vector vector float vector)) (sv-160 vector) (sv-176 vector))
|
||||
(let* ((s3-0 (-> arg0 edge))
|
||||
@@ -222,7 +222,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type edge-grab-info
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod dummy-9 edge-grab-info ((obj edge-grab-info))
|
||||
(local-vars (v0-0 symbol) (v1-14 float))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -361,7 +361,7 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 14 of type collide-edge-work
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod dummy-14 collide-edge-work ((obj collide-edge-work) (arg0 vector) (arg1 vector) (arg2 int))
|
||||
(let ((f30-0 -1.0))
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -385,7 +385,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 17 of type collide-edge-work
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod should-add-to-list? collide-edge-work ((obj collide-edge-work) (arg0 collide-edge-hold-item) (arg1 collide-edge-edge))
|
||||
(local-vars
|
||||
(v1-1 uint128)
|
||||
@@ -662,7 +662,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type collide-edge-hold-list
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod debug-draw collide-edge-hold-list ((obj collide-edge-hold-list))
|
||||
(let ((s4-0 (-> obj head))
|
||||
(s5-0 0)
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-frag-vertex
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect collide-frag-vertex ((obj collide-frag-vertex))
|
||||
(format #t "[~8x] ~A~%" obj 'collide-frag-vertex)
|
||||
(format #t "~Tdata[4] @ #x~X~%" (&-> obj x))
|
||||
|
||||
+5
-5
@@ -3,8 +3,8 @@
|
||||
|
||||
;; definition for function raw-ray-sphere-intersect
|
||||
;; INFO: Return type mismatch number vs float.
|
||||
;; WARN: Bad vector register dependency: vf1
|
||||
;; WARN: Bad vector register dependency: vf2
|
||||
;; ERROR: Bad vector register dependency: vf1
|
||||
;; ERROR: Bad vector register dependency: vf2
|
||||
(defun raw-ray-sphere-intersect ((arg0 float))
|
||||
(local-vars (v1-1 float) (v1-2 float) (v1-4 number) (a0-1 float) (a0-2 float) (a0-3 float) (a1-0 float))
|
||||
(rlet ((Q :class vf)
|
||||
@@ -238,7 +238,7 @@
|
||||
;; WARN: Using logior on floats
|
||||
;; WARN: Using logior on floats
|
||||
;; INFO: Return type mismatch number vs float.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sll v1, v1, 1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sll v1, v1, 1]
|
||||
(defun ray-triangle-intersect ((arg0 vector) (arg1 vector) (arg2 float) (arg3 matrix) (arg4 vector) (arg5 vector))
|
||||
(local-vars (v1-0 float) (v1-1 int) (v1-2 float) (a0-1 float) (a0-2 float) (a1-1 float))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -351,7 +351,7 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function moving-sphere-sphere-intersect
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun moving-sphere-sphere-intersect ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(let ((f30-0 (ray-sphere-intersect arg0 arg1 arg2 (+ (-> arg0 w) (-> arg2 w)))))
|
||||
(when (>= f30-0 0.0)
|
||||
@@ -365,7 +365,7 @@
|
||||
)
|
||||
|
||||
;; definition for function moving-sphere-moving-sphere-intersect
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun moving-sphere-moving-sphere-intersect ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 vector))
|
||||
(let ((f30-0 (ray-sphere-intersect arg0 (vector-! (new-stack-vector0) arg1 arg3) arg2 (+ (-> arg0 w) (-> arg2 w))))
|
||||
)
|
||||
|
||||
+2
-2
@@ -356,8 +356,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type collide-mesh
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defmethod overlap-test collide-mesh ((obj collide-mesh) (arg0 collide-mesh-cache-tri) (arg1 vector))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
|
||||
+1
-5
@@ -215,7 +215,7 @@
|
||||
|
||||
;; definition for function collide-upload-vu0
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun collide-upload-vu0 ()
|
||||
(let ((gp-0 *vu0-dma-list*))
|
||||
(let ((v1-0 gp-0))
|
||||
@@ -368,7 +368,3 @@
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function collide-shape-moving-angle-set!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun collide-shape-moving-angle-set! ((arg0 collide-shape-moving) (arg1 vector) (arg2 vector))
|
||||
(set! (-> arg0 surface-normal quad) (-> arg1 quad))
|
||||
(set! (-> arg0 surface-angle) (vector-dot arg1 (-> arg0 dynam gravity-normal)))
|
||||
@@ -19,13 +19,13 @@
|
||||
)
|
||||
|
||||
;; definition for function poly-find-nearest-edge
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 36 signed mismatch
|
||||
;; WARN: Stack slot offset 36 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 36 signed mismatch
|
||||
;; WARN: Stack slot offset 36 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; Used lq/sq
|
||||
(defun poly-find-nearest-edge ((arg0 vector) (arg1 (inline-array vector)) (arg2 vector) (arg3 vector))
|
||||
(local-vars (sv-32 vector) (sv-36 float) (sv-40 int) (sv-48 float) (sv-80 vector))
|
||||
(set! sv-32 (new 'stack-no-clear 'vector))
|
||||
@@ -60,8 +60,8 @@
|
||||
)
|
||||
|
||||
;; definition for function target-collision-low-coverage
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs uint.
|
||||
;; Used lq/sq
|
||||
(defun target-collision-low-coverage ((arg0 control-info)
|
||||
(arg1 collide-shape-intersect)
|
||||
(arg2 vector)
|
||||
@@ -239,8 +239,8 @@
|
||||
)
|
||||
|
||||
;; definition for function target-collision-reaction
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs cshape-moving-flags.
|
||||
;; Used lq/sq
|
||||
(defun target-collision-reaction ((arg0 control-info) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector))
|
||||
(local-vars (sv-80 vector) (sv-84 vector) (sv-88 matrix) (sv-96 int) (sv-104 int) (sv-160 symbol))
|
||||
(set! sv-80 (new-stack-vector0))
|
||||
|
||||
+3
-3
@@ -65,9 +65,9 @@
|
||||
)
|
||||
|
||||
;; definition for method 22 of type collide-shape-prim-mesh
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pat-surface vs none.
|
||||
;; WARN: Expression building failed: Function (method 22 collide-shape-prim-mesh) has a return type of none, but the expression builder found a return statement.
|
||||
;; Used lq/sq
|
||||
;; WARN: Function (method 22 collide-shape-prim-mesh) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod on-platform-test collide-shape-prim-mesh ((obj collide-shape-prim-mesh) (arg0 collide-shape-prim) (arg1 collide-overlap-result) (arg2 float))
|
||||
(case (-> arg0 type)
|
||||
((collide-shape-prim-group)
|
||||
@@ -401,8 +401,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 43 of type collide-shape
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod pull-rider! collide-shape ((obj collide-shape) (arg0 pull-rider-info))
|
||||
(local-vars (at-0 int) (sv-160 (function collide-shape-moving float collide-kind none)))
|
||||
(rlet ((vf0 :class vf)
|
||||
|
||||
+1
-1
@@ -207,7 +207,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type collide-history
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod update! collide-history ((obj collide-history) (cshape collide-shape-moving) (xs vector) (transv vector) (transv-out vector))
|
||||
(set! (-> obj intersect quad) (-> xs quad))
|
||||
(set! (-> obj transv quad) (-> transv quad))
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@
|
||||
|
||||
;; definition for method 9 of type touching-list
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Expression building failed: Function (method 9 touching-list) has a return type of none, but the expression builder found a return statement.
|
||||
;; WARN: Function (method 9 touching-list) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod add-touching-prims touching-list ((obj touching-list)
|
||||
(arg0 collide-shape-prim)
|
||||
(arg1 collide-shape-prim)
|
||||
|
||||
+5
-5
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function drawable-sphere-box-intersect?
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun drawable-sphere-box-intersect? ((arg0 drawable) (arg1 bounding-box4w))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -56,8 +56,8 @@
|
||||
)
|
||||
|
||||
;; definition for function instance-sphere-box-intersect?
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun instance-sphere-box-intersect? ((arg0 drawable) (arg1 instance-tie) (arg2 bounding-box4w))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -181,7 +181,7 @@
|
||||
)
|
||||
|
||||
;; definition for function instance-tfragment-add-debug-sphere
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun instance-tfragment-add-debug-sphere ((arg0 drawable) (arg1 instance-tie))
|
||||
(local-vars (v1-1 uint128) (v1-2 uint128) (a3-0 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
|
||||
+12
-12
@@ -35,7 +35,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod get-tag-index-data res-lump ((obj res-lump) (arg0 int))
|
||||
(&+ (-> obj data-base) (-> obj tag arg0 data-offset))
|
||||
)
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
;; definition for method 3 of type res-lump
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect res-lump ((obj res-lump))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Textra: ~A~%" (-> obj extra))
|
||||
@@ -117,8 +117,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 19 of type res-lump
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs res-tag-pair.
|
||||
;; Used lq/sq
|
||||
(defmethod lookup-tag-idx res-lump ((obj res-lump) (name-sym symbol) (mode symbol) (time float))
|
||||
(local-vars (tag-idx int))
|
||||
(when (or (= name-sym 'id)
|
||||
@@ -218,7 +218,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod make-property-data res-lump ((obj res-lump) (time float) (result res-tag-pair) (buf pointer))
|
||||
(rlet ((vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
@@ -400,7 +400,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod get-property-data res-lump ((obj res-lump)
|
||||
(name symbol)
|
||||
(mode symbol)
|
||||
@@ -426,8 +426,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type res-lump
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs structure.
|
||||
;; Used lq/sq
|
||||
(defmethod get-property-struct res-lump ((obj res-lump)
|
||||
(name symbol)
|
||||
(mode symbol)
|
||||
@@ -459,8 +459,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type res-lump
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs uint128.
|
||||
;; Used lq/sq
|
||||
(defmethod get-property-value res-lump ((obj res-lump)
|
||||
(name symbol)
|
||||
(mode symbol)
|
||||
@@ -537,7 +537,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 12 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod get-property-value-float res-lump ((obj res-lump)
|
||||
(name symbol)
|
||||
(mode symbol)
|
||||
@@ -617,7 +617,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 16 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod sort! res-lump ((obj res-lump))
|
||||
(let ((tags-sorted -1))
|
||||
(while (nonzero? tags-sorted)
|
||||
@@ -646,7 +646,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod allocate-data-memory-for-tag! res-lump ((obj res-lump) (arg0 res-tag))
|
||||
(local-vars (resource-mem pointer))
|
||||
(let* ((tag-pair (lookup-tag-idx obj (-> arg0 name) 'exact (-> arg0 key-frame)))
|
||||
@@ -743,7 +743,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type res-lump
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod get-curve-data! res-lump ((obj res-lump) (arg0 curve) (arg1 symbol) (arg2 symbol) (arg3 float))
|
||||
(local-vars (sv-16 res-tag) (sv-32 res-tag))
|
||||
(let ((s5-0 #f))
|
||||
@@ -782,8 +782,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 8 of type res-lump
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs res-lump.
|
||||
;; Used lq/sq
|
||||
(defmethod mem-usage res-lump ((obj res-lump) (block memory-usage-block) (flags int))
|
||||
(local-vars (sv-16 int))
|
||||
(let ((mem-use-id 48)
|
||||
|
||||
+4
-4
@@ -974,7 +974,7 @@
|
||||
)
|
||||
|
||||
;; definition for function anim-tester-reset
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior anim-tester-reset anim-tester ()
|
||||
(let ((v1-0 (-> self obj-list)))
|
||||
"is the list empty, #t = empty"
|
||||
@@ -1039,7 +1039,7 @@
|
||||
)
|
||||
|
||||
;; definition for function anim-tester-disp-frame-num
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun anim-tester-disp-frame-num ((arg0 string) (arg1 float) (arg2 float) (arg3 font-context))
|
||||
(local-vars (sv-16 (function _varargs_ object)))
|
||||
(let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf))
|
||||
@@ -1726,10 +1726,10 @@
|
||||
)
|
||||
|
||||
;; definition for function anim-test-edit-sequence-list-handler
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 893]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 938]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 1045]
|
||||
;; Used lq/sq
|
||||
(defun anim-test-edit-sequence-list-handler ((arg0 int) (arg1 list-control))
|
||||
(local-vars
|
||||
(sv-192 (function string dma-buffer int int font-color font-flags float))
|
||||
@@ -2817,7 +2817,7 @@
|
||||
)
|
||||
|
||||
;; definition for function anim-tester-add-newobj
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun anim-tester-add-newobj ((arg0 anim-tester) (arg1 string) (arg2 art-group))
|
||||
(local-vars (sv-96 art-element) (sv-112 art-element) (sv-128 anim-test-obj))
|
||||
(let ((s2-0 (the-as anim-test-obj #f))
|
||||
|
||||
+2
-2
@@ -18,8 +18,8 @@
|
||||
)
|
||||
|
||||
;; definition for function make-debug-sphere-table
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun make-debug-sphere-table ((arg0 debug-sphere-table))
|
||||
(local-vars (sv-80 int))
|
||||
(let ((s5-0 (new-stack-vector0))
|
||||
@@ -65,8 +65,8 @@
|
||||
(make-debug-sphere-table *debug-sphere-table*)
|
||||
|
||||
;; definition for function add-debug-sphere-from-table
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun add-debug-sphere-from-table ((arg0 bucket-id) (arg1 vector) (arg2 float) (arg3 rgba))
|
||||
(rlet ((vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
|
||||
+28
-28
@@ -2,13 +2,13 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function transform-float-point
|
||||
;; WARN: Bad vector register dependency: vf1
|
||||
;; WARN: Bad vector register dependency: vf2
|
||||
;; WARN: Bad vector register dependency: vf3
|
||||
;; WARN: Bad vector register dependency: vf4
|
||||
;; WARN: Bad vector register dependency: vf6
|
||||
;; WARN: Bad vector register dependency: vf8
|
||||
;; WARN: Bad vector register dependency: vf9
|
||||
;; ERROR: Bad vector register dependency: vf1
|
||||
;; ERROR: Bad vector register dependency: vf2
|
||||
;; ERROR: Bad vector register dependency: vf3
|
||||
;; ERROR: Bad vector register dependency: vf4
|
||||
;; ERROR: Bad vector register dependency: vf6
|
||||
;; ERROR: Bad vector register dependency: vf8
|
||||
;; ERROR: Bad vector register dependency: vf9
|
||||
(defun transform-float-point ((arg0 vector) (arg1 vector4w))
|
||||
(rlet ((acc :class vf)
|
||||
(Q :class vf)
|
||||
@@ -41,7 +41,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-point
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-point ((enable-draw symbol) (bucket bucket-id) (pt vector))
|
||||
(if (not enable-draw)
|
||||
(return #f)
|
||||
@@ -164,7 +164,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function internal-draw-debug-line
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug internal-draw-debug-line ((arg0 bucket-id) (arg1 vector) (arg2 vector) (arg3 rgba) (arg4 symbol) (arg5 rgba))
|
||||
(local-vars (sv-80 vector))
|
||||
(set! sv-80 arg2)
|
||||
@@ -305,7 +305,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function internal-draw-debug-text-3d
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug internal-draw-debug-text-3d ((arg0 bucket-id) (arg1 string) (arg2 vector) (arg3 font-color) (arg4 vector2h))
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector4w)))
|
||||
(set! (-> s2-0 quad) (the-as uint128 0))
|
||||
@@ -360,7 +360,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-triangle-normal
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-triangle-normal ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector) (arg5 rgba))
|
||||
(local-vars (sv-48 (function vector vector float vector)) (sv-64 vector) (sv-80 vector))
|
||||
(when arg0
|
||||
@@ -384,7 +384,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-flat-triangle
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-flat-triangle ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector) (arg5 rgba))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -640,7 +640,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-line
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-line ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 rgba) (arg5 symbol) (arg6 rgba))
|
||||
(when arg0
|
||||
(cond
|
||||
@@ -665,7 +665,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-line2d
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-line2d ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -761,7 +761,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-box
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-box ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 rgba))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(set! (-> s5-0 quad) (-> arg2 quad))
|
||||
@@ -811,7 +811,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-x
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-x ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 rgba))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -830,7 +830,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-text-3d
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-text-3d ((arg0 symbol) (arg1 bucket-id) (arg2 string) (arg3 vector) (arg4 font-color) (arg5 vector2h))
|
||||
(when arg0
|
||||
(cond
|
||||
@@ -944,7 +944,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-circle
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-circle ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 rgba) (arg5 matrix))
|
||||
(local-vars (sv-48 int) (sv-64 vector) (sv-80 vector))
|
||||
"note: you may pass #f for orientation"
|
||||
@@ -982,7 +982,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-vector
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-vector ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 meters) (arg5 rgba))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -1041,9 +1041,9 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-yrot-vector
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot load at 32 mismatch: defined as size 4, got size 16
|
||||
;; Used lq/sq
|
||||
;; ERROR: Stack slot load at 32 mismatch: defined as size 4, got size 16
|
||||
(defun-debug add-debug-yrot-vector ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 float) (arg5 rgba))
|
||||
(local-vars (sv-32 float))
|
||||
(set! sv-32 arg3)
|
||||
@@ -1062,7 +1062,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-arc
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-arc ((arg0 symbol)
|
||||
(arg1 bucket-id)
|
||||
(arg2 vector)
|
||||
@@ -1117,7 +1117,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-curve
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-curve ((arg0 symbol)
|
||||
(arg1 bucket-id)
|
||||
(arg2 (inline-array vector))
|
||||
@@ -1155,7 +1155,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-points
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-points ((arg0 symbol) (arg1 bucket-id) (arg2 (inline-array vector)) (arg3 int) (arg4 rgba) (arg5 float) (arg6 int))
|
||||
(local-vars
|
||||
(sv-32 (function symbol bucket-id string vector font-color vector2h symbol))
|
||||
@@ -1234,7 +1234,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function debug-pad-display
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug debug-pad-display ((arg0 cpad-info))
|
||||
(let ((gp-0 (new 'static 'inline-array vector 8
|
||||
(new 'static 'vector)
|
||||
@@ -1288,7 +1288,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function add-debug-light
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-light ((arg0 symbol) (arg1 bucket-id) (arg2 light) (arg3 vector) (arg4 string))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -1392,7 +1392,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function history-draw-and-update
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug history-draw-and-update ((arg0 pos-history) (arg1 int) (arg2 vector))
|
||||
(if (and arg1 (not (-> arg0 points)))
|
||||
(set! (-> arg0 points) (the-as (inline-array vector) (malloc 'debug (* (-> arg0 num-points) 16))))
|
||||
@@ -1424,7 +1424,7 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function dma-timeout-cam
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug dma-timeout-cam ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
|
||||
+1
-1
@@ -303,8 +303,8 @@
|
||||
(define *max-dma* 0)
|
||||
|
||||
;; definition for method 11 of type memory-usage-block
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch memory-usage-block vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod print-mem-usage memory-usage-block ((obj memory-usage-block) (arg0 level) (arg1 object))
|
||||
(local-vars (sv-16 object) (sv-32 string) (sv-48 symbol) (sv-64 int) (sv-80 int))
|
||||
(let ((s3-0 (&- (-> arg0 heap current) (the-as uint (-> arg0 heap base)))))
|
||||
|
||||
+10
-10
@@ -639,15 +639,15 @@
|
||||
)
|
||||
|
||||
;; definition for function debug-menu-make-from-template
|
||||
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
(defun debug-menu-make-from-template ((arg0 debug-menu-context) (arg1 pair))
|
||||
(local-vars (s5-0 basic) (sv-16 object) (sv-32 int) (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float))
|
||||
(when (or (not arg1) (null? arg1))
|
||||
@@ -1088,7 +1088,7 @@
|
||||
)
|
||||
|
||||
;; definition for function debug-menu-render
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun debug-menu-render ((arg0 debug-menu) (arg1 int) (arg2 int) (arg3 debug-menu-node) (arg4 int))
|
||||
(local-vars (sv-16 dma-buffer) (sv-32 pointer))
|
||||
(let ((v1-0 0))
|
||||
|
||||
+1
-1
@@ -93,8 +93,8 @@
|
||||
)
|
||||
|
||||
;; definition for function part-tester-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior part-tester-init-by-other process-drawable ((arg0 vector))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
|
||||
+15
-15
@@ -116,16 +116,16 @@
|
||||
|
||||
;; definition for method 11 of type perf-stat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, v1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, v1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
(defmethod reset! perf-stat ((obj perf-stat))
|
||||
(let ((v1-0 (-> obj ctrl)))
|
||||
(+! (-> obj count) 1)
|
||||
@@ -148,11 +148,11 @@
|
||||
|
||||
;; definition for method 12 of type perf-stat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc v1, pcr0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc v1, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc v1, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc v1, pcr1]
|
||||
(defmethod read! perf-stat ((obj perf-stat))
|
||||
(local-vars (v1-1 int) (v1-3 int))
|
||||
(b! (zero? (-> obj ctrl)) cfg-2 :delay (nop!))
|
||||
|
||||
+2
-2
@@ -201,8 +201,8 @@
|
||||
)
|
||||
|
||||
;; definition for function init-viewer-for-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior init-viewer-for-other viewer ((arg0 string) (arg1 vector))
|
||||
(set! *viewer* self)
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
@@ -216,7 +216,7 @@
|
||||
)
|
||||
|
||||
;; definition for function add-a-bunch
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun add-a-bunch ((arg0 string) (arg1 int) (arg2 int) (arg3 float))
|
||||
(local-vars (sv-32 process))
|
||||
(dotimes (s2-0 arg1)
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type dma-packet
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect dma-packet ((obj dma-packet))
|
||||
(format #t "[~8x] ~A~%" obj 'dma-packet)
|
||||
(format #t "~Tdma: #x~X~%" (-> obj dma))
|
||||
|
||||
+2
-2
@@ -306,7 +306,7 @@
|
||||
)
|
||||
|
||||
;; definition for function disasm-vif-tag
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun disasm-vif-tag ((data (pointer vif-tag)) (words int) (stream symbol) (details symbol))
|
||||
(local-vars (cmd vif-cmd) (data-ptr (pointer vif-tag)) (data-idx int) (unpack-imm vif-unpack-imm))
|
||||
(let ((byte-idx 0))
|
||||
@@ -515,7 +515,7 @@
|
||||
|
||||
;; definition for function disasm-dma-list
|
||||
;; WARN: Check prologue - tricky store of a0
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun disasm-dma-list ((data dma-packet) (mode symbol) (verbose symbol) (stream symbol) (expected-size int))
|
||||
(local-vars
|
||||
(addr object)
|
||||
|
||||
+29
-29
@@ -26,9 +26,9 @@
|
||||
|
||||
;; definition for function dma-send
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send ((arg0 dma-bank) (arg1 uint) (arg2 uint))
|
||||
(dma-sync (the-as pointer arg0) 0 0)
|
||||
(flush-cache 0)
|
||||
@@ -49,9 +49,9 @@
|
||||
|
||||
;; definition for function dma-send-chain
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-chain ((arg0 dma-bank-source) (arg1 uint))
|
||||
(dma-sync (the-as pointer arg0) 0 0)
|
||||
(flush-cache 0)
|
||||
@@ -72,9 +72,9 @@
|
||||
|
||||
;; definition for function dma-send-chain-no-tte
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-chain-no-tte ((arg0 dma-bank-source) (arg1 uint))
|
||||
(dma-sync (the-as pointer arg0) 0 0)
|
||||
(flush-cache 0)
|
||||
@@ -95,9 +95,9 @@
|
||||
|
||||
;; definition for function dma-send-chain-no-flush
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-chain-no-flush ((arg0 dma-bank-source) (arg1 uint))
|
||||
(dma-sync (the-as pointer arg0) 0 0)
|
||||
(.sync.l)
|
||||
@@ -117,9 +117,9 @@
|
||||
|
||||
;; definition for function dma-send-to-spr
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-to-spr ((sadr uint) (madr uint) (qwc uint) (sync symbol))
|
||||
(let ((s5-0 (the-as dma-bank-spr #x1000d400)))
|
||||
(dma-sync (the-as pointer s5-0) 0 0)
|
||||
@@ -141,9 +141,9 @@
|
||||
|
||||
;; definition for function dma-send-to-spr-no-flush
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-to-spr-no-flush ((sadr uint) (madr uint) (qwc uint) (sync symbol))
|
||||
(let ((s5-0 (the-as dma-bank-spr #x1000d400)))
|
||||
(dma-sync (the-as pointer s5-0) 0 0)
|
||||
@@ -164,9 +164,9 @@
|
||||
|
||||
;; definition for function dma-send-from-spr
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-from-spr ((madr uint) (sadr uint) (qwc uint) (sync symbol))
|
||||
(let ((s5-0 (the-as dma-bank-spr #x1000d000)))
|
||||
(dma-sync (the-as pointer s5-0) 0 0)
|
||||
@@ -188,9 +188,9 @@
|
||||
|
||||
;; definition for function dma-send-from-spr-no-flush
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun dma-send-from-spr-no-flush ((madr uint) (sadr uint) (qwc uint) (sync symbol))
|
||||
(let ((s5-0 (the-as dma-bank-spr #x1000d000)))
|
||||
(dma-sync (the-as pointer s5-0) 0 0)
|
||||
@@ -314,11 +314,11 @@
|
||||
|
||||
;; definition for function ultimate-memcpy
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun ultimate-memcpy ((dst pointer) (src pointer) (size-bytes uint))
|
||||
(let ((spr-to-bank (the-as dma-bank-spr #x1000d400))
|
||||
(spr-from-bank (the-as dma-bank-spr #x1000d000))
|
||||
|
||||
+42
-42
@@ -2,10 +2,10 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function sphere-cull
|
||||
;; WARN: Bad vector register dependency: vf16
|
||||
;; WARN: Bad vector register dependency: vf17
|
||||
;; WARN: Bad vector register dependency: vf18
|
||||
;; WARN: Bad vector register dependency: vf19
|
||||
;; ERROR: Bad vector register dependency: vf16
|
||||
;; ERROR: Bad vector register dependency: vf17
|
||||
;; ERROR: Bad vector register dependency: vf18
|
||||
;; ERROR: Bad vector register dependency: vf19
|
||||
(defun sphere-cull ((arg0 vector))
|
||||
(local-vars (v1-0 uint128) (v1-1 uint128) (v1-2 uint128))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -32,10 +32,10 @@
|
||||
)
|
||||
|
||||
;; definition for function guard-band-cull
|
||||
;; WARN: Bad vector register dependency: vf20
|
||||
;; WARN: Bad vector register dependency: vf21
|
||||
;; WARN: Bad vector register dependency: vf22
|
||||
;; WARN: Bad vector register dependency: vf23
|
||||
;; ERROR: Bad vector register dependency: vf20
|
||||
;; ERROR: Bad vector register dependency: vf21
|
||||
;; ERROR: Bad vector register dependency: vf22
|
||||
;; ERROR: Bad vector register dependency: vf23
|
||||
(defun guard-band-cull ((arg0 vector))
|
||||
(local-vars (v1-0 uint128) (v1-1 uint128) (v1-2 uint128))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -133,9 +133,9 @@
|
||||
)
|
||||
|
||||
;; definition for function vis-cull
|
||||
;; WARN: Type Propagation failed: Failed type prop at op 3 ((set! v1 (l.b (+ v1 #x38b0)))): Could not get type of load: (set! v1 (l.b (+ v1 #x38b0))).
|
||||
;; WARN: Type Propagation failed: Type analysis failed
|
||||
;; WARN: Unsupported inline assembly instruction kind - [addiu a0, a0, 56]
|
||||
;; ERROR: Type Propagation failed: Failed type prop at op 3 ((set! v1 (l.b (+ v1 #x38b0)))): Could not get type of load: (set! v1 (l.b (+ v1 #x38b0))).
|
||||
;; ERROR: Type Propagation failed: Type analysis failed
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [addiu a0, a0, 56]
|
||||
(defun vis-cull ((a0-0 int))
|
||||
(local-vars (v0-0 none) (v1-0 int) (v1-1 int) (v1-2 none) (v1-3 none) (a0-1 none) (a0-2 none) (a1-0 int))
|
||||
(set! v1-0 #x70000000)
|
||||
@@ -356,8 +356,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function draw-instance-info
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug draw-instance-info ((arg0 string))
|
||||
(local-vars
|
||||
(sv-16 uint)
|
||||
@@ -548,7 +548,7 @@
|
||||
|
||||
;; definition for function dma-add-process-drawable
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Expression building failed: Function dma-add-process-drawable has a return type of none, but the expression builder found a return statement.
|
||||
;; WARN: Function dma-add-process-drawable has a return type of none, but the expression builder found a return statement.
|
||||
(defun dma-add-process-drawable ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer))
|
||||
(local-vars (v1-37 float) (sv-16 process-drawable))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -846,8 +846,8 @@
|
||||
(set-vector! (-> *hud-lights* ambient) 0.5 0.5 0.5 1.0)
|
||||
|
||||
;; definition for function dma-add-process-drawable-hud
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun dma-add-process-drawable-hud ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer))
|
||||
(logclear! (-> arg1 status) (draw-status was-drawn))
|
||||
(when (zero? (logand (-> arg1 status) (draw-status hidden no-anim no-skeleton-update)))
|
||||
@@ -879,11 +879,11 @@
|
||||
|
||||
;; definition for function foreground-engine-execute
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin v1, 0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin v1, 1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin v1, 0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin v1, 1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun foreground-engine-execute ((arg0 engine) (arg1 display-frame) (arg2 int) (arg3 int))
|
||||
(let ((s4-0 (-> *display* frames (-> *display* on-screen) frame global-buf base)))
|
||||
(if *debug-segment*
|
||||
@@ -976,21 +976,21 @@
|
||||
|
||||
;; definition for function real-main-draw-hook
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
(defun real-main-draw-hook ()
|
||||
(local-vars (a0-74 int) (a0-76 int))
|
||||
(when *slow-frame-rate*
|
||||
@@ -1712,8 +1712,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function marks-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug marks-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1754,8 +1754,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function eddie-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch vector vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug eddie-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1786,8 +1786,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function gregs-jungle-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch string vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug gregs-jungle-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1827,8 +1827,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function gregs-village1-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch string vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug gregs-village1-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1868,8 +1868,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function gregs-texture-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch string vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug gregs-texture-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1909,8 +1909,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function gregs-texture2-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch string vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug gregs-texture2-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1950,8 +1950,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function cave-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch vector vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug cave-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
@@ -1982,8 +1982,8 @@
|
||||
)
|
||||
|
||||
;; definition (debug) for function paals-cam-restore
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch vector vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug paals-cam-restore ()
|
||||
(let ((a0-0 (new-stack-vector0))
|
||||
(a1-0 (new-stack-matrix0))
|
||||
|
||||
+13
-13
@@ -112,7 +112,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type lod-set
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod setup-lods! lod-set ((obj lod-set) (arg0 skeleton-group) (arg1 art-group) (arg2 entity))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(let ((s4-0 arg0)
|
||||
@@ -233,11 +233,11 @@
|
||||
)
|
||||
|
||||
;; definition for function fill-skeleton-cache
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a2, 0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a2, 1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin a2, 0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin a2, 1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun fill-skeleton-cache ((arg0 process-drawable))
|
||||
(let ((v1-0 (-> arg0 node-list))
|
||||
(a0-2 (-> arg0 draw skeleton))
|
||||
@@ -283,8 +283,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 17 of type process-drawable
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod do-joint-math! process-drawable ((obj process-drawable))
|
||||
(cond
|
||||
((logtest? (-> obj draw status) (draw-status hidden no-anim))
|
||||
@@ -377,7 +377,7 @@
|
||||
)
|
||||
|
||||
;; definition for function draw-joint-spheres
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun draw-joint-spheres ((arg0 process-drawable))
|
||||
(dotimes (s5-0 (-> arg0 node-list length))
|
||||
(let ((a2-0 (vector<-cspace! (new-stack-vector0) (-> arg0 node-list data s5-0))))
|
||||
@@ -433,11 +433,11 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type process-drawable
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; INFO: Return type mismatch draw-control vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod initialize-skeleton process-drawable ((obj process-drawable) (arg0 skeleton-group) (arg1 pair))
|
||||
(local-vars (s3-0 draw-control) (sv-16 art-element) (sv-20 int))
|
||||
(let ((s1-0 (cond
|
||||
@@ -913,8 +913,8 @@
|
||||
|
||||
;; definition for method 19 of type process-drawable
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [jr ra]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
|
||||
(defmethod evaluate-joint-control process-drawable ((obj process-drawable))
|
||||
(local-vars (s7-0 none) (ra-0 int))
|
||||
(let ((gp-0 (-> obj skel)))
|
||||
@@ -982,7 +982,7 @@
|
||||
|
||||
;; definition for function ja-post
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; WARN: Expression building failed: Function ja-post has a return type of none, but the expression builder found a return statement.
|
||||
;; WARN: Function ja-post has a return type of none, but the expression builder found a return statement.
|
||||
(defbehavior ja-post process-drawable ()
|
||||
(when (nonzero? (-> self draw))
|
||||
(let ((gp-1 (logtest? (-> self draw status) (draw-status no-skeleton-update))))
|
||||
@@ -1128,8 +1128,8 @@
|
||||
|
||||
;; definition for function process-drawable-birth-fuel-cell
|
||||
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior process-drawable-birth-fuel-cell process-drawable ((arg0 entity) (arg1 vector) (arg2 symbol))
|
||||
(let ((v1-0 arg0)
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function entity-actor-lookup
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch entity vs entity-actor.
|
||||
;; Used lq/sq
|
||||
(defun entity-actor-lookup ((lump res-lump) (name symbol) (idx int))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(set! sv-16 (new 'static 'res-tag))
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
;; definition for function entity-actor-count
|
||||
;; WARN: Check prologue - tricky store of r0
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun entity-actor-count ((res res-lump) (name symbol))
|
||||
(local-vars (tag res-tag))
|
||||
(set! tag (new 'static 'res-tag))
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type entity-perm
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect entity-perm ((obj entity-perm))
|
||||
(format #t "[~8x] ~A~%" obj 'entity-perm)
|
||||
(format #t "~Tuser-object[2] @ #x~X~%" (-> obj user-object))
|
||||
@@ -184,7 +184,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type entity-ambient-data
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect entity-ambient-data ((obj entity-ambient-data))
|
||||
(format #t "[~8x] ~A~%" obj 'entity-ambient-data)
|
||||
(format #t "~Tuser-object[3] @ #x~X~%" (&-> obj quad))
|
||||
|
||||
+12
-12
@@ -521,8 +521,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 24 of type entity
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch entity vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod add-to-level! entity ((obj entity) (lev-group level-group) (lev level) (aid actor-id))
|
||||
(let ((level-link (-> lev entity data (-> lev entity length))))
|
||||
(+! (-> lev entity length) 1)
|
||||
@@ -603,8 +603,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 22 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod update-vis-volumes level-group ((obj level-group))
|
||||
(local-vars
|
||||
(v1-10 symbol)
|
||||
@@ -660,8 +660,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 23 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod update-vis-volumes-from-nav-mesh level-group ((obj level-group))
|
||||
(local-vars (sv-16 entity) (sv-32 entity))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
@@ -717,8 +717,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 24 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod print-volume-sizes level-group ((obj level-group))
|
||||
(local-vars (sv-16 type) (sv-32 (function _varargs_ object)) (sv-48 symbol) (sv-64 string) (sv-80 entity))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
@@ -805,8 +805,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod debug-draw-actors level-group ((obj level-group) (arg0 symbol))
|
||||
(local-vars
|
||||
(sv-48 (function symbol bucket-id string vector font-color vector2h symbol))
|
||||
@@ -1293,8 +1293,8 @@
|
||||
|
||||
;; definition for method 18 of type bsp-header
|
||||
;; INFO: Return type mismatch bsp-header vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfc0 s5, Count]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfc0 v1, Count]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s5, Count]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 v1, Count]
|
||||
(defmethod birth bsp-header ((obj bsp-header))
|
||||
(local-vars (v1-71 int) (s5-0 int))
|
||||
(.mfc0 s5-0 Count)
|
||||
@@ -1469,8 +1469,8 @@
|
||||
)
|
||||
|
||||
;; definition for function process-drawable-from-entity!
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch process-drawable vs none.
|
||||
;; Used lq/sq
|
||||
(defun process-drawable-from-entity! ((arg0 process-drawable) (arg1 entity-actor))
|
||||
(logior! (-> arg0 mask) (process-mask actor-pause))
|
||||
(set! (-> arg0 root trans quad) (-> arg1 extra trans quad))
|
||||
@@ -1612,8 +1612,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs object.
|
||||
;; Used lq/sq
|
||||
(defmethod actors-update level-group ((obj level-group))
|
||||
(local-vars (sv-16 vector) (sv-24 int) (sv-32 entity-links) (sv-48 int) (sv-64 string) (sv-80 int))
|
||||
(when *compact-actors*
|
||||
@@ -1875,9 +1875,9 @@
|
||||
|
||||
;; definition (debug) for function entity-speed-test
|
||||
;; INFO: Return type mismatch entity vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Count, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfc0 s4, Count]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Count, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s4, Count]
|
||||
(defun-debug entity-speed-test ((arg0 string))
|
||||
(local-vars (s4-0 int))
|
||||
(let ((gp-0 (entity-by-name arg0)))
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@
|
||||
)
|
||||
|
||||
;; definition for function part-tracker-track-target
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun part-tracker-track-target ((arg0 part-tracker))
|
||||
(set! (-> arg0 linger-callback) (-> arg0 callback))
|
||||
(let* ((v1-1 *target*)
|
||||
|
||||
+12
-12
@@ -62,8 +62,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type collectable
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch collectable vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod initialize-params collectable ((obj collectable) (arg0 time-frame) (arg1 float))
|
||||
(logclear! (-> obj mask) (process-mask crate enemy platform ambient))
|
||||
(set! (-> obj mask) (logior (process-mask collectable) (-> obj mask)))
|
||||
@@ -239,8 +239,8 @@
|
||||
)
|
||||
|
||||
;; definition for function initialize-eco-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior initialize-eco-by-other eco ((arg0 vector) (arg1 vector) (arg2 fact-info))
|
||||
(let ((s3-0 (-> arg2 pickup-type))
|
||||
(f30-0 (-> arg2 pickup-spawn-amount))
|
||||
@@ -282,7 +282,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 28 of type eco-collectable
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod initialize-eco eco-collectable ((obj eco-collectable) (arg0 entity-actor) (arg1 pickup-type) (arg2 float))
|
||||
(set! (-> obj pickup-amount) arg2)
|
||||
(set! (-> obj pickup-type) arg1)
|
||||
@@ -1374,8 +1374,8 @@
|
||||
)
|
||||
|
||||
;; definition for function money-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior money-init-by-other money ((arg0 vector) (arg1 vector) (arg2 fact-info) (arg3 entity-actor))
|
||||
(let ((s3-0 (-> arg2 pickup-type))
|
||||
(f30-0 (-> arg2 pickup-spawn-amount))
|
||||
@@ -1401,8 +1401,8 @@
|
||||
)
|
||||
|
||||
;; definition for function money-init-by-other-no-bob
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior money-init-by-other-no-bob money ((arg0 vector) (arg1 vector) (arg2 fact-info) (arg3 float) (arg4 entity-actor))
|
||||
(set! (-> self entity) arg4)
|
||||
(set! (-> self pickup-type) (the-as pickup-type arg2))
|
||||
@@ -2105,7 +2105,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type fuel-cell
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod initialize fuel-cell ((obj fuel-cell))
|
||||
(stack-size-set! (-> obj main-thread) 512)
|
||||
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
|
||||
@@ -2153,8 +2153,8 @@
|
||||
)
|
||||
|
||||
;; definition for function fuel-cell-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior fuel-cell-init-by-other fuel-cell ((arg0 vector) (arg1 vector) (arg2 fact-info) (arg3 entity-actor))
|
||||
(let ((s3-0 (-> arg2 pickup-type))
|
||||
(f30-0 (-> arg2 pickup-spawn-amount))
|
||||
@@ -2502,8 +2502,8 @@
|
||||
)
|
||||
|
||||
;; definition for function buzzer-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior buzzer-init-by-other buzzer ((arg0 vector) (arg1 vector) (arg2 fact-info) (arg3 entity-actor))
|
||||
(let ((s3-0 (-> arg2 pickup-type))
|
||||
(f30-0 (-> arg2 pickup-spawn-amount))
|
||||
@@ -2565,6 +2565,7 @@
|
||||
)
|
||||
|
||||
;; definition for function birth-pickup-at-point
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 190]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 221]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 252]
|
||||
@@ -2573,7 +2574,6 @@
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 356]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 363]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 122]
|
||||
;; Used lq/sq
|
||||
(defbehavior birth-pickup-at-point process ((arg0 vector) (arg1 pickup-type) (arg2 float) (arg3 symbol) (arg4 process-tree) (arg5 fact-info))
|
||||
(local-vars
|
||||
(v1-2 basic)
|
||||
@@ -2783,7 +2783,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type fact-info
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod drop-pickup fact-info ((obj fact-info) (arg0 symbol) (arg1 process-tree) (arg2 fact-info) (arg3 int))
|
||||
(let ((s3-0 (-> obj pickup-type))
|
||||
(f30-0 (-> obj pickup-amount))
|
||||
@@ -2913,8 +2913,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ecovalve-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior ecovalve-init-by-other ecovalve ((arg0 (function vent symbol)))
|
||||
(stack-size-set! (-> self main-thread) 128)
|
||||
(let ((s5-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player))))
|
||||
@@ -2998,8 +2998,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type vent
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod initialize vent ((obj vent) (arg0 entity-actor) (arg1 pickup-type))
|
||||
(stack-size-set! (-> obj main-thread) 128)
|
||||
(logior! (-> obj mask) (process-mask actor-pause))
|
||||
|
||||
+2
-2
@@ -1052,7 +1052,7 @@
|
||||
)
|
||||
|
||||
;; definition for function crate-init-by-other
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior crate-init-by-other crate ((arg0 entity) (arg1 vector) (arg2 symbol))
|
||||
(params-init self arg0)
|
||||
(set! (-> self root-override trans quad) (-> arg1 quad))
|
||||
@@ -1145,7 +1145,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 26 of type crate
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod art-init crate ((obj crate))
|
||||
(case (-> obj look)
|
||||
(('iron)
|
||||
|
||||
+5
-5
@@ -128,8 +128,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type effect-control
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-9 effect-control ((obj effect-control))
|
||||
(let* ((a0-1 (-> obj process skel))
|
||||
(v1-3 (if (< (-> obj channel-offset) (-> a0-1 active-channels))
|
||||
@@ -232,8 +232,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type effect-control
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-14 effect-control ((obj effect-control) (arg0 float) (arg1 float) (arg2 float))
|
||||
(let ((s2-0 (-> obj name)))
|
||||
(while (= (-> s2-0 0 name) 'effect-name)
|
||||
@@ -261,6 +261,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type effect-control
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs object.
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 205]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 217]
|
||||
@@ -269,7 +270,6 @@
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 364]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 450]
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 469]
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-10 effect-control ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int))
|
||||
(local-vars
|
||||
(sv-160 int)
|
||||
@@ -545,8 +545,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type effect-control
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-11 effect-control ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int) (arg3 basic) (arg4 pat-surface))
|
||||
(local-vars
|
||||
(sv-48
|
||||
@@ -1067,7 +1067,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 12 of type effect-control
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod dummy-12 effect-control ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int) (arg3 basic) (arg4 sound-name))
|
||||
(local-vars (sv-112 res-tag) (sv-128 sound-name) (sv-144 basic) (sv-160 (function vector vector float)))
|
||||
(set! sv-144 arg3)
|
||||
|
||||
+1
-1
@@ -230,7 +230,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 0 of type fact-info
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod new fact-info ((allocation symbol) (type-to-make type) (proc process-drawable) (pkup-type pickup-type) (pkup-amount float))
|
||||
(local-vars (tag res-tag))
|
||||
(let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
|
||||
+4
-4
@@ -130,8 +130,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type game-info
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 191]
|
||||
;; Used lq/sq
|
||||
(defmethod initialize! game-info ((obj game-info) (cause symbol) (save-to-load game-save) (continue-point-override string))
|
||||
(local-vars (v0-0 int) (sv-96 symbol))
|
||||
(case cause
|
||||
@@ -669,8 +669,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type game-info
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod copy-perms-from-level! game-info ((obj game-info) (lev level))
|
||||
(let ((perms (-> obj perm-list))
|
||||
(lev-entities (-> lev bsp level entity))
|
||||
@@ -698,8 +698,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type game-info
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod copy-perms-to-level! game-info ((obj game-info) (lev level))
|
||||
(let ((lev-entities (-> lev bsp level entity)))
|
||||
(dotimes (lev-entity-idx (-> lev-entities length))
|
||||
@@ -728,8 +728,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type continue-point
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod debug-draw! continue-point ((obj continue-point))
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) (-> obj trans) (new 'static 'rgba :r #xff :a #x80))
|
||||
(add-debug-text-3d
|
||||
|
||||
+2
-2
@@ -264,7 +264,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type game-save
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod debug-print game-save ((obj game-save) (detail symbol))
|
||||
(local-vars (sv-16 int))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
@@ -1340,7 +1340,7 @@ auto-save-post
|
||||
|
||||
;; definition for function auto-save-init-by-other
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; WARN: Expression building failed: Function auto-save-init-by-other has a return type of none, but the expression builder found a return statement.
|
||||
;; WARN: Function auto-save-init-by-other has a return type of none, but the expression builder found a return statement.
|
||||
(defbehavior auto-save-init-by-other auto-save ((desired-mode symbol) (notify-proc process-tree) (card-idx int) (file-idx int))
|
||||
(when (handle->process (-> *game-info* auto-save-proc))
|
||||
(send-event notify-proc 'notify 'error 16)
|
||||
|
||||
+11
-11
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function clone-anim-once
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior clone-anim-once process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string))
|
||||
(logclear! (-> self skel status) (janim-status spool))
|
||||
(let ((s5-0 (handle->process arg0)))
|
||||
@@ -127,8 +127,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type swingpole
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod init-from-entity! swingpole ((obj swingpole) (arg0 entity-actor))
|
||||
"Copy defaults from the entity."
|
||||
(stack-size-set! (-> obj main-thread) 128)
|
||||
@@ -542,8 +542,8 @@
|
||||
)
|
||||
|
||||
;; definition for function manipy-init
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior manipy-init manipy ((arg0 vector) (arg1 entity-actor) (arg2 skeleton-group) (arg3 vector))
|
||||
(stack-size-set! (-> self main-thread) 128)
|
||||
(logior! (-> self mask) (process-mask heap-shrunk))
|
||||
@@ -679,8 +679,8 @@
|
||||
)
|
||||
|
||||
;; definition for function part-tracker-init
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior part-tracker-init part-tracker ((arg0 sparticle-launch-group)
|
||||
(arg1 time-frame)
|
||||
(arg2 (function part-tracker none))
|
||||
@@ -1348,8 +1348,8 @@
|
||||
(define *lev-string* (new 'global 'string 64 (the-as string #f)))
|
||||
|
||||
;; definition for method 11 of type med-res-level
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod init-from-entity! med-res-level ((obj med-res-level) (arg0 entity-actor))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(stack-size-set! (-> obj main-thread) 128)
|
||||
@@ -1457,8 +1457,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type part-spawner
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod init-from-entity! part-spawner ((obj part-spawner) (arg0 entity-actor))
|
||||
(local-vars (sv-16 res-tag))
|
||||
(stack-size-set! (-> obj main-thread) 128)
|
||||
@@ -1807,7 +1807,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-launcher-joystick
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-launcher-joystick camera-slave ()
|
||||
(when *camera-read-analog*
|
||||
(let ((s5-0 (new-stack-matrix0))
|
||||
@@ -1883,7 +1883,7 @@
|
||||
)
|
||||
|
||||
;; definition for function cam-launcher-long-joystick
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-launcher-long-joystick camera-slave ()
|
||||
(when *camera-read-analog*
|
||||
(let ((gp-0 (new-stack-matrix0)))
|
||||
@@ -2168,8 +2168,8 @@
|
||||
)
|
||||
|
||||
;; definition for function launcher-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior launcher-init-by-other launcher ((arg0 vector) (arg1 float) (arg2 int) (arg3 float))
|
||||
(stack-size-set! (-> self main-thread) 128)
|
||||
(let ((s2-0 (new 'process 'collide-shape self (collide-list-enum hit-by-player))))
|
||||
@@ -2370,8 +2370,8 @@
|
||||
)
|
||||
|
||||
;; definition for function touch-tracker-init
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior touch-tracker-init touch-tracker ((arg0 vector) (arg1 float) (arg2 time-frame))
|
||||
(let ((s4-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player))))
|
||||
(set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
|
||||
@@ -2434,7 +2434,7 @@
|
||||
)
|
||||
|
||||
;; definition for function process-drawable-pair-random-point!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun process-drawable-pair-random-point! ((arg0 process-drawable) (arg1 process-drawable) (arg2 vector) (arg3 float))
|
||||
(let ((s4-0 (new-stack-vector0))
|
||||
(s3-0 (new-stack-vector0))
|
||||
|
||||
+30
-30
@@ -934,36 +934,36 @@
|
||||
)
|
||||
|
||||
;; definition for function display-loop
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
(defbehavior display-loop process ()
|
||||
(local-vars (a0-54 int) (a0-56 int) (a0-73 int) (a0-75 int))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
|
||||
+1
-1
@@ -2,8 +2,8 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function cloud-track
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior cloud-track process ((arg0 process-tree)
|
||||
(arg1 process-tree)
|
||||
(arg2 (function vector none))
|
||||
|
||||
+8
-8
@@ -41,7 +41,7 @@
|
||||
(define *search-info* (new 'global 'search-info))
|
||||
|
||||
;; definition for function find-nearest-attackable
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun find-nearest-attackable ((arg0 vector) (arg1 float) (arg2 uint) (arg3 uint) (arg4 vector) (arg5 float))
|
||||
(let ((gp-0 *search-info*))
|
||||
(set! (-> gp-0 match) #f)
|
||||
@@ -117,8 +117,8 @@
|
||||
)
|
||||
|
||||
;; definition for function projectile-collision-reaction
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs cshape-moving-flags.
|
||||
;; Used lq/sq
|
||||
(defun projectile-collision-reaction ((arg0 collide-shape-moving) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector))
|
||||
(local-vars (sv-64 vector) (sv-68 vector) (sv-72 matrix) (sv-80 int) (sv-224 symbol))
|
||||
(set! sv-64 (new-stack-vector0))
|
||||
@@ -751,8 +751,8 @@
|
||||
)
|
||||
|
||||
;; definition for function projectile-update-velocity-space-wars
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun projectile-update-velocity-space-wars ((arg0 projectile))
|
||||
(let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target) (-> arg0 root-override trans))))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -905,7 +905,7 @@
|
||||
)
|
||||
|
||||
;; definition for function projectile-init-by-other
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior projectile-init-by-other projectile ((arg0 entity-actor) (arg1 vector) (arg2 vector) (arg3 uint) (arg4 handle))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(set! (-> self entity) arg0)
|
||||
@@ -953,8 +953,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 27 of type projectile-yellow
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-27 projectile-yellow ((obj projectile-yellow))
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1))
|
||||
(set! (-> obj attack-mode) 'eco-yellow)
|
||||
@@ -1089,8 +1089,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 28 of type projectile-yellow
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-28 projectile-yellow ((obj projectile-yellow))
|
||||
(cond
|
||||
((or (not (handle->process (-> obj last-target)))
|
||||
@@ -1171,8 +1171,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 27 of type projectile-blue
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-27 projectile-blue ((obj projectile-blue))
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1))
|
||||
(sound-play "blue-eco-on")
|
||||
@@ -1227,8 +1227,8 @@
|
||||
)
|
||||
|
||||
;; definition for function spawn-projectile-blue
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun spawn-projectile-blue ((arg0 target))
|
||||
(local-vars (sv-48 entity-actor))
|
||||
(with-pp
|
||||
|
||||
+2
-2
@@ -68,8 +68,8 @@
|
||||
)
|
||||
|
||||
;; definition for function voicebox-track
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior voicebox-track voicebox ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
@@ -222,8 +222,8 @@
|
||||
)
|
||||
|
||||
;; definition for function voicebox-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior voicebox-init-by-other voicebox ((arg0 vector) (arg1 handle))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self hint) arg1)
|
||||
|
||||
+3
-3
@@ -52,8 +52,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cylinder
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod debug-draw cylinder ((obj cylinder) (arg0 vector4w))
|
||||
(local-vars
|
||||
(sv-896 matrix)
|
||||
@@ -184,7 +184,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cylinder-flat
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod ray-flat-cyl-intersect cylinder-flat ((obj cylinder-flat) (probe-origin vector) (probe-dir vector))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(end-pt (new 'stack-no-clear 'vector))
|
||||
@@ -240,8 +240,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cylinder-flat
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod debug-draw cylinder-flat ((obj cylinder-flat) (arg0 vector4w))
|
||||
(local-vars (sv-448 vector) (sv-464 int))
|
||||
(rlet ((vf0 :class vf)
|
||||
|
||||
+27
-27
@@ -185,7 +185,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-line-distance
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-line-distance ((arg0 vector) (arg1 vector) (arg2 vector))
|
||||
(let* ((a1-3 (vector-normalize! (vector-! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(gp-1 (vector-! (new-stack-vector0) arg0 arg1))
|
||||
@@ -197,7 +197,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-line-distance-point!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-line-distance-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(let* ((a1-3 (vector-normalize! (vector-! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(s4-1 (vector-! (new-stack-vector0) arg0 arg1))
|
||||
@@ -257,7 +257,7 @@
|
||||
)
|
||||
|
||||
;; definition for function forward-down->inv-matrix
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-down->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(vector-normalize-copy! (-> arg0 vector 2) arg1 1.0)
|
||||
(vector-cross! (the-as vector (-> arg0 vector)) (-> arg0 vector 2) arg2)
|
||||
@@ -273,7 +273,7 @@
|
||||
)
|
||||
|
||||
;; definition for function forward-down-nopitch->inv-matrix
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-down-nopitch->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(vector-normalize-copy! (-> arg0 vector 1) arg2 1.0)
|
||||
(vector-negate! (-> arg0 vector 1) (-> arg0 vector 1))
|
||||
@@ -290,19 +290,19 @@
|
||||
)
|
||||
|
||||
;; definition for function forward-up-nopitch->inv-matrix
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-up-nopitch->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(forward-down-nopitch->inv-matrix arg0 arg1 (vector-negate! (new-stack-vector0) arg2))
|
||||
)
|
||||
|
||||
;; definition for function forward-up-nopitch->quaternion
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-up-nopitch->quaternion ((arg0 quaternion) (arg1 vector) (arg2 vector))
|
||||
(matrix->quaternion arg0 (forward-up-nopitch->inv-matrix (new-stack-matrix0) arg1 arg2))
|
||||
)
|
||||
|
||||
;; definition for function forward-up->quaternion
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-up->quaternion ((arg0 quaternion) (arg1 vector) (arg2 vector))
|
||||
(matrix->quaternion
|
||||
arg0
|
||||
@@ -311,7 +311,7 @@
|
||||
)
|
||||
|
||||
;; definition for function quaternion-from-two-vectors!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun quaternion-from-two-vectors! ((arg0 quaternion) (arg1 vector) (arg2 vector))
|
||||
(let* ((s5-0 (vector-cross! (new-stack-vector0) arg1 arg2))
|
||||
(f0-0 (vector-length s5-0))
|
||||
@@ -328,7 +328,7 @@
|
||||
)
|
||||
|
||||
;; definition for function quaternion-from-two-vectors-max-angle!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun quaternion-from-two-vectors-max-angle! ((arg0 quaternion) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let* ((s5-0 (vector-cross! (new-stack-vector0) arg1 arg2))
|
||||
(f30-0 (vector-length s5-0))
|
||||
@@ -356,7 +356,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-two-vectors!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-from-two-vectors! ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(let* ((a1-3 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(f0-1 (vector-dot arg1 arg2))
|
||||
@@ -369,7 +369,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-two-vectors-max-angle!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-from-two-vectors-max-angle! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(f30-0 (vector-dot arg1 arg2))
|
||||
@@ -394,7 +394,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-two-vectors-max-angle-partial!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-from-two-vectors-max-angle-partial! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float) (arg4 float))
|
||||
(let* ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(f28-0 (vector-dot arg1 arg2))
|
||||
@@ -420,7 +420,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-from-two-vectors-partial-linear!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-from-two-vectors-partial-linear! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let ((gp-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0))
|
||||
(f0-1 (vector-dot arg1 arg2))
|
||||
@@ -444,7 +444,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-remove-z-rot
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-remove-z-rot ((arg0 matrix) (arg1 matrix))
|
||||
(let ((s4-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -471,7 +471,7 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-rot-diff!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-rot-diff! ((arg0 vector) (arg1 matrix) (arg2 matrix))
|
||||
(let ((s3-0 (new-stack-quaternion0))
|
||||
(s2-0 (new-stack-quaternion0))
|
||||
@@ -498,7 +498,7 @@
|
||||
)
|
||||
|
||||
;; definition for function quaternion-seek
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun quaternion-seek ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float) (arg4 float))
|
||||
(let ((s5-0 (new-stack-matrix0))
|
||||
(s4-0 (new-stack-matrix0))
|
||||
@@ -513,7 +513,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-deg-seek
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-deg-seek ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let ((s4-0 (new-stack-matrix0)))
|
||||
(matrix-from-two-vectors-max-angle! s4-0 arg1 arg2 arg3)
|
||||
@@ -522,7 +522,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-deg-slerp
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-deg-slerp ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(cond
|
||||
((>= 0.0 arg3)
|
||||
@@ -547,7 +547,7 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-vector-deg-slerp!
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-vector-deg-slerp! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector))
|
||||
(local-vars (sv-112 (function float float float float)))
|
||||
(cond
|
||||
@@ -636,8 +636,8 @@
|
||||
)
|
||||
|
||||
;; definition for function closest-pt-in-triangle
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun closest-pt-in-triangle ((arg0 vector) (arg1 vector) (arg2 matrix) (arg3 vector))
|
||||
(local-vars (v1-0 float) (v1-4 int) (v1-5 int) (v1-6 int) (v1-7 int) (v1-10 int) (a0-1 float) (a1-1 float))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -844,8 +844,8 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function circle-test
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defun circle-test ()
|
||||
(let ((s4-0 (new 'stack 'sphere))
|
||||
(a1-2 (new 'stack 'sphere))
|
||||
@@ -864,8 +864,8 @@
|
||||
)
|
||||
|
||||
;; definition for function vector-circle-tangent-new
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun vector-circle-tangent-new ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(rlet ((Q :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -983,8 +983,8 @@
|
||||
)
|
||||
|
||||
;; definition for function calculate-basis-functions-vector!
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sll v1, a1, 2]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [addu v1, a3, v1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sll v1, a1, 2]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [addu v1, a3, v1]
|
||||
(defun calculate-basis-functions-vector! ((arg0 vector) (arg1 int) (arg2 float) (arg3 (pointer float)))
|
||||
(local-vars (v1-0 int) (v1-1 object))
|
||||
(.sll v1-0 arg1 2)
|
||||
@@ -1043,8 +1043,8 @@
|
||||
)
|
||||
|
||||
;; definition for function curve-evaluate!
|
||||
;; WARN: Unsupported inline assembly instruction kind - [addiu v1, s3, -3]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sll v1, v1, 4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [addiu v1, s3, -3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sll v1, v1, 4]
|
||||
(defun curve-evaluate! ((arg0 vector) (arg1 float) (arg2 (inline-array vector)) (arg3 int) (arg4 (pointer float)) (arg5 int))
|
||||
(local-vars (v1-7 int) (v1-8 int) (v1-10 float) (s3-0 int))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -1151,7 +1151,7 @@
|
||||
)
|
||||
|
||||
;; definition for function curve-length
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun curve-length ((arg0 curve))
|
||||
(let ((s5-0 (new-stack-vector0))
|
||||
(s4-0 (new-stack-vector0))
|
||||
|
||||
+1
-1
@@ -72,8 +72,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 0 of type vol-control
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs vol-control.
|
||||
;; Used lq/sq
|
||||
(defmethod new vol-control ((allocation symbol) (type-to-make type) (arg0 process-drawable))
|
||||
(let ((gp-0 (the-as object (object-new allocation type-to-make (the-as int (-> type-to-make size))))))
|
||||
(when (zero? (the-as vol-control gp-0))
|
||||
|
||||
+1
-1
@@ -14,6 +14,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type plane-volume
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
@@ -25,7 +26,6 @@
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
;; WARN: Stack slot offset 148 signed mismatch
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-9 plane-volume ((obj plane-volume) (arg0 symbol) (arg1 vector-array) (arg2 vector-array))
|
||||
(local-vars
|
||||
(sv-144 vector)
|
||||
|
||||
+1
-1
@@ -35,8 +35,8 @@
|
||||
)
|
||||
|
||||
;; definition for function upload-vis-bits
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun upload-vis-bits ((arg0 level) (arg1 level) (arg2 bsp-header))
|
||||
(let ((qwc (/ (+ (-> arg2 visible-list-length) 15) 16)))
|
||||
(let ((lev-vis-bits (the-as (pointer uint128) (-> arg0 vis-bits)))
|
||||
|
||||
+4
-4
@@ -25,7 +25,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type gs-store-image-packet
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect gs-store-image-packet ((obj gs-store-image-packet))
|
||||
(format #t "[~8x] ~A~%" obj 'gs-store-image-packet)
|
||||
(format #t "~Tvifcode[4] @ #x~X~%" (-> obj vifcode))
|
||||
@@ -44,8 +44,8 @@
|
||||
)
|
||||
|
||||
;; definition for function gs-set-default-store-image
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun gs-set-default-store-image ((packet gs-store-image-packet)
|
||||
(src-fbp int)
|
||||
(src-w int)
|
||||
@@ -80,7 +80,7 @@
|
||||
)
|
||||
|
||||
;; definition for function store-image
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun store-image ((oddeven int))
|
||||
(local-vars (ptr-1 (pointer uint8)) (y-idx int) (y-idx-2 int))
|
||||
(let ((width 512)
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@
|
||||
)
|
||||
|
||||
;; definition for function depth-cue-set-stencil
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun depth-cue-set-stencil ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int) (arg4 dma-gif-packet))
|
||||
(let* ((v1-0 arg0)
|
||||
(t1-0 (the-as object (-> v1-0 base)))
|
||||
@@ -111,7 +111,7 @@
|
||||
)
|
||||
|
||||
;; definition for function depth-cue-draw-depth
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun depth-cue-draw-depth ((arg0 dma-buffer) (arg1 int) (arg2 float) (arg3 float) (arg4 int) (arg5 int))
|
||||
(set! (-> *depth-cue-work* draw-color w) (the int (* 128.0 arg3)))
|
||||
(let ((v1-1 (the int (* 512.0 arg2)))
|
||||
@@ -255,7 +255,7 @@
|
||||
)
|
||||
|
||||
;; definition for function depth-cue-draw-front
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun depth-cue-draw-front ((arg0 dma-buffer) (arg1 int) (arg2 float) (arg3 float) (arg4 uint) (arg5 int))
|
||||
(set! (-> *depth-cue-work* draw-color w) (the int (* 128.0 arg3)))
|
||||
(let ((v1-1 (the int (* 512.0 arg2)))
|
||||
|
||||
+1
-1
@@ -29,12 +29,12 @@
|
||||
)
|
||||
|
||||
;; definition for function render-eyes
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 16 signed mismatch
|
||||
;; WARN: Stack slot offset 16 signed mismatch
|
||||
;; WARN: Stack slot offset 16 signed mismatch
|
||||
;; WARN: Stack slot offset 16 signed mismatch
|
||||
;; INFO: Return type mismatch vector4w vs pointer.
|
||||
;; Used lq/sq
|
||||
(defun render-eyes ((arg0 dma-buffer) (arg1 eye-control) (arg2 int))
|
||||
(local-vars (sv-16 float))
|
||||
(let ((s4-0 32)
|
||||
|
||||
+1
-1
@@ -367,7 +367,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ad-cmd
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect ad-cmd ((obj ad-cmd))
|
||||
(format #t "[~8x] ~A~%" obj 'ad-cmd)
|
||||
(format #t "~Tword[4] @ #x~X~%" (&-> obj data))
|
||||
|
||||
+20
-20
@@ -70,26 +70,26 @@
|
||||
|
||||
;; definition for function generic-merc-execute-all
|
||||
;; INFO: Return type mismatch profile-frame vs none.
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin v1, 0]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin v1, 1]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin v1, 0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [cache dxwbin v1, 1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
(defun generic-merc-execute-all ((arg0 dma-buffer))
|
||||
(local-vars (a0-26 int) (a0-28 int))
|
||||
(when (nonzero? (-> *merc-global-array* count))
|
||||
|
||||
+1
-1
@@ -5,8 +5,8 @@
|
||||
(define generic-vu1-block (new 'static 'vu-function :length #x446 :qlength #x223))
|
||||
|
||||
;; definition for function generic-setup-constants
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun generic-setup-constants ((arg0 generic-constants) (arg1 int))
|
||||
(let ((a2-0 *math-camera*))
|
||||
(set-vector! (-> arg0 fog) (-> a2-0 pfog0) (-> a2-0 fog-min) (-> a2-0 fog-max) 3071.0)
|
||||
|
||||
+2
-2
@@ -73,7 +73,7 @@
|
||||
)
|
||||
|
||||
;; definition for function put-draw-env
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun put-draw-env ((arg0 (pointer gif-tag)))
|
||||
(dma-send (the-as dma-bank #x1000a000) (the-as uint arg0) (+ (-> arg0 0 nloop) 1))
|
||||
(none)
|
||||
@@ -198,7 +198,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type display
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect display ((obj display))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Tdisplay-env0: #<display-env @ #x~X>~%" (-> obj display-env0))
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@
|
||||
)
|
||||
|
||||
;; definition for function set-display
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun set-display ((disp display) (psm int) (w int) (h int) (ztest int) (zpsm int))
|
||||
(let ((v1-0 (-> disp gif-tag0)))
|
||||
(set! (-> v1-0 tag) (new 'static 'gif-tag64 :nloop #x8 :eop #x1 :nreg #x1))
|
||||
|
||||
+1
-1
@@ -884,7 +884,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type gif-packet
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect gif-packet ((obj gif-packet))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Treg-count: ~D~%" (-> obj reg-count))
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type generic-merc-tag
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect generic-merc-tag ((obj generic-merc-tag))
|
||||
(format #t "[~8x] ~A~%" obj 'generic-merc-tag)
|
||||
(format #t "~Tdma: #x~X~%" (-> obj dma))
|
||||
|
||||
+1
-1
@@ -385,7 +385,7 @@
|
||||
)
|
||||
|
||||
;; definition for function merc-vu1-initialize-chain
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun merc-vu1-initialize-chain ((arg0 dma-gif-packet))
|
||||
(let ((gp-0 (the-as object (merc-vu1-add-vu-function (the-as dma-packet arg0) merc-vu1-block 1))))
|
||||
(set! (-> (the-as dma-gif-packet gp-0) dma-vif dma) (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt)))
|
||||
|
||||
+7
-7
@@ -5,8 +5,8 @@
|
||||
(define ocean-mid-block (new 'static 'vu-function :length #x497 :qlength #x24c))
|
||||
|
||||
;; definition for function ocean-mid-setup-constants
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch vector vs none.
|
||||
;; Used lq/sq
|
||||
(defun ocean-mid-setup-constants ((arg0 ocean-mid-constants))
|
||||
(let ((v1-0 *math-camera*))
|
||||
(set! (-> arg0 hmge-scale quad) (-> v1-0 hmge-scale quad))
|
||||
@@ -357,8 +357,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-mid-add-matrices
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; Used lq/sq
|
||||
(defun ocean-mid-add-matrices ((arg0 dma-buffer) (arg1 vector))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(-> *math-camera* camera-rot)
|
||||
@@ -402,7 +402,7 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-mid-check
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun ocean-mid-check ((arg0 pointer) (arg1 int) (arg2 int) (arg3 vector))
|
||||
(local-vars (v0-0 symbol) (v1-10 float) (a3-2 float) (a3-6 float) (a3-10 float))
|
||||
(rlet ((vf1 :class vf)
|
||||
@@ -509,7 +509,7 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-mid-add-upload
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun ocean-mid-add-upload ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 float))
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
(let ((v1-1 (-> *ocean-map* start-corner)))
|
||||
@@ -660,8 +660,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-mid-add-upload-table
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun ocean-mid-add-upload-table ((arg0 dma-buffer) (arg1 uint) (arg2 uint) (arg3 (pointer float)) (arg4 int) (arg5 symbol))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -1031,8 +1031,8 @@
|
||||
)
|
||||
|
||||
;; definition for function draw-ocean-mid
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun draw-ocean-mid ((arg0 dma-buffer))
|
||||
(rlet ((vf16 :class vf)
|
||||
(vf17 :class vf)
|
||||
|
||||
+4
-4
@@ -33,8 +33,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-near-setup-constants
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch vector4w vs none.
|
||||
;; Used lq/sq
|
||||
(defun ocean-near-setup-constants ((arg0 ocean-near-constants))
|
||||
(let ((v1-0 *math-camera*))
|
||||
(set! (-> arg0 hmge-scale quad) (-> v1-0 hmge-scale quad))
|
||||
@@ -388,8 +388,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-near-add-matrices
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; Used lq/sq
|
||||
(defun ocean-near-add-matrices ((arg0 dma-buffer) (arg1 vector))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(-> *math-camera* camera-rot)
|
||||
@@ -433,9 +433,9 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-near-add-upload
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun ocean-near-add-upload ((arg0 dma-buffer) (arg1 uint) (arg2 uint))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
|
||||
+2
-2
@@ -79,7 +79,7 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-texture-add-envmap
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun ocean-texture-add-envmap ((arg0 dma-buffer))
|
||||
(let ((v1-0 (-> arg0 base)))
|
||||
(set! (-> (the-as (pointer uint128) v1-0) 0) (-> *ocean-texture-work* adgif-tmpl dma-vif quad))
|
||||
@@ -190,8 +190,8 @@
|
||||
)
|
||||
|
||||
;; definition for function draw-ocean-texture
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun draw-ocean-texture ((arg0 dma-buffer) (arg1 (inline-array vector)) (arg2 symbol))
|
||||
(local-vars (sv-16 (inline-array vector)) (sv-32 int) (sv-48 vector) (sv-64 (inline-array vector)))
|
||||
(set! sv-64 arg1)
|
||||
|
||||
+6
-6
@@ -99,8 +99,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-trans-add-upload-table
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun ocean-trans-add-upload-table ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 (pointer float)) (arg4 int) (arg5 symbol))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -301,8 +301,8 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-trans-add-upload-strip
|
||||
;; WARN: Function may read a register that is not set: f31
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: f31
|
||||
(defun ocean-trans-add-upload-strip ((arg0 dma-buffer) (arg1 uint) (arg2 uint) (arg3 uint) (arg4 uint) (arg5 uint))
|
||||
(local-vars
|
||||
(r0-0 int)
|
||||
@@ -425,7 +425,7 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-transition-check
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun ocean-transition-check ((arg0 ocean-trans-mask) (arg1 int) (arg2 int) (arg3 vector))
|
||||
(local-vars (v0-0 symbol) (v1-10 float) (a3-2 float) (a3-6 float) (a3-10 float))
|
||||
(rlet ((vf1 :class vf)
|
||||
@@ -504,7 +504,7 @@
|
||||
)
|
||||
|
||||
;; definition for function ocean-make-trans-camera-masks
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun ocean-make-trans-camera-masks ((arg0 uint) (arg1 uint) (arg2 uint) (arg3 uint))
|
||||
(local-vars (sv-48 ocean-trans-mask) (sv-52 vector) (sv-56 vector) (sv-60 vector))
|
||||
(set! sv-48 (-> *ocean-work* trans-camera-masks (+ (* arg2 4) arg3)))
|
||||
|
||||
+1
-1
@@ -129,8 +129,8 @@
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition (debug) for function ripple-add-debug-sphere
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defun-debug ripple-add-debug-sphere ((arg0 process-drawable) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(let ((f30-0 (- (quaternion-y-angle (-> arg0 root quat))))
|
||||
(s5-0 (new-stack-vector0))
|
||||
|
||||
+2
-2
@@ -116,8 +116,8 @@
|
||||
(define shadow-vu1-block (new 'static 'vu-function :length #x2e4 :qlength #x172))
|
||||
|
||||
;; definition for function shadow-vu1-add-constants
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch dma-buffer vs none.
|
||||
;; Used lq/sq
|
||||
(defun shadow-vu1-add-constants ((arg0 dma-buffer))
|
||||
(let* ((a2-0 13)
|
||||
(v1-0 arg0)
|
||||
@@ -189,8 +189,8 @@
|
||||
)
|
||||
|
||||
;; definition for function shadow-vu1-add-matrix
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch dma-buffer vs none.
|
||||
;; Used lq/sq
|
||||
(defun shadow-vu1-add-matrix ((arg0 dma-buffer) (arg1 math-camera))
|
||||
(let ((v1-0 4))
|
||||
(let* ((a2-4 arg0)
|
||||
|
||||
+3
-3
@@ -49,8 +49,8 @@
|
||||
)
|
||||
|
||||
;; definition for function compute-and-draw-shadow
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun compute-and-draw-shadow ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float) (arg5 float))
|
||||
(local-vars
|
||||
(v1-10 float)
|
||||
@@ -113,8 +113,8 @@
|
||||
)
|
||||
|
||||
;; definition for function find-ground-and-draw-shadow
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun find-ground-and-draw-shadow ((arg0 vector)
|
||||
(arg1 vector)
|
||||
(arg2 float)
|
||||
@@ -160,8 +160,8 @@
|
||||
)
|
||||
|
||||
;; definition for function do-target-shadow
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior do-target-shadow target ()
|
||||
(if (and (logtest? (-> self control status) (cshape-moving-flags onsurf))
|
||||
(!= (-> self control unknown-surface00 mode) 'swim)
|
||||
|
||||
+1
-1
@@ -298,7 +298,7 @@
|
||||
(set! (-> *instance-shrub-work* mscalf-ret-tmpl vif0 imm) 103)
|
||||
|
||||
;; definition for function upload-generic-shrub
|
||||
;; Used lq/sq
|
||||
;; INFO: Used lq/sq
|
||||
(defun upload-generic-shrub ((arg0 dma-buffer) (arg1 generic-shrub-fragment) (arg2 int) (arg3 int))
|
||||
(let* ((v1-0 arg0)
|
||||
(t0-0 (the-as object (-> v1-0 base)))
|
||||
|
||||
+1
-1
@@ -220,8 +220,8 @@
|
||||
)
|
||||
|
||||
;; definition for function shrubbery-login-post-texture
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defun shrubbery-login-post-texture ((obj shrubbery))
|
||||
(let* ((shader-count (-> obj header data 0))
|
||||
(dst (the-as qword (+ (the-as uint (-> obj header)) (* (+ (-> obj header data 1) 1) 16))))
|
||||
|
||||
+6
-6
@@ -147,10 +147,10 @@
|
||||
;; ERROR: function has no type analysis. Cannot decompile.
|
||||
|
||||
;; definition for function close-sky-buffer
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; WARN: Function may read a register that is not set: ra
|
||||
;; WARN: Unsupported inline assembly instruction kind - [jr ra]
|
||||
;; Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: ra
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
|
||||
(defun close-sky-buffer ((arg0 dma-buffer))
|
||||
(local-vars (ra-0 none))
|
||||
(nop!)
|
||||
@@ -417,8 +417,8 @@
|
||||
)
|
||||
|
||||
;; definition for function sky-tng-setup-cloud-layer
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun sky-tng-setup-cloud-layer ((arg0 float) (arg1 float) (arg2 vector) (arg3 (inline-array sky-vertex)))
|
||||
(let ((f28-0 (sqrtf (- 1.0 (* arg0 arg0))))
|
||||
(f26-0 (sqrtf (- 1.0 (* arg1 arg1))))
|
||||
@@ -824,8 +824,8 @@
|
||||
)
|
||||
|
||||
;; definition for function copy-sky-texture
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; Used lq/sq
|
||||
(defun copy-sky-texture ((arg0 dma-buffer) (arg1 adgif-shader) (arg2 float))
|
||||
(let ((s5-0 (-> arg0 base)))
|
||||
(let ((v1-0 (the int (+ 0.5 (* 128.0 arg2))))
|
||||
@@ -863,8 +863,8 @@
|
||||
)
|
||||
|
||||
;; definition for function copy-cloud-texture
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch pointer vs none.
|
||||
;; Used lq/sq
|
||||
(defun copy-cloud-texture ((arg0 dma-buffer) (arg1 adgif-shader) (arg2 float))
|
||||
(let ((s5-0 (-> arg0 base)))
|
||||
(let ((v1-0 (the int (+ 0.5 (* 128.0 arg2))))
|
||||
|
||||
+2
-6
@@ -138,8 +138,8 @@
|
||||
;; ERROR: function has no type analysis. Cannot decompile.
|
||||
|
||||
;; definition for function sky-draw
|
||||
;; WARN: Type Propagation failed: Failed type prop at op 12 ((set! a0 (+ a0 16))): Cannot get_type_int2: (+ a0 16), args float and <integer 16>
|
||||
;; WARN: Type Propagation failed: Type analysis failed
|
||||
;; ERROR: Type Propagation failed: Failed type prop at op 12 ((set! a0 (+ a0 16))): Cannot get_type_int2: (+ a0 16), args float and <integer 16>
|
||||
;; ERROR: Type Propagation failed: Type analysis failed
|
||||
(defun sky-draw ((a0-0 sky-parms))
|
||||
(local-vars
|
||||
(v0-0 none)
|
||||
@@ -196,7 +196,3 @@
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(sky-set-orbit *sky-parms* 2 0.0 0.0 -10.0 9950.0 0.0 0.0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user