Conversation
Report for GZLE01 (9cc61c4 - 102141b)📈 Matched code: 57.00% (+0.06%, +4500 bytes) ✅ 62 new matches
...and 32 more new matches Report for GZLJ01 (9cc61c4 - 102141b)📈 Matched code: 55.32% (+0.06%, +4500 bytes) ✅ 62 new matches
...and 32 more new matches Report for GZLP01 (9cc61c4 - 102141b)📈 Matched code: 55.27% (+0.06%, +4500 bytes) ✅ 62 new matches
...and 32 more new matches Report for D44J01 (9cc61c4 - 102141b)📈 Matched code: 44.60% (+0.06%, +4356 bytes) ✅ 61 new matches
...and 31 more new matches 📈 1 improvement in unmatched functions
|
LagoLunatic
left a comment
There was a problem hiding this comment.
FYI, if you're having trouble with matching some specific parts you can ask for help in the discord. Partial review with some things I noticed:
src/d/actor/d_a_tag_kf1.cpp
Outdated
|
|
||
| /* 000010E0-00001100 .text daTag_Kf1_Delete__FP11daTag_Kf1_c */ | ||
| static BOOL daTag_Kf1_Delete(daTag_Kf1_c* i_this) { | ||
| static bool daTag_Kf1_Delete(daTag_Kf1_c* i_this) { |
There was a problem hiding this comment.
These static funcs should always return BOOL not bool. You can get the clrlwi to appear/disappear by changing the return types of the inner functions (e.g. _delete) instead.
src/d/actor/d_a_tag_kf1.cpp
Outdated
| // this line should def load from a_prm_tbl according to asm, | ||
| // but unlike the others the type is not float so do this gross cast instead | ||
| f0x10 = *(u8*)(void*)&a_prm_tbl[2]; |
There was a problem hiding this comment.
a_prm_tbl needs to be a struct, not an array of floats. You can define a custom struct here to match it.
Also, the name being a_prm_tbl$4033 tells you to put the static var inside of the function - $ means an in-function static.
src/d/actor/d_a_tag_kf1.cpp
Outdated
| daObj::PrmAbstract<daTsubo::Act_c::Prm_e>(act, daTsubo::Act_c::PRM_TYPE_W, | ||
| daTsubo::Act_c::PRM_TYPE_S) == 0xe) { |
There was a problem hiding this comment.
Use daTsubo::Act_c's prm_chk_type_kutani inline
src/d/actor/d_a_tag_kf1.cpp
Outdated
| void daTag_Kf1_c::setStt(signed char) { | ||
| char daTag_Kf1_c::setStt(signed char c) { | ||
| stt = c; | ||
| if (stt == 3) { |
There was a problem hiding this comment.
You can match the weird cmpwi here by doing a switch statement on stt that doesn't do anything.
For future reference, if you're having trouble with a function like this, you can ask for help in the discord by posting a scratch: https://github.com/zeldaret/tww/blob/main/docs/decompiling.md#asking-for-help-with-a-function-by-sharing-a-decompme-scratch
Equivalent, appears to only mismatch on data offset.