d/jx: More files (#4360)

Breaks the 300 file milestone, also includes the majority of mips2c
functions carried forward. Some functions need some fixes in the c++
code to mips2c properly, and a small handful of the mips2c functions
require manual patching -- all spots were marked with `TODO - fix` that
had to be commented out to get things compiling.
This commit is contained in:
Tyler Wilding
2026-09-04 09:27:06 -04:00
committed by GitHub
parent 65fc564c16
commit 9c86c86c74
335 changed files with 213866 additions and 4131 deletions
+29 -1
View File
@@ -561,7 +561,10 @@ goos::Object decomp_ref_to_inline_array_guess_size(
auto elt_type_info = ts.lookup_type(array_elt_type);
int elt_size = align(elt_type_info->get_size_in_memory(),
elt_type_info->get_inline_array_stride_alignment());
ASSERT(stride == elt_size);
ASSERT_MSG(stride == elt_size,
fmt::format("stride ({}) != elt_size ({}::{}) -- {}/{}", stride, elt_size,
array_elt_type.base_type(), elt_type_info->get_size_in_memory(),
elt_type_info->get_inline_array_stride_alignment()));
// the input is the location of the data field.
// we expect that to be a label:
@@ -1070,12 +1073,37 @@ const std::unordered_map<
}},
{GameVersion::JakX,
{
{"ocean-near-indices",
{{"data", ArrayFieldDecompMeta(TypeSpec("ocean-near-index"), 32)}}},
{"ocean-mid-masks", {{"data", ArrayFieldDecompMeta(TypeSpec("ocean-mid-mask"), 8)}}},
{"lightning-probe-vars",
{{"probe-dirs", ArrayFieldDecompMeta(TypeSpec("vector"), 16)}}},
{"sparticle-launcher",
{{"init-specs", ArrayFieldDecompMeta(TypeSpec("sp-field-init-spec"), 16)}}},
{"sparticle-launch-group",
{{"launcher", ArrayFieldDecompMeta(TypeSpec("sparticle-group-item"), 32)}}},
{"continue-point",
{{"want", ArrayFieldDecompMeta(TypeSpec("level-buffer-state-small"), 8)}}},
{"vehicle-sound-info",
{
{"engine-loop-array",
ArrayFieldDecompMeta(TypeSpec("vehicle-sound-engine-loop-info"), 0x18)},
}},
{"vehicle-rider-info",
{
{"attach-point-array", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
{"attach-node-array", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
}},
{"vehicle-daxter-info",
{
{"chassis-seats", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
{"trunk-seats", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
{"roof-seats", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
}},
{"vehicle-hardpoint-info",
{
{"local-pos-array", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
}},
}}};
goos::Object decompile_structure(const TypeSpec& type,