mirror of
https://github.com/open-goal/jak-project
synced 2026-09-05 18:58:14 -04:00
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user