Skip to content

Instantly share code, notes, and snippets.

@zbanks
Created November 1, 2021 16:40
Show Gist options
  • Save zbanks/a9d3a08b17e459a3735f15be9fd14cbd to your computer and use it in GitHub Desktop.
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
[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