Created
November 1, 2021 16:40
-
-
Save zbanks/a9d3a08b17e459a3735f15be9fd14cbd to your computer and use it in GitHub Desktop.
mips_to_c output for PM -- files that changed from bug in handling subroutine args
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[INFO] [FAIL] papermario_us_ctx:nonmatchings/17FEB0/calc_item_damage_enemy.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/17FEB0/calc_item_damage_enemy.s changed! Diff: | |
--- | |
+++ | |
@@ -1,30 +1,30 @@ | |
struct _mips2c_stack_calc_item_damage_enemy { | |
/* 0x00 */ char pad_0[0x18]; | |
/* 0x18 */ s32 sp18; /* inferred */ | |
/* 0x1C */ s32 sp1C; /* inferred */ | |
/* 0x20 */ s32 sp20; /* inferred */ | |
/* 0x24 */ s32 sp24; /* inferred */ | |
/* 0x28 */ s32 sp28; /* inferred */ | |
/* 0x2C */ s32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
? dispatch_event_actor(Actor*, s32); /* extern */ | |
? func_8024EFE0(f32, f32, f32, ?, s32, s32); /* extern */ | |
? func_80251474(Actor*); /* extern */ | |
-? func_802664DC(f32, f32, f32, s16); /* extern */ | |
+? func_802664DC(f32, f32, f32, s16, s32); /* extern */ | |
? func_80266970(Actor*); /* extern */ | |
? func_80266ADC(Actor*); /* extern */ | |
? func_80267018(Actor*, ?); /* extern */ | |
s32 get_defense(Actor*, u32*, s32); /* extern */ | |
? inflict_status(Actor*, ?, s16); /* extern */ | |
? playFX_24(s32, f32, f32, f32, f32, s32); /* extern */ | |
? playFX_30(?, f32, f32, f32); /* extern */ | |
? playFX_5F(?, f32, f32, f32, f32, s32); /* extern */ | |
? remove_status_static(s16); /* extern */ | |
? remove_status_transparent(s16); /* extern */ | |
s32 try_inflict_status(Actor*, ?, ?); /* extern */ | |
extern ? func_80271588; | |
static s32 DoShrinkHit[0xA] = {0x43, 1, (s32) &func_80271588, 2, 0, 1, 0, 0, 0, 0}; | |
s32 DoDizzyHit[0]; /* unable to generate initializer */ | |
s32 DoFreezeHit[0]; /* unable to generate initializer */ | |
@@ -490,36 +490,36 @@ | |
dispatch_event_actor(temp_ret, phi_s2_17); | |
if (sp20 == 0x100) { | |
temp_a2 = gBattleStatus.lastAttackDamage; | |
if (((s32) temp_a2 > 0) && ((gBattleStatus.flags1 & 0x20) != 0)) { | |
inflict_status(temp_v0, 0xD, temp_a2); | |
} | |
} | |
if ((temp_v0->flags & 0x2000000) == 0) { | |
temp_a3 = gBattleStatus.lastAttackDamage; | |
if (temp_a3 == 0) { | |
if ((sp1C == 0) && (phi_s5_2 == 0)) { | |
func_8024EFE0(phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, 0, 1, 3); | |
} | |
} else if (sp18 == 0) { | |
if ((gBattleStatus.currentAttackElement & 0x20000040) != 0) { | |
- show_damage_popup(phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, (s32) temp_a3); | |
+ show_damage_popup(phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, (s32) temp_a3, 0); | |
} else { | |
- func_802664DC(phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, temp_a3); | |
+ func_802664DC(phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, temp_a3, 0); | |
} | |
if ((temp_s7->targetFlags & 4) == 0) { | |
- func_802666E4(temp_v0, phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, (s16) (s32) gBattleStatus.lastAttackDamage); | |
+ func_802666E4(temp_v0, phi_s1->goalPos.x, phi_s1->goalPos.y, phi_s1->goalPos.z, (s16) 0, (s32) gBattleStatus.lastAttackDamage); | |
} | |
} | |
} | |
if ((s32) gBattleStatus.lastAttackDamage > 0) { | |
if (sp18 == 0) { | |
func_80267018(temp_v0, 1); | |
phi_a0_3 = 0xEA; | |
if (sp24 != 0) { | |
} else { | |
phi_a0_3 = 0x37B; | |
if (sp28 != 0) { | |
} else { | |
phi_a0_3 = 0xEB; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/182B30/func_802591EC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/182B30/func_802591EC.s changed! Diff: | |
--- | |
+++ | |
@@ -3,31 +3,31 @@ | |
}; /* size = 0x20 */ | |
? func_80259A48(void*, ?, s32, s32); /* extern */ | |
? func_80259AAC(void*, ?, s32, s32); /* extern */ | |
? func_80259D9C(void*, ?, s32, s32); /* extern */ | |
? func_8025A2C4(void*, ?, s32, s32); /* extern */ | |
? func_8025A50C(void*, ?, s32, s32); /* extern */ | |
? func_8025A74C(void*, ?, s32, s32); /* extern */ | |
? func_8025AA80(void*, ?, s32, s32); /* extern */ | |
? func_8025AD90(void*, ?, s32, s32); /* extern */ | |
? func_8025B1A8(void*, ?, s32, s32); /* extern */ | |
? func_8025B5C0(void*, ?, s32, s32, s32); /* extern */ | |
? func_8025BAA0(void*, ?, ?, s32, s32); /* extern */ | |
? func_8025C120(void*, ?, s32, s32); /* extern */ | |
? spr_draw_npc_sprite(s32, ?, s32, s32); /* extern */ | |
-? spr_draw_player_sprite(s32, ?, s32, ?); /* extern */ | |
+? spr_draw_player_sprite(s32, ?, s32, ?, s32); /* extern */ | |
? func_802591EC(s32 arg0, void* arg1, ? arg2, s32 arg3, s32 arg4) { | |
s16 temp_v1; | |
s32 temp_a1; | |
s32 temp_v0; | |
s8 temp_v1_2; | |
s32 phi_a2; | |
s32 phi_a0; | |
s32 phi_a2_2; | |
s32 phi_a0_2; | |
s32 phi_a2_3; | |
? phi_a3; | |
s32 phi_a2_4; | |
s32 phi_t0; | |
@@ -43,31 +43,31 @@ | |
phi_a2 = phi_a2_4; | |
if ((temp_a1 & 0x100) != 0) { | |
temp_v0 = phi_a2_4 * 0x78; | |
phi_a2 = ((s32) (MULT_HI(temp_v0, 0x80808081) + temp_v0) >> 7) - (temp_v0 >> 0x1F); | |
phi_t0 = 0x80000000; | |
} | |
phi_a2_2 = phi_a2; | |
phi_a2_3 = phi_a2; | |
if (arg0 == 0) { | |
if (phi_a2 == 0xFF) { | |
phi_a0 = 0; | |
phi_a2_2 = 0; | |
} else { | |
phi_a0 = phi_t0; | |
} | |
- spr_draw_player_sprite(phi_a0, arg2, phi_a2_2, 0); | |
+ spr_draw_player_sprite(phi_a0, arg2, phi_a2_2, 0, arg3); | |
return 0; | |
} | |
if (phi_a2 == 0xFF) { | |
phi_a0_2 = arg1->unk_84; | |
phi_a2_3 = 0; | |
} else { | |
phi_a0_2 = arg1->unk_84 | phi_t0; | |
} | |
spr_draw_npc_sprite(phi_a0_2, arg2, phi_a2_3, 0); | |
return 0; | |
} | |
temp_v1_2 = arg1->unk_C0->unk_6C0; | |
switch (temp_v1_2) { | |
case 0: | |
func_80259A48(arg1, arg2, arg3, arg4); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/182B30/func_802597B0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/182B30/func_802597B0.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_802597B0 { | |
/* 0x00 */ char pad_0[0x30]; | |
}; /* size = 0x30 */ | |
? func_8025995C(void*, ?, s32); /* extern */ | |
-? spr_draw_player_sprite(s32, ?, s32, ?); /* extern */ | |
+? spr_draw_player_sprite(s32, ?, s32, ?, s32); /* extern */ | |
s32* spr_get_player_palettes(u16, s32); /* extern */ | |
void func_802597B0(void* arg0, ? arg1, s32 arg2) { | |
s16 temp_v1; | |
s32 temp_a0; | |
s32 temp_a2; | |
s32 temp_a2_2; | |
s32 temp_v0; | |
s32* temp_v0_2; | |
s8 temp_v0_4; | |
u16* temp_v1_2; | |
u8 temp_v0_3; | |
void* temp_s0; | |
s32 phi_a0; | |
s32 phi_a2; | |
@@ -33,31 +33,31 @@ | |
temp_s0 = arg0->unk_C0; | |
phi_a0_2 = 0; | |
phi_a0 = 0; | |
phi_a2_4 = 0xFF; | |
if ((s32) temp_v1 < 0xFF) { | |
phi_a0 = 0x80000000; | |
phi_a2_4 = (s32) temp_v1; | |
} | |
phi_a2 = phi_a2_4; | |
if ((arg0->unk_0 & 0x100) != 0) { | |
temp_v0 = phi_a2_4 * 0x78; | |
phi_a0 = 0x80000000; | |
phi_a2 = ((s32) (MULT_HI(temp_v0, 0x80808081) + temp_v0) >> 7) - (temp_v0 >> 0x1F); | |
} | |
if (temp_s0->unk_768 == 0) { | |
- spr_draw_player_sprite(phi_a0, arg1, phi_a2, 0); | |
+ spr_draw_player_sprite(phi_a0, arg1, phi_a2, 0, arg2); | |
return; | |
} | |
temp_v0_2 = spr_get_player_palettes(arg0->unk_88, phi_a2); | |
temp_s0->unk_6D0 = temp_v0_2; | |
temp_s0->unk_6CD = 0U; | |
if (*temp_v0_2 != -1) { | |
do { | |
temp_v0_3 = temp_s0->unk_6CD + 1; | |
temp_s0->unk_6CD = temp_v0_3; | |
} while (*(((s32) (temp_v0_3 << 0x18) >> 0x16) + temp_v0_2) != -1); | |
} | |
temp_v0_4 = (s8) temp_s0->unk_6CD; | |
phi_a2_2 = 0; | |
phi_v0 = (s32) temp_v0_4; | |
phi_a2_3 = 0; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/19FAF0/calc_player_damage_enemy.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/19FAF0/calc_player_damage_enemy.s changed! Diff: | |
--- | |
+++ | |
@@ -155,31 +155,31 @@ | |
/* 0x18 */ Actor* sp18; /* inferred */ | |
/* 0x1C */ s32 sp1C; /* inferred */ | |
/* 0x20 */ s32 sp20; /* inferred */ | |
/* 0x24 */ s32 sp24; /* inferred */ | |
/* 0x28 */ s32 sp28; /* inferred */ | |
/* 0x2C */ s32 sp2C; /* inferred */ | |
/* 0x30 */ s32 sp30; /* inferred */ | |
/* 0x34 */ char pad_34[0x2C]; | |
}; /* size = 0x60 */ | |
s32 count_power_plus(s32); /* extern */ | |
? dispatch_damage_event_player_1(?, ?); /* extern */ | |
? dispatch_event_actor(Actor*, s32); /* extern */ | |
? func_8024EFE0(f32, f32, f32, ?, s32, s32); /* extern */ | |
? func_80251474(Actor*); /* extern */ | |
-? func_802664DC(f32, f32, f32, s16); /* extern */ | |
+? func_802664DC(f32, f32, f32, s16, s32); /* extern */ | |
? func_80266970(Actor*); /* extern */ | |
? func_80266ADC(Actor*); /* extern */ | |
? func_80266E14(ActorPart*); /* extern */ | |
? func_80267018(Actor*, ?); /* extern */ | |
s32 get_defense(Actor*, u32*, s32); /* extern */ | |
? playFX_24(?, f32, f32, f32, f32, s32); /* extern */ | |
? playFX_30(?, f32, f32, f32); /* extern */ | |
? playFX_33(?, f32, f32, f32, f32, s32); /* extern */ | |
? playFX_5F(?, f32, f32, f32, f32, s32); /* extern */ | |
? playFX_7E(?, f32, f32, f32, f32, s32); /* extern */ | |
s32 player_team_is_ability_active(Actor*, ?); /* extern */ | |
? sfx_play_sound(?); /* extern */ | |
s32 try_inflict_status(Actor*, ?, ?); /* extern */ | |
extern ? func_80271588; | |
static s32 DoShrinkHit[0xA] = {0x43, 1, (s32) &func_80271588, 2, 0, 1, 0, 0, 0, 0}; | |
@@ -879,36 +879,36 @@ | |
gBattleStatus.wasStatusInflicted = phi_s7_2; | |
dispatch_event_actor(temp_v0, phi_s1_28); | |
if ((temp_v0->flags & 0x2000000) == 0) { | |
temp_a3 = gBattleStatus.lastAttackDamage; | |
if (temp_a3 == 0) { | |
if (phi_s6 == 0) { | |
if (phi_s7_2 == 0) { | |
func_8024EFE0(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, 0, 1, 3); | |
} | |
goto block_300; | |
} | |
goto block_301; | |
} | |
if (sp1C == 0) { | |
if ((gBattleStatus.currentAttackElement & 0x20000040) != 0) { | |
- show_damage_popup(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s32) temp_a3); | |
+ show_damage_popup(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s32) temp_a3, 0); | |
} else { | |
- func_802664DC(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, temp_a3); | |
+ func_802664DC(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, temp_a3, 0); | |
} | |
if ((temp_fp->targetFlags & 4) == 0) { | |
- func_802666E4(temp_v0, temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s16) (s32) gBattleStatus.lastAttackDamage); | |
+ func_802666E4(temp_v0, temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s16) 0, (s32) gBattleStatus.lastAttackDamage); | |
} | |
} | |
goto block_300; | |
} | |
block_300: | |
if (phi_s6 != 0) { | |
block_301: | |
if ((gBattleStatus.flags1 & 0x40) == 0) { | |
goto block_302; | |
} | |
goto block_303; | |
} | |
block_302: | |
if ((gBattleStatus.flags1 & 0x40) != 0) { | |
block_303: | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/1A5830/calc_enemy_damage_target.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/1A5830/calc_enemy_damage_target.s changed! Diff: | |
--- | |
+++ | |
@@ -694,31 +694,31 @@ | |
} else { | |
goto block_229; | |
} | |
} else if (temp_s6 != 0x200) { | |
} else { | |
temp_a3 = gBattleStatus.lastAttackDamage; | |
if (temp_a3 == 0) { | |
if ((phi_s7 == 0) && (phi_s5_2 == 0)) { | |
phi_v0_3 = 3; | |
goto block_240; | |
} | |
} else { | |
if ((gBattleStatus.currentAttackElement & 0x20000040) != 0) { | |
- show_damage_popup(temp_s1->unk_C, temp_s1->unk_10, temp_s1->unk_14, (s32) temp_a3); | |
+ show_damage_popup(temp_s1->unk_C, temp_s1->unk_10, temp_s1->unk_14, (s32) temp_a3, 0); | |
} else { | |
goto block_243; | |
} | |
goto block_244; | |
} | |
} | |
} else { | |
block_229: | |
temp_a3_2 = gBattleStatus.lastAttackDamage; | |
if (temp_a3_2 == 0) { | |
if ((phi_s7 == 0) && (phi_s5_2 == 0)) { | |
phi_v0_3 = -3; | |
block_240: | |
func_8024EFE0(temp_s1->unk_C, temp_s1->unk_10, (bitwise s32) temp_s1->unk_14, 0.0f, phi_v0_3); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/1A5830/dispatch_damage_event_actor.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/1A5830/dispatch_damage_event_actor.s changed! Diff: | |
--- | |
+++ | |
@@ -46,31 +46,31 @@ | |
if (phi_s2_2 == 0x17) { | |
phi_s2_3 = 0x19; | |
} | |
} | |
phi_s2_4 = phi_s2_3; | |
phi_s2_4 = phi_s2_3; | |
if (phi_s2_3 == 0x20) { | |
if (arg2 == 0x11) { | |
phi_s2_4 = 0x25; | |
} | |
if (arg2 == 0x2F) { | |
phi_s2_4 = 0x26; | |
} | |
} | |
if (arg3 != 0) { | |
- show_damage_popup(temp_s1->unk_C, temp_s1->unk_10, temp_s1->unk_14, (s32) gBattleStatus.lastAttackDamage); | |
+ show_damage_popup(temp_s1->unk_C, temp_s1->unk_10, temp_s1->unk_14, (s32) gBattleStatus.lastAttackDamage, 0); | |
func_802666E4(arg0, temp_s1->unk_C, temp_s1->unk_10, temp_s1->unk_14, (s16) (s32) gBattleStatus.lastAttackDamage); | |
} else { | |
temp_s1_2 = arg0->targetActorID; | |
if (func_80263230(arg0, arg0) == 0) { | |
arg0->targetActorID = temp_s1_2; | |
} else { | |
show_damage_popup((f32) arg0->targetData[0].pos[0], (f32) arg0->targetData[0].pos[1], (f32) arg0->targetData[0].pos[2], (s32) gBattleStatus.lastAttackDamage, 0); | |
func_802666E4(arg0, (f32) arg0->targetData[0].pos[0], (f32) arg0->targetData[0].pos[1], (f32) arg0->targetData[0].pos[2], (s16) (s32) gBattleStatus.lastAttackDamage); | |
arg0->targetActorID = temp_s1_2; | |
} | |
} | |
if ((s32) gBattleStatus.lastAttackDamage > 0) { | |
func_80267018(arg0, 1); | |
} | |
arg0->flags |= 0x80000; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/1AC760/calc_partner_damage_enemy.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/1AC760/calc_partner_damage_enemy.s changed! Diff: | |
--- | |
+++ | |
@@ -1,31 +1,31 @@ | |
struct _mips2c_stack_calc_partner_damage_enemy { | |
/* 0x00 */ char pad_0[0x18]; | |
/* 0x18 */ Actor* sp18; /* inferred */ | |
/* 0x1C */ s32 sp1C; /* inferred */ | |
/* 0x20 */ s32 sp20; /* inferred */ | |
/* 0x24 */ s32 sp24; /* inferred */ | |
/* 0x28 */ s32 sp28; /* inferred */ | |
/* 0x2C */ s32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
? dispatch_damage_event_partner_1(?, ?); /* extern */ | |
? dispatch_event_actor(Actor*, s32); /* extern */ | |
? func_8024EFE0(f32, f32, f32, ?, s32, s32); /* extern */ | |
? func_80251474(Actor*); /* extern */ | |
-? func_802664DC(f32, f32, f32, s16); /* extern */ | |
+? func_802664DC(f32, f32, f32, s16, s32); /* extern */ | |
? func_80266970(Actor*); /* extern */ | |
? func_80266ADC(Actor*); /* extern */ | |
? func_80266E14(ActorPart*); /* extern */ | |
? func_80267018(Actor*, ?); /* extern */ | |
s32 get_defense(Actor*, u32*, s32); /* extern */ | |
? playFX_24(s32, f32, f32, f32, f32, s32); /* extern */ | |
? playFX_30(?, f32, f32, f32); /* extern */ | |
? playFX_5F(?, f32, f32, f32, f32, s32); /* extern */ | |
s32 try_inflict_status(Actor*, ?, ?); /* extern */ | |
extern ? func_80271588; | |
static s32 DoShrinkHit[0xA] = {0x43, 1, (s32) &func_80271588, 2, 0, 1, 0, 0, 0, 0}; | |
s32 DoDizzyHit[0]; /* unable to generate initializer */ | |
s32 DoFreezeHit[0]; /* unable to generate initializer */ | |
s32 DoParalyzeHit[0]; /* unable to generate initializer */ | |
s32 DoPoisonHit[0]; /* unable to generate initializer */ | |
@@ -615,36 +615,36 @@ | |
gBattleStatus.wasStatusInflicted = phi_s5_2; | |
dispatch_event_actor(temp_ret, phi_s1_26); | |
if ((temp_v0->flags & 0x2000000) == 0) { | |
temp_a3 = gBattleStatus.lastAttackDamage; | |
if (temp_a3 == 0) { | |
if (phi_fp == 0) { | |
if (phi_s5_2 == 0) { | |
func_8024EFE0(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, 0, 1, 3); | |
} | |
goto block_262; | |
} | |
goto block_263; | |
} | |
if (sp20 == 0) { | |
if ((gBattleStatus.currentAttackElement & 0x20000040) != 0) { | |
- show_damage_popup(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s32) temp_a3); | |
+ show_damage_popup(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s32) temp_a3, 0); | |
} else { | |
- func_802664DC(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, temp_a3); | |
+ func_802664DC(temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, temp_a3, 0); | |
} | |
if ((temp_s6->targetFlags & 4) == 0) { | |
- func_802666E4(temp_v0, temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s16) (s32) gBattleStatus.lastAttackDamage); | |
+ func_802666E4(temp_v0, temp_s2->goalPos.x, temp_s2->goalPos.y, temp_s2->goalPos.z, (s16) 0, (s32) gBattleStatus.lastAttackDamage); | |
} | |
} | |
goto block_262; | |
} | |
block_262: | |
if (phi_fp != 0) { | |
block_263: | |
if ((gBattleStatus.flags1 & 0x240) == 0) { | |
goto block_264; | |
} | |
goto block_266; | |
} | |
block_264: | |
temp_v1_3 = gBattleStatus.flags1; | |
if (((temp_v1_3 & 0x240) != 0) && ((temp_v1_3 & 0x80) == 0)) { | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/2e230_len_2190/func_80053E58.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/2e230_len_2190/func_80053E58.s changed! Diff: | |
--- | |
+++ | |
@@ -1,58 +1,62 @@ | |
struct _mips2c_stack_func_80053E58 { | |
/* 0x00 */ char pad_0[0x18]; | |
/* 0x18 */ s32 sp18; /* inferred */ | |
/* 0x1C */ s32 sp1C; /* inferred */ | |
/* 0x20 */ char pad_20[0x20]; | |
}; /* size = 0x40 */ | |
-? snd_load_BK(s32, s32); /* extern */ | |
+? snd_load_BK(s32, s32, s32, u32); /* extern */ | |
s32 func_80053E58(s32 arg0, s32* arg1) { | |
s32 sp18; | |
InitSongEntry* temp_s1; | |
SBNFileEntry* temp_a0; | |
UnkAl19E0* temp_s2; | |
s32 temp_s0; | |
s32 temp_s3; | |
s32 temp_v0; | |
+ s32 temp_v1; | |
u16 temp_v0_2; | |
+ u32 temp_v0_3; | |
InitSongEntry* phi_s1; | |
s32 phi_s0; | |
s32 phi_v0; | |
s32 phi_s3; | |
s32 phi_s3_2; | |
temp_s2 = D_8009A5C0; | |
temp_s1 = &temp_s2->songList[arg0]; | |
temp_v0 = snd_fetch_SBN_file((u16) temp_s1->bgmFileIndex, 0x10, &sp18); | |
temp_s3 = temp_v0; | |
phi_v0 = temp_s3; | |
phi_s3_2 = temp_s3; | |
if (temp_s3 == 0) { | |
snd_read_rom(sp18, arg1, sp1C & 0xFFFFFF); | |
phi_s1 = temp_s1; | |
phi_s0 = 0; | |
do { | |
temp_v0_2 = phi_s1->bkFileIndex[0]; | |
phi_s3 = phi_s3_2; | |
phi_s3 = phi_s3_2; | |
if (temp_v0_2 != 0) { | |
temp_a0 = &temp_s2->sbnFileList[temp_v0_2]; | |
- if (((u32) temp_a0->unk_4 >> 0x18) != 0x30) { | |
+ temp_v1 = (temp_a0->offset & 0xFFFFFF) + temp_s2->baseRomOffset; | |
+ temp_v0_3 = temp_a0->unk_4; | |
+ if ((temp_v0_3 >> 0x18) != 0x30) { | |
phi_s3 = 0x66; | |
goto block_7; | |
} | |
- snd_load_BK((temp_a0->offset & 0xFFFFFF) + temp_s2->baseRomOffset, phi_s0); | |
+ snd_load_BK(temp_v1, phi_s0, temp_v1, temp_v0_3); | |
phi_s1 += 2; | |
} else { | |
block_7: | |
phi_s1 += 2; | |
} | |
temp_s0 = phi_s0 + 1; | |
phi_s0 = temp_s0; | |
phi_v0 = phi_s3; | |
phi_s3_2 = phi_s3; | |
} while (temp_s0 < 3); | |
} | |
return phi_v0; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/2e230_len_2190/func_80054AA0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/2e230_len_2190/func_80054AA0.s changed! Diff: | |
--- | |
+++ | |
@@ -1,54 +1,54 @@ | |
struct _mips2c_stack_func_80054AA0 { | |
/* 0x00 */ char pad_0[0x18]; | |
/* 0x18 */ s32 sp18; /* inferred */ | |
/* 0x1C */ char pad_1C[0x64]; | |
}; /* size = 0x80 */ | |
void** snd_get_BK_instruments(s32, s32); /* extern */ | |
-? snd_swizzle_BK_instruments(s32*, s32*, void**, ?); /* extern */ | |
+? snd_swizzle_BK_instruments(s32*, s32*, void**, ?, s32); /* extern */ | |
s32* func_80054AA0(s32* arg0, s32* arg1, s32 arg2, s32 arg3) { | |
s32 sp18; | |
u16 temp_v0_2; | |
u32 temp_a1; | |
void** temp_v0; | |
u32 phi_s1; | |
s32* phi_s3; | |
void** phi_s5; | |
s32* phi_s3_2; | |
s32* phi_a0; | |
void** phi_v1; | |
u32 phi_a1; | |
u32 phi_s0; | |
s32 phi_s2; | |
s32* phi_s3_3; | |
u32 phi_s0_2; | |
phi_s1 = 0xBU; | |
phi_s3 = arg1; | |
phi_s5 = saved_reg_s5; | |
phi_s2 = 1; | |
do { | |
phi_s3_2 = phi_s3; | |
phi_s3_3 = phi_s3; | |
phi_s3_3 = phi_s3; | |
if (phi_s1 != 0xB) { | |
if (phi_s1 >= 0xCU) { | |
if (phi_s1 != 0x15) { | |
if (phi_s1 == 0x1F) { | |
- snd_swizzle_BK_instruments(phi_s3, phi_s3, phi_s5, 0x10); | |
+ snd_swizzle_BK_instruments(phi_s3, phi_s3, phi_s5, 0x10, 0); | |
phi_s1 = 0U; | |
} else { | |
phi_s2 = 0; | |
} | |
} else { | |
if (phi_s3 == 0) { | |
phi_s3_2 = alHeapAlloc(D_80078E54->unk_18, 1, sp18.unk_4); | |
} | |
snd_read_rom(*arg0, phi_s3_2, sp18.unk_4); | |
temp_v0 = snd_get_BK_instruments(arg3, arg2); | |
phi_a0 = &sp18; | |
phi_v1 = temp_v0; | |
phi_a1 = 0U; | |
phi_s3_3 = phi_s3_2; | |
phi_s5 = temp_v0; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/2e230_len_2190/snd_load_BGM.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/2e230_len_2190/snd_load_BGM.s changed! Diff: | |
--- | |
+++ | |
@@ -1,56 +1,60 @@ | |
struct _mips2c_stack_snd_load_BGM { | |
/* 0x00 */ char pad_0[0x38]; | |
}; /* size = 0x38 */ | |
-? snd_load_BK(s32, s32); /* extern */ | |
+? snd_load_BK(s32, s32, s32, u32); /* extern */ | |
? snd_load_BGM(s32 arg0) { | |
SBNFileEntry* temp_a0; | |
UnkAl19E0* temp_s2; | |
s32 temp_s0; | |
+ s32 temp_v1; | |
u16 temp_v0; | |
u16 temp_v0_2; | |
+ u32 temp_v0_3; | |
InitSongEntry* phi_v1; | |
InitSongEntry* phi_s1; | |
s32 phi_s0; | |
? phi_s3; | |
? phi_s3_2; | |
? phi_s3_3; | |
temp_s2 = D_8009A5C0; | |
phi_v1 = temp_s2->songList; | |
phi_s3 = 0; | |
phi_s3_3 = 0; | |
loop_1: | |
temp_v0 = phi_v1->bgmFileIndex; | |
if (temp_v0 != 0xFFFF) { | |
if (temp_v0 != arg0) { | |
phi_v1 += 8; | |
goto loop_1; | |
} | |
phi_s1 = phi_v1; | |
phi_s0 = 0; | |
do { | |
temp_v0_2 = phi_s1->bkFileIndex[0]; | |
phi_s3_2 = phi_s3_3; | |
phi_s3_2 = phi_s3_3; | |
if (temp_v0_2 != 0) { | |
temp_a0 = &temp_s2->sbnFileList[temp_v0_2]; | |
- if (((u32) temp_a0->unk_4 >> 0x18) != 0x30) { | |
+ temp_v1 = (temp_a0->offset & (0xFF0000 | 0xFFFF)) + temp_s2->baseRomOffset; | |
+ temp_v0_3 = temp_a0->unk_4; | |
+ if ((temp_v0_3 >> 0x18) != 0x30) { | |
phi_s3_2 = 0x66; | |
goto block_11; | |
} | |
- snd_load_BK((temp_a0->offset & (0xFF0000 | 0xFFFF)) + temp_s2->baseRomOffset, phi_s0); | |
+ snd_load_BK(temp_v1, phi_s0, temp_v1, temp_v0_3); | |
phi_s1 += 2; | |
} else { | |
block_11: | |
phi_s1 += 2; | |
} | |
temp_s0 = phi_s0 + 1; | |
phi_s0 = temp_s0; | |
phi_s3 = phi_s3_2; | |
phi_s3_3 = phi_s3_2; | |
} while (temp_s0 < 3); | |
} | |
return phi_s3; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/341d0/func_80059310.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/341d0/func_80059310.s changed! Diff: | |
--- | |
+++ | |
@@ -1,23 +1,23 @@ | |
struct _mips2c_stack_func_80059310 { | |
/* 0x00 */ char pad_0[0x2C]; | |
/* 0x2C */ s32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x38]; | |
}; /* size = 0x68 */ | |
void* func_80059AB8(void*, u32, s32, s32, void*); /* extern */ | |
-f32 func_80059BD4(void*, ?); /* extern */ | |
+f32 func_80059BD4(void*, ?, s16); /* extern */ | |
void* func_80059310(void* arg0, void* arg1, s16 arg2, s16 arg3) { | |
s32 sp2C; | |
f32 temp_f0; | |
f32 temp_f20; | |
s32 temp_f6; | |
s32 temp_s0; | |
s32 temp_s5; | |
s32 temp_v1_2; | |
u32 temp_a0_2; | |
u32 temp_a1_2; | |
u32 temp_fp; | |
u32 temp_s7; | |
u32 temp_v1; | |
void* temp_a0; | |
@@ -66,95 +66,95 @@ | |
temp_s7 = temp_a0 - (temp_s3->unk_0 * 2); | |
phi_s7 = (void* ) temp_s7; | |
phi_s2_2 = phi_s2; | |
if (temp_s7 < temp_v1) { | |
phi_s7 = temp_s7 + (arg0->unk_8 * 2); | |
} | |
temp_fp = temp_a0 - (temp_s3->unk_4 * 2); | |
phi_fp = (void* ) temp_fp; | |
if (temp_fp < temp_v1) { | |
phi_fp = temp_fp + (arg0->unk_8 * 2); | |
} | |
if (phi_s7 == phi_s4) { | |
phi_s6 = subroutine_arg9; | |
} else { | |
phi_s2->unk_0 = (s32) ((subroutine_arg9 & 0xFFF) | 0x4170000); | |
- phi_s2->unk_4 = osVirtualToPhysical(phi_s7); | |
+ phi_s2->unk_4 = osVirtualToPhysical(phi_s7, arg2); | |
phi_s2_2 = phi_s2 + 8; | |
} | |
if (temp_s3->unk_28 != 0) { | |
temp_s0 = temp_s3->unk_4 - temp_s3->unk_0; | |
- temp_f20 = (f32) (1.0 - (f64) ((f32) (s32) ((func_80059BD4(temp_s3, 0xB8) / (f32) temp_s0) * 32768.0f) * 0.000030517578f)); | |
+ temp_f20 = (f32) (1.0 - (f64) ((f32) (s32) ((func_80059BD4(temp_s3, 0xB8, arg2) / (f32) temp_s0) * 32768.0f) * 0.000030517578f)); | |
temp_v0 = temp_s3->unk_28; | |
temp_f0 = temp_v0->unk_8 + (temp_f20 * 184.0f); | |
temp_f6 = (s32) temp_f0; | |
temp_v0->unk_8 = (f32) (temp_f0 - (f32) temp_f6); | |
temp_a1 = arg0->unk_4 + ((temp_s3->unk_18 - temp_s3->unk_4) * 2); | |
temp_v1_2 = (s32) ((s32) temp_a1 & 7) >> 1; | |
temp_s5 = temp_v1_2 * 2; | |
temp_a1_2 = temp_a1 - temp_s5; | |
phi_a1 = temp_a1_2; | |
if (temp_a1_2 < (u32) arg0->unk_0) { | |
phi_a1 = temp_a1_2 + (arg0->unk_8 * 2); | |
} | |
temp_s2_3 = func_80059AB8(arg0, phi_a1, sp2C, temp_f6 + temp_v1_2, phi_s2_2); | |
temp_s2_3->unk_0 = (s32) ((osVirtualToPhysical(temp_s3->unk_28->unk_0) & 0xFFFFFF) | 0x5000000); | |
temp_s2_3->unk_4 = (s32) ((temp_s3->unk_28->unk_C << 0x1E) | (((s32) (temp_f20 * 32768.0f) & 0xFFFF) << 0xE) | (((sp2C + temp_s5) & 0xFFF) * 4) | (((s32) (phi_s6 << 0x10) >> 0x18) & 3)); | |
temp_s3->unk_28->unk_C = 0; | |
temp_s3->unk_18 = (s32) (temp_s3->unk_18 - 0xB8 + temp_f6); | |
phi_s2_3 = temp_s2_3 + 8; | |
} else { | |
phi_s2_2->unk_0 = (s32) ((phi_s6 & 0xFFF) | 0x4170000); | |
- phi_s2_2->unk_4 = osVirtualToPhysical(phi_fp); | |
+ phi_s2_2->unk_4 = osVirtualToPhysical(phi_fp, arg2); | |
phi_s2_3 = phi_s2_2 + 8; | |
} | |
phi_s2_4 = phi_s2_3; | |
if (temp_s3->unk_8 != 0) { | |
phi_s2_3->unk_4 = (s32) ((subroutine_arg9 << 0x10) | (phi_s6 & 0xFFFF)); | |
phi_s2_3->unk_0 = (s32) ((u16) temp_s3->unk_8 | 0xC000000); | |
temp_s2_4 = phi_s2_3 + 8; | |
phi_s2_4 = temp_s2_4; | |
if ((temp_s3->unk_28 == 0) && (temp_s3->unk_20 == 0)) { | |
temp_s2_4->unk_0 = (s32) ((phi_s6 & 0xFFF) | 0x6170000); | |
- temp_s2_4->unk_4 = osVirtualToPhysical(phi_fp); | |
+ temp_s2_4->unk_4 = osVirtualToPhysical(phi_fp, arg2); | |
phi_s2_4 = temp_s2_4 + 8; | |
} | |
} | |
phi_s2_5 = phi_s2_4; | |
if (temp_s3->unk_A != 0) { | |
temp_s2_5 = phi_s2_4 + 8; | |
phi_s2_4->unk_4 = (s32) ((phi_s6 << 0x10) | subroutine_arg9); | |
phi_s2_4->unk_0 = (s32) ((u16) temp_s3->unk_A | 0xC000000); | |
temp_s2_5->unk_0 = (s32) ((subroutine_arg9 & 0xFFF) | 0x6170000); | |
- temp_s2_5->unk_4 = osVirtualToPhysical(phi_s7); | |
+ temp_s2_5->unk_4 = osVirtualToPhysical(phi_s7, arg2); | |
phi_s2_5 = temp_s2_5 + 8; | |
} | |
phi_s2_6 = phi_s2_5; | |
if (temp_s3->unk_20 != 0) { | |
phi_s2_5->unk_0 = 0xB000020; | |
temp_s2_6 = phi_s2_5 + 8; | |
- phi_s2_5->unk_4 = osVirtualToPhysical(temp_s3->unk_20 + 8); | |
+ phi_s2_5->unk_4 = osVirtualToPhysical(temp_s3->unk_20 + 8, arg2); | |
temp_v0_2 = temp_s3->unk_20; | |
temp_s2_6->unk_0 = (s32) ((temp_v0_2->unk_2F << 0x10) | (temp_v0_2->unk_2 | 0xE000000)); | |
temp_s2_6->unk_4 = (s32) ((((s32) (phi_s6 << 0x10) >> 0x18) << 0x18) | (osVirtualToPhysical(temp_s3->unk_20->unk_28) & 0xFFFFFF)); | |
temp_s3->unk_20->unk_2C = 0; | |
phi_s2_6 = temp_s2_6 + 8; | |
} | |
phi_s2_7 = phi_s2_6; | |
if (temp_s3->unk_28 == 0) { | |
phi_s2_6->unk_0 = (s32) ((phi_s6 & 0xFFF) | 0x6170000); | |
- phi_s2_6->unk_4 = osVirtualToPhysical(phi_fp); | |
+ phi_s2_6->unk_4 = osVirtualToPhysical(phi_fp, arg2); | |
phi_s2_7 = phi_s2_6 + 8; | |
} | |
phi_s2_9 = phi_s2_7; | |
if (temp_s3->unk_C != 0) { | |
phi_s2_7->unk_4 = (s32) ((phi_s6 << 0x10) | subroutine_argA); | |
phi_s2_7->unk_0 = (s32) ((u16) temp_s3->unk_C | 0xC000000); | |
phi_s2_9 = phi_s2_7 + 8; | |
} | |
phi_s4 = arg0->unk_4 + (temp_s3->unk_4 * 2); | |
phi_s2 = phi_s2_9; | |
phi_s2_8 = phi_s2_9; | |
} while ((s32) (s16) (subroutine_arg7 + 1) < (s32) arg0->unk_10); | |
} | |
temp_a0_2 = arg0->unk_0; | |
temp_v1_3 = arg0->unk_4 + 0x170; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/cd180_len_38f0/_render_transition_stencil.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/cd180_len_38f0/_render_transition_stencil.s changed! Diff: | |
--- | |
+++ | |
@@ -1,24 +1,24 @@ | |
struct _mips2c_stack__render_transition_stencil { | |
/* 0x00 */ char pad_0[0x24]; | |
/* 0x24 */ s32 sp24; /* inferred */ | |
/* 0x28 */ char pad_28[0x50]; | |
}; /* size = 0x78 */ | |
? func_80138E54(?, s32, s32, f32, f32); /* extern */ | |
? func_80139F10(s32, s32, f32, u8, s32, s32, s32, s32); /* extern */ | |
-? guOrtho(Matrix4s*, ?, ?, ?, f32, f32, f32, f32); /* extern */ | |
+? guOrtho(Matrix4s*, ?, ?, ?, f32, f32, f32, f32, s8); /* extern */ | |
static ? D_8014E618; /* unable to generate initializer */ | |
static ? D_8014E670; /* unable to generate initializer */ | |
static ? D_8014E6C0; /* unable to generate initializer */ | |
static ? D_8014E718; /* unable to generate initializer */ | |
static ? D_8014E8F0; /* unable to generate initializer */ | |
static ? D_8014E9A8; /* unable to generate initializer */ | |
static ? D_8014EA48; /* unable to generate initializer */ | |
void _render_transition_stencil(s32 arg0, f32 arg1, s32 arg2) { | |
s32 sp24; | |
Camera* temp_t1; | |
Gfx* temp_a0; | |
Gfx* temp_a0_10; | |
Gfx* temp_a0_11; | |
Gfx* temp_a0_12; | |
@@ -202,31 +202,31 @@ | |
phi_f28 = arg2->unk_14; | |
phi_s3 = arg2->unk_0; | |
phi_s4 = (s32) arg2->unk_1; | |
phi_s5 = (s32) arg2->unk_2; | |
} else { | |
phi_s1 = 0; | |
phi_s2 = 0; | |
phi_s6 = 0; | |
phi_s7 = 0; | |
phi_f28 = 0.0f; | |
phi_s3 = 0U; | |
phi_s4 = (s32) 0U; | |
} | |
if (subroutine_arg8 != 0) { | |
if (subroutine_arg8 != 1) { | |
- guOrtho(&temp_fp[gMatrixListPos], 0, 0x43A00000, 0, 240.0f, -1000.0f, 1000.0f, 1.0f); | |
+ guOrtho(&temp_fp[gMatrixListPos], 0, 0x43A00000, 0, 240.0f, -1000.0f, 1000.0f, 1.0f, (s8) arg0); | |
temp_v1 = gMasterGfxPos; | |
temp_v0 = gMatrixListPos; | |
temp_a1 = temp_v1; | |
gMasterGfxPos = temp_v1 + 8; | |
temp_v0_2 = &temp_fp[temp_v0 & 0xFFFF]; | |
temp_a1->words.w0 = 0xDA380007; | |
gMatrixListPos = temp_v0 + 1; | |
temp_a1->words.w1 = (u32) temp_v0_2; | |
switch (subroutine_arg8) { | |
case 4: | |
temp_v0_3 = gMasterGfxPos; | |
temp_t0 = temp_v0_3; | |
gMasterGfxPos = temp_v0_3 + 8; | |
temp_t0->words.w0 = 0xDE000000; | |
temp_t0->words.w1 = (u32) &D_8014E670; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/effects/effect_53/func_E006A94C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/effects/effect_53/func_E006A94C.s changed! Diff: | |
--- | |
+++ | |
@@ -79,31 +79,31 @@ | |
func_E0200420(&sp98, temp_s2->unk_10, temp_s2->unk_14, temp_s2->unk_18); | |
temp_s2_2 = temp_s2 + 0x94; | |
phi_s2 = temp_s2_2; | |
phi_s4 = 1; | |
if (arg0->unk_8 > 1) { | |
temp_s6 = temp_s7 < 2; | |
phi_s1 = temp_s2_2 + 0x24; | |
do { | |
temp_f20 = (f32) phi_s1->unk_0 / 255.0f; | |
if (temp_s6 == 0) { | |
func_E006A85C(phi_s2); | |
} | |
func_E0200410(&sp58, phi_s1->unk_38, 1.0f, 0.0f, 0.0f); | |
func_E0200450(&sp58, &sp98, &sp18); | |
if (temp_s6 != 0) { | |
- func_E0200410(&sp58, phi_s1->unk_3C, 0.0f, 1.0f); | |
+ func_E0200410(&sp58, phi_s1->unk_3C, 0.0f, 1.0f, 0.0f); | |
func_E0200450(&sp58, &sp18, &sp18); | |
func_E0200410(&sp58, phi_s1->unk_40, 0.0f, 0.0f, 1.0f); | |
func_E0200450(&sp58, &sp18, &sp18); | |
func_E0200420(&sp58, phi_s1->unk_34, 0.0f, 0.0f); | |
func_E0200450(&sp58, &sp18, &sp18); | |
temp_v0_2 = gMasterGfxPos; | |
temp_a0 = temp_v0_2; | |
gMasterGfxPos = temp_v0_2 + 8; | |
temp_a0->words.w0 = 0xFA000000; | |
phi_v1 = -0x4B00; | |
phi_a0 = temp_a0; | |
} else { | |
temp_f2 = phi_s1->unk_40; | |
if (temp_s7 != 3) { | |
phi_f0 = temp_f2 + 0.0f; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/npc/appendGfx_npc_blur.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/npc/appendGfx_npc_blur.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_appendGfx_npc_blur { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ ? sp20; /* inferred */ | |
/* 0x20 */ char pad_20[0x40]; | |
/* 0x60 */ ? sp60; /* inferred */ | |
/* 0x60 */ char pad_60[0x98]; | |
}; /* size = 0xF8 */ | |
? func_802DE894(s32, ?, s32, s32, s32, s32, s32); /* extern */ | |
? spr_draw_npc_sprite(s32, s32, ?, ?, ?*); /* extern */ | |
-? spr_draw_player_sprite(?, s32, ?, ?); /* extern */ | |
+? spr_draw_player_sprite(?, s32, ?, ?, ?*); /* extern */ | |
void appendGfx_npc_blur(Npc* npc) { | |
? sp20; | |
? sp60; | |
BlurBuffer* temp_s6; | |
f32 temp_f20; | |
f32 temp_f20_2; | |
f32 temp_f22; | |
f32 temp_f24; | |
s32 temp_s3; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_v1; | |
s32 phi_s2; | |
s32 phi_s2_2; | |
@@ -66,31 +66,31 @@ | |
} | |
if (npc->rotation.x != 0.0f) { | |
guRotateF((f32 [4][4]) (f32 (*)[4]) &sp60, npc->rotation.y, 0.0f, 1.0f, 0.0f); | |
guMtxCatF((f32 [4][4]) (f32 (*)[4]) &sp60, (f32 [4][4]) (f32 (*)[4]) &sp20, (f32 [4][4]) (f32 (*)[4]) &sp20); | |
} | |
if (npc->rotation.z != 0.0f) { | |
guRotateF((f32 [4][4]) (f32 (*)[4]) &sp60, npc->rotation.y, 0.0f, 1.0f, 0.0f); | |
guMtxCatF((f32 [4][4]) (f32 (*)[4]) &sp60, (f32 [4][4]) (f32 (*)[4]) &sp20, (f32 [4][4]) (f32 (*)[4]) &sp20); | |
} | |
if ((((f64) npc->scale.x * 0.7142857142857143) != 1.0) || (((f64) (npc->scale.y * npc->verticalStretch) * 0.7142857142857143) != 1.0) || (((f64) npc->scale.z * 0.7142857142857143) != 1.0)) { | |
guScaleF((f32 [4][4]) (f32 (*)[4]) &sp60, (f32) ((f64) npc->scale.x * 0.7142857142857143), (f32) ((f64) (npc->scale.y * npc->verticalStretch) * 0.7142857142857143), (f32) ((f64) npc->scale.z * 0.7142857142857143)); | |
guMtxCatF((f32 [4][4]) (f32 (*)[4]) &sp60, (f32 [4][4]) (f32 (*)[4]) &sp20, (f32 [4][4]) (f32 (*)[4]) &sp20); | |
} | |
temp_v1 = npc->flags; | |
if ((temp_v1 & 0x40000000) != 0) { | |
- spr_draw_player_sprite(0x40000001, (s32) temp_f20_2, 0, 0); | |
+ spr_draw_player_sprite(0x40000001, (s32) temp_f20_2, 0, 0, &sp20); | |
phi_s2 = phi_s2_2 - 1; | |
} else if ((temp_v1 & 0x1000000) == 0) { | |
spr_draw_npc_sprite(npc->spriteInstanceID, (s32) temp_f20_2, 0, 0, &sp20); | |
phi_s2 = phi_s2_2 - 1; | |
} else { | |
goto loop_1; | |
} | |
goto loop_2; | |
} | |
} else { | |
goto loop_1; | |
} | |
} | |
func_8003D3BC(npc); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/os/43be0_len_5e0/osPfsReadWriteFile.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/os/43be0_len_5e0/osPfsReadWriteFile.s changed! Diff: | |
--- | |
+++ | |
@@ -137,31 +137,31 @@ | |
phi_v1_2 = 5; | |
} | |
} | |
} | |
phi_s1_3 = 0; | |
phi_v1_4 = phi_v1_2; | |
if (phi_v1_2 == 0) { | |
goto block_54; | |
} | |
goto block_69; | |
} | |
block_54: | |
if ((arg0->activebank == (u8) sp13A) || (temp_v0_6 = osPfsSelectBank(arg0, (u8) sp13A), phi_v0_2 = temp_v0_6, (temp_v0_6 == 0))) { | |
temp_a2 = (unksp13B * 8) + phi_s1_3; | |
if ((arg2 & 0xFF) != 0) { | |
- phi_v1_3 = osContRamWrite(arg0->queue, arg0->channel, temp_a2 & 0xFFFF, phi_s2); | |
+ phi_v1_3 = osContRamWrite(arg0->queue, arg0->channel, temp_a2 & 0xFFFF, phi_s2, 0); | |
} else { | |
phi_v1_3 = osContRamRead(arg0->queue, arg0->channel, temp_a2 & 0xFFFF, phi_s2); | |
} | |
phi_s2 += 0x20; | |
phi_v1_4 = phi_v1_3; | |
if (phi_v1_3 == 0) { | |
temp_s3_2 = phi_s3 - 1; | |
phi_s1_2 = phi_s1_3 + 1; | |
phi_s3 = temp_s3_2; | |
if (temp_s3_2 <= 0) { | |
goto block_63; | |
} | |
goto loop_43; | |
} | |
block_69: | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/pause/138CC0/pause_stats_draw_contents.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/pause/138CC0/pause_stats_draw_contents.s changed! Diff: | |
--- | |
+++ | |
@@ -1,23 +1,23 @@ | |
struct _mips2c_stack_pause_stats_draw_contents { | |
/* 0x00 */ char pad_0[0x50]; | |
/* 0x50 */ s32 sp50; /* inferred */ | |
/* 0x54 */ s32 sp54; /* inferred */ | |
/* 0x58 */ char pad_58[0x28]; | |
}; /* size = 0x80 */ | |
-? draw_box(?, ?*, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
+? draw_box(?, ?*, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
? draw_hud_element_2(s32); /* extern */ | |
? draw_hud_element_3(s32); /* extern */ | |
? draw_msg(s32, s32, s32, s32, s32, s32); /* extern */ | |
? func_80242D04(?, s32, s32); /* extern */ | |
? pause_draw_menu_label(?, s32, s32); /* extern */ | |
s32 pause_get_menu_msg(s32); /* extern */ | |
? set_hud_element_anim(s32, ?*); /* extern */ | |
? set_hud_element_render_pos(s32, s32, s32); /* extern */ | |
extern ? D_801083B0; | |
extern ? D_801084F0; | |
static ? D_8024F360; /* unable to generate initializer */ | |
static ? D_8024F370; /* unable to generate initializer */ | |
static ? D_8024F380; /* unable to generate initializer */ | |
static ? D_8024F390; /* unable to generate initializer */ | |
static ? D_8024F3B0; /* unable to generate initializer */ | |
@@ -221,31 +221,31 @@ | |
draw_number(temp_s1 - ((temp_s0_7 * 5) << 1), arg1 + 0xF6, temp_s5_3, 1, 0xA, 0xFF, 2); | |
temp_s0_8 = arg1 + 0x101; | |
draw_msg(pause_get_menu_msg(0x3A), temp_s0_8, arg2 + 0x84, 0xFF, 0xA, 1); | |
draw_msg(pause_get_menu_msg(0x3A), temp_s0_8, arg2 + 0x7F, 0xFF, 0xA, 1); | |
temp_s0_9 = (MULT_HI(phi_s4, 0x7482296B) >> 0xE) - temp_s3_3; | |
draw_number(temp_s0_9 - ((temp_s1 * 3) << 1), arg1 + 0x108, temp_s5_3, 1, 0xA, 0xFF, 2); | |
draw_number((((s32) (MULT_HI(phi_s4, 0x91A2B3C5) + phi_s4) >> 0xB) - temp_s3_3) - ((temp_s0_9 * 5) << 1), arg1 + 0x111, temp_s5_3, 1, 0xA, 0xFF, 2); | |
temp_s2 = (s8) (u8) gPlayerData.bootsLevel; | |
temp_s3_4 = (s8) (u8) gPlayerData.hammerLevel; | |
temp_s4_4 = (s8) gPlayerData.level; | |
if ((s32) temp_s4_4 >= 0xA) { | |
phi_v0 = 0x79; | |
} else { | |
phi_v0 = 0x71; | |
} | |
- draw_box(4, &D_8026FB30, arg1 + 7, arg2 + 0xC, phi_v0, 0x11, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
+ draw_box(4, &D_8026FB30, arg1 + 7, arg2 + 0xC, 0, phi_v0, 0x11, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
set_hud_element_render_pos(gStatsMenuIconIDs->unk_0, arg1 + 0x3D, arg2 + 0x15); | |
temp_s0_10 = arg2 + 0xE; | |
draw_hud_element_3(gStatsMenuIconIDs->unk_0); | |
draw_msg(pause_get_menu_msg(0x43), arg1 + 0x10, temp_s0_10, 0xFF, 0, 1); | |
draw_msg(pause_get_menu_msg(0x44), arg1 + 0x43, temp_s0_10, 0xFF, 0, 1); | |
draw_number((s32) (s16) temp_s4_4, arg1 + 0x6A, temp_s0_10, 1, 0, 0xFF, 2); | |
temp_v0 = temp_s2 + 1; | |
phi_s2 = temp_v0; | |
if (temp_v0 & 0x8000) { | |
phi_s2 = 0; | |
} | |
phi_s2_2 = phi_s2; | |
if ((s32) phi_s2 >= 4) { | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/pause/138CC0/pause_badges_draw_contents.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/pause/138CC0/pause_badges_draw_contents.s changed! Diff: | |
--- | |
+++ | |
@@ -671,52 +671,52 @@ | |
} | |
} | |
temp_v0_13 = gMasterGfxPos; | |
temp_a0_9 = temp_v0_13; | |
gMasterGfxPos = temp_v0_13 + 8; | |
temp_a0_9->words.w0 = 0xE7000000; | |
temp_a0_9->words.w1 = 0; | |
temp_v1_10 = gBadgeMenuCurrentTab; | |
phi_a2_6 = arg1; | |
if (temp_v1_10 == 0) { | |
phi_a2_6 = arg1 + 9; | |
} | |
if (temp_v1_10 == 1) { | |
} | |
- draw_box(4, &D_8026FBD8, phi_a2_6, arg2 + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
+ draw_box(4, &D_8026FBD8, phi_a2_6, arg2 + 7, 0, 0x5B, 0x22, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
temp_v1_11 = gBadgeMenuCurrentTab; | |
phi_a1_2 = arg1 + 0xA; | |
if (temp_v1_11 == 0) { | |
phi_a1_2 = arg1 + 0x13; | |
} | |
phi_a3_3 = 0xFF; | |
phi_a3_4 = 0xFF; | |
phi_a3_5 = 0xFF; | |
if (temp_v1_11 == 1) { | |
phi_a3_3 = 0xBF; | |
} | |
draw_msg(pause_get_menu_msg(0x47), phi_a1_2, arg2 + 0x11, phi_a3_3, 0, 1); | |
temp_v1_12 = gBadgeMenuCurrentTab; | |
phi_a2_7 = arg1; | |
if (temp_v1_12 == 1) { | |
phi_a2_7 = arg1 + 9; | |
} | |
if (temp_v1_12 == 0) { | |
} | |
- draw_box(4, &D_8026FBD8, phi_a2_7, arg2 + 0x25, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
+ draw_box(4, &D_8026FBD8, phi_a2_7, arg2 + 0x25, 0, 0x5B, 0x22, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
temp_v1_13 = gBadgeMenuCurrentTab; | |
phi_a1_3 = arg1 + 0xC; | |
if (temp_v1_13 == 1) { | |
phi_a1_3 = arg1 + 0x15; | |
} | |
if (temp_v1_13 == 0) { | |
phi_a3_4 = 0xBF; | |
} | |
draw_msg(pause_get_menu_msg(0x48), phi_a1_3, arg2 + 0x2A, phi_a3_4, 0, 1); | |
temp_v1_14 = gBadgeMenuCurrentTab; | |
phi_a1_4 = arg1 + 0x1A; | |
if (temp_v1_14 == 1) { | |
phi_a1_4 = arg1 + 0x23; | |
} | |
if (temp_v1_14 == 0) { | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/pause/pause_items/pause_items_draw_contents.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/pause/pause_items/pause_items_draw_contents.s changed! Diff: | |
--- | |
+++ | |
@@ -294,51 +294,51 @@ | |
phi_v0 = gItemMenuCurrentPage + 1; | |
} | |
if ((u8) gItemMenuPages[phi_v0].enabled != 0) { | |
set_hud_element_render_pos(gItemIcons->unk_44, arg1 + 0x116, arg2 + 0x92); | |
draw_hud_element_3(gItemIcons->unk_44); | |
} | |
} | |
temp_v1_3 = gItemMenuCurrentTab; | |
phi_a2_4 = arg1; | |
if (temp_v1_3 == 0) { | |
phi_a2_4 = arg1 + 9; | |
} | |
if (temp_v1_3 == 1) { | |
} | |
- draw_box(4, &D_8026FCB8, phi_a2_4, arg2 + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
+ draw_box(4, &D_8026FCB8, phi_a2_4, arg2 + 7, 0, 0x5B, 0x22, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
temp_v1_4 = gItemMenuCurrentTab; | |
phi_a1_2 = arg1 + 0xC; | |
if (temp_v1_4 == 0) { | |
phi_a1_2 = arg1 + 0x15; | |
} | |
phi_a3_3 = 0xFF; | |
phi_a3_4 = 0xFF; | |
if (temp_v1_4 == 1) { | |
phi_a3_3 = 0xBF; | |
} | |
draw_msg(pause_get_menu_msg(0x4F), phi_a1_2, arg2 + 0x11, phi_a3_3, 0, 1); | |
temp_v1_5 = gItemMenuCurrentTab; | |
phi_a2_5 = arg1; | |
if (temp_v1_5 == 1) { | |
phi_a2_5 = arg1 + 9; | |
} | |
if (temp_v1_5 == 0) { | |
} | |
- draw_box(4, &D_8026FCB8, phi_a2_5, arg2 + 0x27, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
+ draw_box(4, &D_8026FCB8, phi_a2_5, arg2 + 0x27, 0, 0x5B, 0x22, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0x140, 0xF0, 0); | |
temp_v1_6 = gItemMenuCurrentTab; | |
phi_a1_3 = arg1 + 0x19; | |
if (temp_v1_6 == 1) { | |
phi_a1_3 = arg1 + 0x22; | |
} | |
if (temp_v1_6 == 0) { | |
phi_a3_4 = 0xBF; | |
} | |
draw_msg(pause_get_menu_msg(0x50), phi_a1_3, arg2 + 0x31, phi_a3_4, 0, 1); | |
if (gPauseMenuCurrentTab == 3) { | |
if (gItemMenuLevel == 0) { | |
phi_a1_4 = arg1 + 0xC; | |
phi_a2_7 = (gItemMenuCurrentTab << 5) + 0x1A; | |
goto block_94; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/sprite/spr_appendGfx_component_flat.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/sprite/spr_appendGfx_component_flat.s changed! Diff: | |
--- | |
+++ | |
@@ -73,31 +73,31 @@ | |
/* 0x504 */ s16 boolTargetPlayer; | |
/* 0x506 */ u16 unk_506; | |
/* 0x508 */ f32 panPhase; | |
/* 0x50C */ f32 leadAmount; | |
/* 0x510 */ char pad_510[0x10]; /* maybe part of leadAmount[5]? */ | |
/* 0x520 */ f32 unk_520; | |
/* 0x524 */ char pad_524[0x10]; /* maybe part of unk_520[5]? */ | |
/* 0x534 */ ColliderBoundingBox* aabbForZoneBelow; | |
/* 0x538 */ char pad_538[0x20]; /* maybe part of aabbForZoneBelow[9]? */ | |
} Camera; /* size = 0x558 */ | |
struct _mips2c_stack_spr_appendGfx_component_flat { | |
/* 0x00 */ char pad_0[0x38]; | |
}; /* size = 0x38 */ | |
-? render_shaded_sprite(s32, ?, ?, s32, s32); /* extern */ | |
+? render_shaded_sprite(s32, ?, ?, s32, s32, s32, s32); /* extern */ | |
extern ? D_802DF3D0; | |
extern ? D_802DF3E0; | |
void spr_appendGfx_component_flat(u32 arg0, s32 arg1, u32 arg2, s32 arg3, s32 arg4, s32 arg6, s32 arg7) { | |
GameStatus* temp_a2_3; | |
Gfx* temp_a0_2; | |
Gfx* temp_a1_4; | |
Gfx* temp_a1_6; | |
Gfx* temp_a1_7; | |
Gfx* temp_a2; | |
Gfx* temp_a2_2; | |
Gfx* temp_t0; | |
Gfx* temp_t0_2; | |
Gfx* temp_t3; | |
Gfx* temp_t3_2; | |
@@ -218,31 +218,31 @@ | |
gMasterGfxPos = temp_v0_2 + 0x10; | |
temp_v0_2->unk_8 = 0x1004008; | |
temp_v0_2->unk_C = arg0; | |
gMasterGfxPos = temp_v0_2 + 0x18; | |
temp_v0_2->unk_14 = 0x604; | |
temp_v0_2->unk_10 = 0x6000402; | |
gMasterGfxPos = temp_v0_2 + 0x20; | |
temp_v0_2->unk_18 = 0xE7000000; | |
temp_v0_2->unk_1C = 0; | |
} | |
if (arg7 == 0xFF) { | |
phi_v0_2 = 0x111238; | |
} else { | |
phi_v0_2 = 0x104B50; | |
} | |
- render_shaded_sprite(arg6, 0, 0, arg3, phi_v0_2); | |
+ render_shaded_sprite(arg6, 0, 0, arg3, arg4, arg7, phi_v0_2); | |
goto block_33; | |
} | |
gMasterGfxPos = temp_t3_2 + 0x30; | |
temp_t3_2->unk_28 = 0xFD500000; | |
temp_t3_2->unk_2C = arg1; | |
gMasterGfxPos = temp_t3_2 + 0x38; | |
temp_t3_2->unk_30 = 0xF5500000; | |
temp_t3_2->unk_34 = 0x70A0280; | |
gMasterGfxPos = temp_t3_2 + 0x40; | |
temp_t3_2->unk_38 = 0xE6000000; | |
temp_t3_2->unk_3C = 0; | |
gMasterGfxPos = temp_t3_2 + 0x48; | |
temp_t3_2->unk_40 = 0xF3000000; | |
phi_a0 = arg3; | |
if (arg3 < 0) { | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_00/DF6A20/func_80240EB0_DF78B0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_00/DF6A20/func_80240EB0_DF78B0.s changed! Diff: | |
--- | |
+++ | |
@@ -1,30 +1,30 @@ | |
struct _mips2c_stack_func_80240EB0_DF78B0 { | |
/* 0x00 */ char pad_0[0x38]; | |
/* 0x38 */ s32 sp38; /* inferred */ | |
/* 0x3C */ s32 sp3C; /* inferred */ | |
/* 0x40 */ u8 sp40; /* inferred */ | |
/* 0x41 */ u8 sp41; /* inferred */ | |
/* 0x42 */ char pad_42[0x2E]; | |
}; /* size = 0x70 */ | |
-? draw_ci_image_with_clipping(s32, u8, u8, ?, s32); /* extern */ | |
+? draw_ci_image_with_clipping(s32, u8, u8, ?, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_80240EB0_DF78B0(void* arg0, void* arg1) { | |
s32 sp38; | |
f32 temp_f20; | |
f32 temp_f22; | |
f32 temp_f24; | |
s32 phi_v0; | |
temp_f20 = (f32) arg1->unk_10; | |
temp_f22 = (f32) arg1->unk_14; | |
temp_f24 = update_lerp(0, 0.0f, 255.0f, arg1->unk_18, arg0->unk_1C); | |
msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
if (!(temp_f24 >= 2.1474836e9f)) { | |
phi_v0 = (s32) temp_f24 & 0xFF; | |
} else { | |
phi_v0 = ((s32) (temp_f24 - 2.1474836e9f) | 0x80000000) & 0xFF; | |
} | |
- draw_ci_image_with_clipping(sp38, sp40, sp41, 2, phi_v0); | |
+ draw_ci_image_with_clipping(sp38, sp40, sp41, 2, 0, sp3C, (s32) (s16) (s32) temp_f20, (s32) (s16) (s32) temp_f22, 0xA, 0x14, 0x12C, 0xC8, phi_v0); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_00/DF6A20/func_80240540_DF6F40.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_00/DF6A20/func_80240540_DF6F40.s changed! Diff: | |
--- | |
+++ | |
@@ -10,31 +10,31 @@ | |
/* 0x031 */ char pad_31[7]; /* maybe part of sp30[8]? */ | |
/* 0x038 */ s32 sp38; /* inferred */ | |
/* 0x03C */ s32 sp3C; /* inferred */ | |
/* 0x040 */ u8 sp40; /* inferred */ | |
/* 0x041 */ u8 sp41; /* inferred */ | |
/* 0x042 */ u8 sp42; /* inferred */ | |
/* 0x043 */ char pad_43[5]; /* maybe part of sp42[6]? */ | |
/* 0x048 */ ? sp48; /* inferred */ | |
/* 0x048 */ char pad_48[0x40]; | |
/* 0x088 */ ? sp88; /* inferred */ | |
/* 0x088 */ char pad_88[0x88]; | |
}; /* size = 0x110 */ | |
? func_8013AA9C(?, ?, s32, s32, s32, s32, s32); /* extern */ | |
? func_8013AF70(?, s32*, ?, ?*); /* extern */ | |
-? msg_get_glyph(s32, s32, s32, s32); /* extern */ | |
+? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_80240540_DF6F40(void* arg0, void* arg1) { | |
s32 sp20; | |
s32 sp24; | |
s16 sp28; | |
s16 sp2A; | |
s16 sp2C; | |
s16 sp2E; | |
s8 sp30; | |
s32 sp38; | |
? sp48; | |
? sp88; | |
Gfx* temp_t1; | |
Gfx* temp_v0; | |
Gfx* temp_v0_2; | |
@@ -50,31 +50,31 @@ | |
f32 phi_f20; | |
temp_f22 = (f32) arg1->unk_10; | |
temp_f28 = (f32) arg1->unk_14; | |
temp_f0 = update_lerp(0xC, 16.0f, 300.0f, arg1->unk_18, arg0->unk_1C); | |
phi_f0 = temp_f0; | |
if (temp_f0 > 255.0f) { | |
phi_f0 = 255.0f; | |
} | |
func_8013AA9C(0, 7, 0xFF, 0xFF, 0xFF, (s32) phi_f0, 0); | |
temp_f0_2 = update_lerp(0, 0.2f, 2.0f, arg1->unk_18, arg0->unk_1C); | |
phi_f20 = temp_f0_2; | |
if ((f64) temp_f0_2 > 1.0) { | |
phi_f20 = 1.0f; | |
} | |
- msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C); | |
+ msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
guTranslateF((f32 [4][4]) (f32 (*)[4]) &sp48, (f32) ((f64) temp_f22 + ((f64) sp42 * 0.5)), -temp_f28, 0.0f); | |
if ((f64) phi_f20 != 1.0) { | |
guScaleF((f32 [4][4]) (f32 (*)[4]) &sp88, phi_f20, phi_f20, 1.0f); | |
guMtxCatF((f32 [4][4]) (f32 (*)[4]) &sp88, (f32 [4][4]) (f32 (*)[4]) &sp48, (f32 [4][4]) (f32 (*)[4]) &sp48); | |
} | |
temp_s3 = 0x10000 | 0x1630; | |
guMtxF2L((f32 [4][4]) (f32 (*)[4]) &sp48, (Mtx* ) &gDisplayContext->lookAt[0].l[0].l.col[(gMatrixListPos << 6) + temp_s3]); | |
temp_a1 = &sp20; | |
temp_v0 = gMasterGfxPos; | |
temp_t0 = gMatrixListPos; | |
temp_t1 = temp_v0; | |
gMasterGfxPos = temp_v0 + 8; | |
temp_t1->words.w0 = 0xDA380002; | |
temp_t1->words.w1 = (u32) (&gDisplayContext->lookAt[0].l[0].l.col[((temp_t0 & 0xFFFF) << 6) + temp_s3] + 0x80000000); | |
gMatrixListPos = temp_t0 + 1; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_00/DF6A20/func_802419F8_DF83F8.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_00/DF6A20/func_802419F8_DF83F8.s changed! Diff: | |
--- | |
+++ | |
@@ -1,30 +1,30 @@ | |
struct _mips2c_stack_func_802419F8_DF83F8 { | |
/* 0x00 */ char pad_0[0x38]; | |
/* 0x38 */ s32 sp38; /* inferred */ | |
/* 0x3C */ s32 sp3C; /* inferred */ | |
/* 0x40 */ u8 sp40; /* inferred */ | |
/* 0x41 */ u8 sp41; /* inferred */ | |
/* 0x42 */ char pad_42[0x2E]; | |
}; /* size = 0x70 */ | |
-? draw_ci_image_with_clipping(s32, u8, u8, ?, s32); /* extern */ | |
+? draw_ci_image_with_clipping(s32, u8, u8, ?, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_802419F8_DF83F8(void* arg0, void* arg1) { | |
s32 sp38; | |
f32 temp_f20; | |
f32 temp_f22; | |
f32 temp_f24; | |
s32 phi_v0; | |
temp_f20 = (f32) arg1->unk_10; | |
temp_f22 = (f32) arg1->unk_14; | |
temp_f24 = update_lerp(0xB, 255.0f, 0.0f, arg1->unk_18, arg0->unk_50); | |
msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
if (!(temp_f24 >= 2.1474836e9f)) { | |
phi_v0 = (s32) temp_f24 & 0xFF; | |
} else { | |
phi_v0 = ((s32) (temp_f24 - 2.1474836e9f) | 0x80000000) & 0xFF; | |
} | |
- draw_ci_image_with_clipping(sp38, sp40, sp41, 2, phi_v0); | |
+ draw_ci_image_with_clipping(sp38, sp40, sp41, 2, 0, sp3C, (s32) (s16) (s32) temp_f20, (s32) (s16) (s32) temp_f22, 0xA, 0x14, 0x12C, 0xC8, phi_v0); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_01/E05390/func_80240550_E058B0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_01/E05390/func_80240550_E058B0.s changed! Diff: | |
--- | |
+++ | |
@@ -10,31 +10,31 @@ | |
/* 0x031 */ char pad_31[7]; /* maybe part of sp30[8]? */ | |
/* 0x038 */ s32 sp38; /* inferred */ | |
/* 0x03C */ s32 sp3C; /* inferred */ | |
/* 0x040 */ u8 sp40; /* inferred */ | |
/* 0x041 */ u8 sp41; /* inferred */ | |
/* 0x042 */ u8 sp42; /* inferred */ | |
/* 0x043 */ char pad_43[5]; /* maybe part of sp42[6]? */ | |
/* 0x048 */ ? sp48; /* inferred */ | |
/* 0x048 */ char pad_48[0x40]; | |
/* 0x088 */ ? sp88; /* inferred */ | |
/* 0x088 */ char pad_88[0x88]; | |
}; /* size = 0x110 */ | |
? func_8013AA9C(?, ?, s32, s32, s32, s32, s32); /* extern */ | |
? func_8013AF70(?, s32*, ?, ?*); /* extern */ | |
-? msg_get_glyph(s32, s32, s32, s32); /* extern */ | |
+? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_80240550_E058B0(void* arg0, void* arg1) { | |
s32 sp20; | |
s32 sp24; | |
s16 sp28; | |
s16 sp2A; | |
s16 sp2C; | |
s16 sp2E; | |
s8 sp30; | |
s32 sp38; | |
? sp48; | |
? sp88; | |
Gfx* temp_t1; | |
Gfx* temp_v0; | |
Gfx* temp_v0_2; | |
@@ -50,31 +50,31 @@ | |
f32 phi_f20; | |
temp_f22 = (f32) arg1->unk_10; | |
temp_f28 = (f32) arg1->unk_14; | |
temp_f0 = update_lerp(0xC, 16.0f, 300.0f, arg1->unk_18, arg0->unk_1C); | |
phi_f0 = temp_f0; | |
if (temp_f0 > 255.0f) { | |
phi_f0 = 255.0f; | |
} | |
func_8013AA9C(0, 7, 0xFF, 0xFF, 0xFF, (s32) phi_f0, 0); | |
temp_f0_2 = update_lerp(0, 0.2f, 2.0f, arg1->unk_18, arg0->unk_1C); | |
phi_f20 = temp_f0_2; | |
if ((f64) temp_f0_2 > 1.0) { | |
phi_f20 = 1.0f; | |
} | |
- msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C); | |
+ msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
guTranslateF((f32 [4][4]) (f32 (*)[4]) &sp48, (f32) ((f64) temp_f22 + ((f64) sp42 * 0.5)), -temp_f28, 0.0f); | |
if ((f64) phi_f20 != 1.0) { | |
guScaleF((f32 [4][4]) (f32 (*)[4]) &sp88, phi_f20, phi_f20, 1.0f); | |
guMtxCatF((f32 [4][4]) (f32 (*)[4]) &sp88, (f32 [4][4]) (f32 (*)[4]) &sp48, (f32 [4][4]) (f32 (*)[4]) &sp48); | |
} | |
temp_s3 = 0x10000 | 0x1630; | |
guMtxF2L((f32 [4][4]) (f32 (*)[4]) &sp48, (Mtx* ) &gDisplayContext->lookAt[0].l[0].l.col[(gMatrixListPos << 6) + temp_s3]); | |
temp_a1 = &sp20; | |
temp_v0 = gMasterGfxPos; | |
temp_t0 = gMatrixListPos; | |
temp_t1 = temp_v0; | |
gMasterGfxPos = temp_v0 + 8; | |
temp_t1->words.w0 = 0xDA380002; | |
temp_t1->words.w1 = (u32) (&gDisplayContext->lookAt[0].l[0].l.col[((temp_t0 & 0xFFFF) << 6) + temp_s3] + 0x80000000); | |
gMatrixListPos = temp_t0 + 1; | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_01/E05390/func_80240EC0_E06220.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_01/E05390/func_80240EC0_E06220.s changed! Diff: | |
--- | |
+++ | |
@@ -1,30 +1,30 @@ | |
struct _mips2c_stack_func_80240EC0_E06220 { | |
/* 0x00 */ char pad_0[0x38]; | |
/* 0x38 */ s32 sp38; /* inferred */ | |
/* 0x3C */ s32 sp3C; /* inferred */ | |
/* 0x40 */ u8 sp40; /* inferred */ | |
/* 0x41 */ u8 sp41; /* inferred */ | |
/* 0x42 */ char pad_42[0x2E]; | |
}; /* size = 0x70 */ | |
-? draw_ci_image_with_clipping(s32, u8, u8, ?, s32); /* extern */ | |
+? draw_ci_image_with_clipping(s32, u8, u8, ?, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_80240EC0_E06220(void* arg0, void* arg1) { | |
s32 sp38; | |
f32 temp_f20; | |
f32 temp_f22; | |
f32 temp_f24; | |
s32 phi_v0; | |
temp_f20 = (f32) arg1->unk_10; | |
temp_f22 = (f32) arg1->unk_14; | |
temp_f24 = update_lerp(0, 0.0f, 255.0f, arg1->unk_18, arg0->unk_1C); | |
msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
if (!(temp_f24 >= 2.1474836e9f)) { | |
phi_v0 = (s32) temp_f24 & 0xFF; | |
} else { | |
phi_v0 = ((s32) (temp_f24 - 2.1474836e9f) | 0x80000000) & 0xFF; | |
} | |
- draw_ci_image_with_clipping(sp38, sp40, sp41, 2, phi_v0); | |
+ draw_ci_image_with_clipping(sp38, sp40, sp41, 2, 0, sp3C, (s32) (s16) (s32) temp_f20, (s32) (s16) (s32) temp_f22, 0xA, 0x14, 0x12C, 0xC8, phi_v0); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_end/end_01/E05390/func_80241A08_E06D68.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_end/end_01/E05390/func_80241A08_E06D68.s changed! Diff: | |
--- | |
+++ | |
@@ -1,30 +1,30 @@ | |
struct _mips2c_stack_func_80241A08_E06D68 { | |
/* 0x00 */ char pad_0[0x38]; | |
/* 0x38 */ s32 sp38; /* inferred */ | |
/* 0x3C */ s32 sp3C; /* inferred */ | |
/* 0x40 */ u8 sp40; /* inferred */ | |
/* 0x41 */ u8 sp41; /* inferred */ | |
/* 0x42 */ char pad_42[0x2E]; | |
}; /* size = 0x70 */ | |
-? draw_ci_image_with_clipping(s32, u8, u8, ?, s32); /* extern */ | |
+? draw_ci_image_with_clipping(s32, u8, u8, ?, s32, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ | |
? msg_get_glyph(s32, s32, s32, s32, s32*); /* extern */ | |
void func_80241A08_E06D68(void* arg0, void* arg1) { | |
s32 sp38; | |
f32 temp_f20; | |
f32 temp_f22; | |
f32 temp_f24; | |
s32 phi_v0; | |
temp_f20 = (f32) arg1->unk_10; | |
temp_f22 = (f32) arg1->unk_14; | |
temp_f24 = update_lerp(0xB, 255.0f, 0.0f, arg1->unk_18, arg0->unk_50); | |
msg_get_glyph(arg1->unk_4, arg1->unk_8, arg1->unk_0, arg1->unk_C, &sp38); | |
if (!(temp_f24 >= 2.1474836e9f)) { | |
phi_v0 = (s32) temp_f24 & 0xFF; | |
} else { | |
phi_v0 = ((s32) (temp_f24 - 2.1474836e9f) | 0x80000000) & 0xFF; | |
} | |
- draw_ci_image_with_clipping(sp38, sp40, sp41, 2, phi_v0); | |
+ draw_ci_image_with_clipping(sp38, sp40, sp41, 2, 0, sp3C, (s32) (s16) (s32) temp_f20, (s32) (s16) (s32) temp_f22, 0xA, 0x14, 0x12C, 0xC8, phi_v0); | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_hos/hos_03/A1BDB0/func_802425E0_A1D6E0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_hos/hos_03/A1BDB0/func_802425E0_A1D6E0.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_802425E0_A1D6E0 { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_802480C0_A231C0[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_802425E0_A1D6E0(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_802480C0_A231C0; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_iwa/iwa_01/90FBD0/func_80240A7C_91012C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_iwa/iwa_01/90FBD0/func_80240A7C_91012C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_80240A7C_91012C { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_80240A7C_91012C(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_jan/jan_02/B2C8A0/func_80241750_B2DBC0.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_jan/jan_02/B2C8A0/func_80241750_B2DBC0.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_80241750_B2DBC0 { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80243288_B2F6F8[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_80241750_B2DBC0(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80243288_B2F6F8; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_jan/jan_03/B34BD0/func_80241CD8_B368A8.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_jan/jan_03/B34BD0/func_80241CD8_B368A8.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_80241CD8_B368A8 { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80247808_B3C3D8[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_80241CD8_B368A8(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80247808_B3C3D8; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kmr/kmr_02/8B0070/func_802404CC_8B053C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kmr/kmr_02/8B0070/func_802404CC_8B053C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_802404CC_8B053C { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80245674_8B56E4[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_802404CC_8B053C(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80245674_8B56E4; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_09/A4F0A0/func_802405FC_A4F5FC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_09/A4F0A0/func_802405FC_A4F5FC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_802405FC_A4F5FC { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_802405FC_A4F5FC(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_102/A93A50/func_8024086C_A93FAC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_102/A93A50/func_8024086C_A93FAC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_8024086C_A93FAC { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_8024086C_A93FAC(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_111/A99590/func_802406CC_A99C5C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_111/A99590/func_802406CC_A99C5C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_802406CC_A99C5C { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_802406CC_A99C5C(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_115/A9ED40/func_802406CC_A9F40C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_115/A9ED40/func_802406CC_A9F40C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_802406CC_A9F40C { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_802406CC_A9F40C(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_50/A609D0/func_8024055C_A60F2C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_50/A609D0/func_8024055C_A60F2C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_8024055C_A60F2C { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_8024055C_A60F2C(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_kpa/kpa_52/A671E0/func_8024063C_A6773C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_kpa/kpa_52/A671E0/func_8024063C_A6773C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_8024063C_A6773C { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_8024063C_A6773C(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_00/7EB340/func_8024076C_7EB47C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_00/7EB340/func_8024076C_7EB47C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024076C_7EB47C { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80245E64_7F0B74[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024076C_7EB47C(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80245E64_7F0B74; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_01/8017D0/func_8024204C_8028CC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_8024204C_8028CC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024204C_8028CC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80248CD4_809554[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024204C_8028CC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80248CD4_809554; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_02/823BF0/func_802418FC_824BBC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_02/823BF0/func_802418FC_824BBC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_802418FC_824BBC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_802461F4_8294B4[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_802418FC_824BBC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_802461F4_8294B4; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_03/831B20/func_802405EC_831DEC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_03/831B20/func_802405EC_831DEC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_802405EC_831DEC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_802466E8_837EE8[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_802405EC_831DEC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_802466E8_837EE8; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_04/843030/func_8024059C_84316C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_04/843030/func_8024059C_84316C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024059C_84316C { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_8024408C_846C5C[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024059C_84316C(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_8024408C_846C5C; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_mac/mac_05/852170/func_8024145C_8535CC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_mac/mac_05/852170/func_8024145C_8535CC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024145C_8535CC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80245154_8572C4[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024145C_8535CC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80245154_8572C4; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_nok/nok_01/9C53E0/func_80240EA4_9C6284.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_nok/nok_01/9C53E0/func_80240EA4_9C6284.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_80240EA4_9C6284 { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80245FE8_9CB3C8[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_80240EA4_9C6284(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80245FE8_9CB3C8; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_nok/nok_02/9D7AA0/func_80241A4C_9D8A6C.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_nok/nok_02/9D7AA0/func_80241A4C_9D8A6C.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_80241A4C_9D8A6C { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_8024716C_9DE18C[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_80241A4C_9D8A6C(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_8024716C_9DE18C; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_omo/omo_02/D9D510/func_80241EA4_D9F374.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_omo/omo_02/D9D510/func_80241EA4_D9F374.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_80241EA4_D9F374 { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_80241EA4_D9F374(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_omo/omo_09/DCD6B0/func_802428B4_DCF584.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_omo/omo_09/DCD6B0/func_802428B4_DCF584.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_802428B4_DCF584 { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_802428B4_DCF584(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_omo/omo_17/DEF400/func_80242A08_DF18A8.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_omo/omo_17/DEF400/func_80242A08_DF18A8.s changed! Diff: | |
--- | |
+++ | |
@@ -1,26 +1,26 @@ | |
struct _mips2c_stack_func_80242A08_DF18A8 { | |
/* 0x00 */ char pad_0[0x20]; | |
/* 0x20 */ f32 sp20; /* inferred */ | |
/* 0x24 */ f32 sp24; /* inferred */ | |
/* 0x28 */ f32 sp28; /* inferred */ | |
/* 0x2C */ f32 sp2C; /* inferred */ | |
/* 0x30 */ char pad_30[0x28]; | |
}; /* size = 0x58 */ | |
void* evt_get_variable(void*, s32); /* extern */ | |
-? fx_walk(?, f32, f32, f32, s32); /* extern */ | |
+? fx_walk(?, f32, f32, f32, s32, s32); /* extern */ | |
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*); /* extern */ | |
s32 npc_test_move_taller_with_slipping(?, f32*, f32*, f32*, f32, f32, f32, f32); /* extern */ | |
? func_80242A08_DF18A8(void* arg0, s32 arg1) { | |
f32 sp20; | |
f32 sp24; | |
f32 sp28; | |
f32 sp2C; | |
Npc* temp_s0_2; | |
Npc* temp_v0; | |
PlayerStatus* temp_v0_2; | |
f32 temp_f0; | |
f32* temp_a1; | |
f32* temp_s0_3; | |
f32* temp_s1; | |
@@ -121,31 +121,31 @@ | |
sp2C = 1000.0f; | |
if ((npc_raycast_down_sides(temp_v0->unk_80, temp_s0_3, temp_s1, temp_s4_2, temp_v0_3) != 0) && (sp2C < fabsf(temp_v0->jumpVelocity)) && ((f64) fabsf(sp24 - temp_v0->moveToPos.y) < 20.0)) { | |
temp_v0->pos.y = sp24; | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
phi_s6 = 0xA; | |
} | |
if ((f64) sp2C < 1.0) { | |
phi_s6 = 0xB; | |
} | |
temp_v0_4 = (u16) temp_v0->duration - 1; | |
temp_v0->duration = temp_v0_4; | |
if ((temp_v0_4 << 0x10) <= 0) { | |
phi_s6 = 0x14; | |
} | |
if (phi_s6 != 0) { | |
- fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0); | |
+ fx_walk(2, temp_v0->pos.x, temp_v0->pos.y, temp_v0->pos.z, 0, 0); | |
temp_s3->unk_6C = 0; | |
temp_v0->pos.x = 0.0f; | |
temp_v0->pos.z = 0.0f; | |
temp_v0->jumpVelocity = 0.0f; | |
temp_v0->pos.y = -1000.0f; | |
temp_v0->flags |= 2; | |
disable_npc_shadow(temp_v0); | |
temp_v0->flags &= -0x801; | |
temp_s3->unk_0 = (s32) (temp_s3->unk_0 | 0x1F000000); | |
arg0->unk_70 = 0; | |
} else { | |
if ((temp_s3->unk_70 & 1) != 0) { | |
temp_v0->rotation.z = (f32) ((f64) temp_v0->rotation.z + 40.0); | |
} | |
npc_move_heading(temp_v0, temp_v0->moveSpeed, temp_v0->yaw); | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_sam/sam_01/CF7E80/func_8024083C_CF83AC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_sam/sam_01/CF7E80/func_8024083C_CF83AC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024083C_CF83AC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_8024373C_CFB2AC[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024083C_CF83AC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_8024373C_CFB2AC; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_sam/sam_02/D05F60/func_80240C68_D06398.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_sam/sam_02/D05F60/func_80240C68_D06398.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_80240C68_D06398 { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_80246C04_D0C334[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_80240C68_D06398(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_80246C04_D0C334; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] [FAIL] papermario_us_ctx:nonmatchings/world/area_sam/sam_11/D3ADA0/func_8024090C_D3AEDC.s | |
[INFO] Output of ../papermario/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3ADA0/func_8024090C_D3AEDC.s changed! Diff: | |
--- | |
+++ | |
@@ -1,21 +1,21 @@ | |
struct _mips2c_stack_func_8024090C_D3AEDC { | |
/* 0x00 */ char pad_0[0x48]; | |
}; /* size = 0x48 */ | |
s32 evt_get_variable(void*, ?); /* extern */ | |
-? evt_set_variable(void*, ?, s32); /* extern */ | |
+? evt_set_variable(void*, ?, s32, s16, s16); /* extern */ | |
static s32 D_8024501C_D3F5EC[0x14] = { | |
0xFFFFFF94, | |
0, | |
0xFFFFFFB4, | |
0xA, | |
0xFFFFFFCA, | |
0x14, | |
0xFFFFFFF2, | |
0x1E, | |
6, | |
0x25, | |
0x27, | |
0x2C, | |
0x3A, | |
0x34, | |
@@ -26,70 +26,72 @@ | |
0, | |
0x40, | |
}; | |
? func_8024090C_D3AEDC(void* arg0) { | |
Enemy* temp_fp; | |
s32 temp_a0; | |
s32 temp_s0; | |
s32 temp_s0_2; | |
s32 temp_s4; | |
s32 temp_s5; | |
s32 temp_s5_2; | |
s32 temp_s6; | |
s32 temp_s7; | |
s32 temp_v1; | |
+ u8 temp_a3; | |
u8 temp_s2; | |
u8 temp_s3; | |
s32 phi_s0; | |
s32 phi_s0_2; | |
s32 phi_s7; | |
s32* phi_a0; | |
s32 phi_v1; | |
s32 phi_s6; | |
s32 phi_s5; | |
s32 phi_v0; | |
temp_fp = arg0->unk_148; | |
temp_s0 = evt_get_variable((void* )0xF8406268); | |
temp_s7 = evt_get_variable(arg0, 0xF8406269); | |
temp_s6 = evt_get_variable(arg0, 0xF5DE02DE); | |
temp_s5 = evt_get_variable(arg0, 0xF5DE02DF); | |
temp_s3 = temp_fp->unk_6D; | |
temp_s2 = temp_fp->unk_6E; | |
+ temp_a3 = temp_fp->unk_6F; | |
temp_s4 = temp_s3 & 0xFFFF; | |
phi_s0 = temp_s0; | |
phi_s7 = temp_s7; | |
phi_s5 = temp_s5; | |
if (temp_s4 != (temp_s6 & 0xFFFF)) { | |
phi_s0 = 0; | |
phi_s7 = 0; | |
} | |
phi_s0_2 = phi_s0; | |
phi_s6 = temp_s6; | |
if ((phi_s0 & 0xFFFF) == 0) { | |
phi_s6 = temp_s6; | |
- if (rand_int(0x64) < 0x1E) { | |
+ if (rand_int(0x64, (s16) temp_s3, (s16) temp_a3) < 0x1E) { | |
temp_s5_2 = rand_int(temp_s2 - 1); | |
evt_set_variable(arg0, 0xF5DE02DE, temp_s4); | |
evt_set_variable(arg0, 0xF5DE02DF, temp_s5_2 & 0xFFFF); | |
phi_s0_2 = 1; | |
phi_s6 = (s32) temp_s3; | |
phi_s5 = temp_s5_2; | |
} | |
} | |
- evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF); | |
+ evt_set_variable(arg0, 0xF8406268, phi_s0_2 & 0xFFFF, (s16) temp_s3, (s16) temp_a3); | |
evt_set_variable(arg0, 0xF8406269, phi_s7 & 0xFFFF); | |
temp_s0_2 = evt_get_variable(NULL, 0xF5DE02E0); | |
phi_a0 = D_8024501C_D3F5EC; | |
phi_v1 = 0; | |
loop_6: | |
phi_v0 = phi_v1 * 8; | |
if (evt_get_variable(NULL, 0xF5DE0180) >= *phi_a0) { | |
temp_v1 = phi_v1 + 1; | |
phi_a0 += 8; | |
phi_v1 = temp_v1; | |
if (temp_v1 >= 8) { | |
phi_v0 = temp_v1 * 8; | |
} else { | |
goto loop_6; | |
} | |
[INFO] Test summary: 5042 passed, 0 skipped, 50 failed, 5092 total |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment