Skip to content

Commit 5500608

Browse files
committed
maps: code fixups
1 parent 51d7257 commit 5500608

7 files changed

Lines changed: 103 additions & 104 deletions

File tree

include/bodyprog/bodyprog.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2570,7 +2570,7 @@ void func_8003ED74(s32 arg0, s32 arg1);
25702570

25712571
void func_8003EDA8();
25722572

2573-
void func_8003EF10(s32 idx0, s32 idx1, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
2573+
void func_8003EF10(s32 idx0, s32 idx1, s32 arg2, s8* arg3, s32 arg4, s32 arg5);
25742574

25752575
s32 func_8003F4DC(GsCOORDINATE2** arg0, SVECTOR* rot, s32 arg2, s32 arg3, u32 arg4, s_SysWork* sysWork);
25762576

@@ -3287,7 +3287,7 @@ void func_800865FC(bool isPos, s32 idx0, s32 idx1, q3_12 angleY, q19_12 offsetOr
32873287

32883288
void func_800866D4(s32 arg0, s32 arg1, s32 arg2);
32893289

3290-
void func_80086728(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
3290+
void func_80086728(s_SubCharacter* chara, s32 arg1, s32 arg2, s32 arg3);
32913291

32923292
void func_8008677C(s_SubCharacter* chara, s32 arg1, s32 arg2);
32933293

@@ -4070,7 +4070,7 @@ void func_8003EE30(s32 arg0, s8* arg1, s32 arg2, s32 arg3);
40704070

40714071
void func_8003EEDC(s32 arg0, s32 arg1);
40724072

4073-
void func_8003EF74(s_sub_StructUnk3* arg0, s_sub_StructUnk3* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5);
4073+
void func_8003EF74(s_sub_StructUnk3* arg0, s_sub_StructUnk3* arg1, s32 arg2, s8* arg3, s32 arg4, s32 arg5);
40744074

40754075
void func_8003F08C(s_StructUnk3* arg0, s_sub_StructUnk3* arg1);
40764076

include/maps/map0/map0_s00.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ void Map_WorldObjectsUpdate(void);
145145

146146
void Event_GreyChildrenSpawn(void);
147147

148+
void func_800DD0CC();
149+
148150
void func_800DCC54(void);
149151

150152
void func_800DA454(void);

src/bodyprog/bodyprog_8003AB28.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2655,12 +2655,12 @@ void func_8003EEDC(s32 arg0, s32 arg1) // 0x8003EEDC
26552655
func_8003F170();
26562656
}
26572657

2658-
void func_8003EF10(s32 idx0, s32 idx1, s32 arg4, s32 arg5, s32 arg6, s32 arg7) // 0x8003EF10
2658+
void func_8003EF10(s32 idx0, s32 idx1, s32 arg2, s8* arg3, s32 arg4, s32 arg5) // 0x8003EF10
26592659
{
2660-
func_8003EF74(&D_800A93CC[idx0], &D_800A93CC[idx1], arg4, arg5, arg6, arg7);
2660+
func_8003EF74(&D_800A93CC[idx0], &D_800A93CC[idx1], arg2, arg3, arg4, arg5);
26612661
}
26622662

2663-
void func_8003EF74(s_sub_StructUnk3* arg0, s_sub_StructUnk3* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) // 0x8003EF74
2663+
void func_8003EF74(s_sub_StructUnk3* arg0, s_sub_StructUnk3* arg1, s32 arg2, s8* arg3, s32 arg4, s32 arg5) // 0x8003EF74
26642664
{
26652665
if (arg0 == arg1)
26662666
{

src/bodyprog/bodyprog_80085D78.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ void func_800866D4(s32 arg0, s32 arg1, s32 arg2) // 0x800866D4
459459
}
460460
}
461461

462-
void func_80086728(s32 arg0, s32 arg1, s32 arg2, s32 arg3) // 0x80086728
462+
void func_80086728(s_SubCharacter* arg0, s32 arg1, s32 arg2, s32 arg3) // 0x80086728
463463
{
464464
if (g_MapOverlayHeader.func_13C(arg0, arg1, &D_800C46A0, D_800C4702, arg2) == 1)
465465
{

src/maps/map0_s00/map0_s00.c

Lines changed: 89 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@ void func_800DA5A0(void) // 0x800DA5A0
660660
{
661661
case 0:
662662
sharedFunc_800D20E4_0_s00();
663-
sharedFunc_800D88AC_0_s00(g_SysWork.npcs_1A0);
663+
sharedFunc_800D88AC_0_s00(&g_SysWork.npcs_1A0[0]);
664664
func_800865FC(true, 1, 0, FP_ANGLE(-135.0f), Q12(-35.0f), Q12(120.0f));
665665

666666
temp_s1_2 = g_SysWork.player_4C.chara_0.position_18.vx;
@@ -689,13 +689,13 @@ void func_800DA5A0(void) // 0x800DA5A0
689689
case 3:
690690
g_SysWork.npcs_1A0[0].properties_E4.player.headingAngle_124 = Q12(1.8f);
691691

692-
func_80086728(&g_SysWork.npcs_1A0[0].model_0, 2, 1, 0);
692+
func_80086728(&g_SysWork.npcs_1A0[0], 2, 1, 0);
693693
func_80085E6C(Q12(1.5f), false);
694694
break;
695695

696696
case 4:
697697
g_SysWork.npcs_1A0[0].properties_E4.player.headingAngle_124 = Q12(1.8f);
698-
func_80086728(&g_SysWork.npcs_1A0[0].model_0, 2, 1, 0);
698+
func_80086728(&g_SysWork.npcs_1A0[0], 2, 1, 0);
699699
break;
700700

701701
case 5:
@@ -727,7 +727,7 @@ void func_800DA5A0(void) // 0x800DA5A0
727727

728728
case 10:
729729
g_SysWork.npcs_1A0[0].properties_E4.player.headingAngle_124 = 0x8CC;
730-
func_80086728(&g_SysWork.npcs_1A0[0].model_0, 1, 1, 0);
730+
func_80086728(&g_SysWork.npcs_1A0[0], 1, 1, 0);
731731
break;
732732

733733
case 11:
@@ -742,7 +742,7 @@ void func_800DA5A0(void) // 0x800DA5A0
742742
sharedFunc_800D2244_0_s00(0);
743743
SysWork_StateSetNext(SysState_Gameplay);
744744

745-
sharedFunc_800D88C0_0_s00(g_SysWork.npcs_1A0, 0);
745+
sharedFunc_800D88C0_0_s00(&g_SysWork.npcs_1A0[0], 0);
746746
break;
747747
}
748748
}
@@ -934,87 +934,80 @@ INCLUDE_ASM("asm/maps/map0_s00/nonmatchings/map0_s00", func_800DB26C);
934934

935935
void func_800DB514(void)
936936
{
937-
s32 temp_v0;
938-
s32 var_a1;
939-
940937
switch (g_SysWork.sysStateStep_C[0])
941938
{
942-
case 0:
943-
sharedFunc_800D20E4_0_s00();
944-
D_800DFB5C = 0;
945-
D_800DFB60 = 0;
946-
GameFs_FlameGfxLoad();
947-
SysWork_StateStepIncrement();
948-
949-
/* fallthrough */
950-
case 1:
951-
func_8008616C(2, true, 2, 0, false);
952-
break;
953-
case 2:
954-
func_80085DF0();
955-
break;
956-
case 3:
957-
SysWork_StateStepIncrement();
958-
959-
/* fallthrough */
960-
case 4:
961-
MapMsg_DisplayAndHandleSelection(false, 0x19, false, false, 0, false);
962-
break;
963-
case 5:
964-
func_8008605C(0x10, 6, 5, false);
965-
break;
966-
case 6:
967-
if (D_800DFB60)
968-
{
939+
case 0:
940+
sharedFunc_800D20E4_0_s00();
941+
D_800DFB5C = 0;
942+
D_800DFB60 = 0;
943+
GameFs_FlameGfxLoad();
969944
SysWork_StateStepIncrement();
970-
}
971-
break;
972-
if (Fs_QueueDoThingWhenEmpty() != false)
973-
{
974-
D_800DFB60++;
975-
Chara_Load(1, 8, g_SysWork.npcCoords_FC0, 0, NULL, NULL);
976-
}
977-
case 7:
978-
sharedFunc_800D209C_0_s00();
979-
SysWork_StateStepIncrement();
980-
981-
/* fallthrough */
982-
case 8:
983-
func_80085EB8(1U, &g_SysWork.player_4C.chara_0, 0, false);
984-
break;
985-
case 9:
986-
func_8003EF10(0xA, 0xA, 5, (s32) &D_800DFB5C, 0, Q12(0.5f));
987-
SysWork_StateStepIncrement();
988-
989-
/* fallthrough */
990-
case 10:
991-
D_800DFB5C +=g_DeltaTime0;
992-
if (D_800DFB5C > Q12(0.5f))
993-
{
945+
946+
/* fallthrough */
947+
case 1:
948+
func_8008616C(2, true, 2, 0, false);
949+
break;
950+
case 2:
951+
func_80085DF0();
952+
break;
953+
case 3:
994954
SysWork_StateStepIncrement();
995-
}
996-
break;
997-
case 11:
998-
g_SavegamePtr->eventFlags_168[0] |= 0x20000;
999-
MapMsg_DisplayAndHandleSelection(false, 0x1E, false, false, 0, false);
1000-
break;
1001-
default:
1002-
func_8008616C(0, false, 2, 0, false);
1003-
sharedFunc_800D2244_0_s00(1);
1004-
SysWork_StateSetNext(SysState_Gameplay);
1005-
1006-
func_80088D0C();
1007-
Chara_Spawn(Chara_GreyChild, 0, -0xFC000, 0xDF000, 0x800, 5U);
1008-
Chara_Spawn(Chara_GreyChild, 1, -0xFE000, 0xDD000, 0x600, 5U);
1009-
Chara_Spawn(Chara_GreyChild, 2, -0x103000, 0xE8000, 0, 5U);
1010-
break;
955+
956+
/* fallthrough */
957+
case 4:
958+
MapMsg_DisplayAndHandleSelection(false, 25, false, false, 0, false);
959+
break;
960+
case 5:
961+
func_8008605C(16, 6, 5, false);
962+
break;
963+
case 6:
964+
if (D_800DFB60)
965+
{
966+
SysWork_StateStepIncrement();
967+
}
968+
break;
969+
case 7:
970+
sharedFunc_800D209C_0_s00();
971+
SysWork_StateStepIncrement();
972+
973+
/* fallthrough */
974+
case 8:
975+
func_80085EB8(1, &g_SysWork.player_4C.chara_0, 0, false);
976+
break;
977+
case 9:
978+
func_8003EF10(10, 10, 5, &D_800DFB5C, 0, Q12(0.5f));
979+
SysWork_StateStepIncrement();
980+
981+
/* fallthrough */
982+
case 10:
983+
D_800DFB5C += g_DeltaTime0;
984+
if (D_800DFB5C > Q12(0.5f))
985+
{
986+
SysWork_StateStepIncrement();
987+
}
988+
break;
989+
case 11:
990+
Savegame_EventFlagSet(EventFlag_17);
991+
MapMsg_DisplayAndHandleSelection(false, 30, false, false, 0, false);
992+
break;
993+
default:
994+
func_8008616C(0, false, 2, 0, false);
995+
sharedFunc_800D2244_0_s00(1);
996+
SysWork_StateSetNext(SysState_Gameplay);
997+
998+
func_80088D0C();
999+
Chara_Spawn(Chara_GreyChild, 0, Q12(-252.0f), Q12(223.0f), FP_ANGLE(180.0f), 5U);
1000+
Chara_Spawn(Chara_GreyChild, 1, Q12(-254.0f), Q12(221.0f), FP_ANGLE(135.0f), 5U);
1001+
Chara_Spawn(Chara_GreyChild, 2, Q12(-259.0f), Q12(232.0f), 0, 5U);
1002+
break;
10111003
}
10121004

10131005
if (D_800DFB60 == 0)
10141006
{
1015-
if (Fs_QueueDoThingWhenEmpty() != false) {
1007+
if (Fs_QueueDoThingWhenEmpty() != false)
1008+
{
10161009
D_800DFB60++;
1017-
Chara_Load(1, 8, g_SysWork.npcCoords_FC0, 0, NULL, NULL);
1010+
Chara_Load(1, Chara_GreyChild, g_SysWork.npcCoords_FC0, 0, NULL, NULL);
10181011
}
10191012
}
10201013
}
@@ -1168,7 +1161,7 @@ void func_800DC33C(void) // 0x800DC33C
11681161
if (!Savegame_EventFlagGet(EventFlag_5))
11691162
{
11701163
func_800865FC(true, 1, 0, FP_ANGLE(180.0f), Q12(-62.0f), Q12(108.0f));
1171-
sharedFunc_800D88AC_0_s00(g_SysWork.npcs_1A0);
1164+
sharedFunc_800D88AC_0_s00(&g_SysWork.npcs_1A0[0]);
11721165

11731166
Savegame_EventFlagSet(EventFlag_5);
11741167
}
@@ -1192,7 +1185,7 @@ void func_800DC33C(void) // 0x800DC33C
11921185
g_SysWork.npcs_1A0[0].position_18.vx = 1;
11931186
g_SysWork.npcs_1A0[0].properties_E4.player.headingAngle_124 = FP_ANGLE(0.0f);
11941187

1195-
sharedFunc_800D88C0_0_s00(g_SysWork.npcs_1A0, 0);
1188+
sharedFunc_800D88C0_0_s00(&g_SysWork.npcs_1A0[0], 0);
11961189

11971190
Savegame_EventFlagSet(EventFlag_6);
11981191
return;
@@ -1261,7 +1254,7 @@ void func_800DC694(void) // 0x800DC694
12611254

12621255
if (!Savegame_EventFlagGet(EventFlag_7))
12631256
{
1264-
sharedFunc_800D88AC_0_s00(g_SysWork.npcs_1A0);
1257+
sharedFunc_800D88AC_0_s00(&g_SysWork.npcs_1A0[0]);
12651258
return;
12661259
}
12671260

@@ -1280,7 +1273,7 @@ void func_800DC694(void) // 0x800DC694
12801273
g_SysWork.npcs_1A0[0].position_18.vz = 1;
12811274
g_SysWork.npcs_1A0[0].position_18.vx = 1;
12821275

1283-
sharedFunc_800D88C0_0_s00(g_SysWork.npcs_1A0, 0);
1276+
sharedFunc_800D88C0_0_s00(&g_SysWork.npcs_1A0[0], 0);
12841277

12851278
Savegame_EventFlagSet(EventFlag_9);
12861279
return;
@@ -1338,7 +1331,7 @@ void func_800DC8D8(void) // 0x800DC8D8
13381331

13391332
if (mag < Q12(14.8f))
13401333
{
1341-
sharedFunc_800D88AC_0_s00(g_SysWork.npcs_1A0);
1334+
sharedFunc_800D88AC_0_s00(&g_SysWork.npcs_1A0[0]);
13421335

13431336
Savegame_EventFlagSet(EventFlag_10);
13441337

@@ -1483,30 +1476,34 @@ void func_800DD0CC()
14831476

14841477
if (D_800DFB40 == NO_VALUE)
14851478
{
1486-
func_8003EF10(6, 6, 5, (s32) &D_800DFB40, 0, 0x64000);
1479+
func_8003EF10(6, 6, 5, &D_800DFB40, 0, Q12(100.0f));
14871480
D_800DFB40 = 0;
14881481
}
1482+
14891483
D_800DFB44.unk0 += g_DeltaTime0;
1484+
14901485
vec0[0] = FP_MULTIPLY(D_800DFB44.unk0, D_800DFB48.unk0, 6);
1491-
if (vec0[0] >= 0x1000)
1486+
if (vec0[0] >= Q12(1.0f))
14921487
{
1493-
D_800DFB44.unk0 = 0U;
1494-
D_800DFB48.unk0 = (u8) ((Rng_Rand16() & 0x3F) + 0x20);
1495-
D_800DFB48.unk1 = (u8) ((Rng_Rand16() & 0x1F) + 0x20);
1496-
vec0[0] &= 0xFFF;
1488+
D_800DFB44.unk0 = 0;
1489+
D_800DFB48.unk0 = Rng_GenerateInt((u32)Rng_Rand16(), 32, 95);
1490+
D_800DFB48.unk1 = Rng_GenerateInt((u32)Rng_Rand16(), 32, 63);
1491+
vec0[0] = Q12_FRACT(vec0[0]);
14971492
}
14981493

14991494
vec0[0] = FP_MULTIPLY(D_800DFB48.unk1, Math_Sin(D_800DFB44.unk2), 12);
1495+
15001496
D_800DFB44.unk2 += g_DeltaTime0;
1497+
15011498
vec0[1] = FP_MULTIPLY(D_800DFB44.unk2, D_800DFB48.unk2, 6);
1502-
if (vec0[1] >= 0x1000)
1499+
if (vec0[1] >= Q12(1.0f))
15031500
{
15041501
D_800DFB44.unk2 = 0;
1505-
D_800DFB48.unk2 = (u8) ((Rng_Rand16() & 0x3F) + 0x20);
1506-
vec0[1] &= 0xFFF;
1502+
D_800DFB48.unk2 = Rng_GenerateInt((u32)Rng_Rand16(), 32, 95);
1503+
vec0[1] = Q12_FRACT(vec0[1]);
15071504
}
15081505

1509-
D_800DFB40 = MAX(0, FP_MULTIPLY((FP_MULTIPLY(vec0[0], Q12(4.5f), 6) + Q12(2.5f)), Math_Sin(vec0[1]), 12) + Q12(4.0f));
1506+
D_800DFB40 = MAX(0, FP_MULTIPLY((FP_MULTIPLY(vec0[0], Q12(4.5f), 6) + Q12(2.5f)), Math_Sin(vec0[1]), Q12_SHIFT) + Q12(4.0f));
15101507
}
15111508

15121509
INCLUDE_RODATA("asm/maps/map0_s00/nonmatchings/map0_s00", D_800CB6A4);

src/maps/map0_s01/map0_s01_events.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ void MapEvent_CafeCutscene() // 0x800DA980
352352
SysWork_StateStepIncrement();
353353

354354
case 48:
355-
func_80088F94(g_SysWork.npcs_1A0, 0, 0);
355+
func_80088F94(&g_SysWork.npcs_1A0[0], 0, 0);
356356
Sd_EngineCmd(19);
357357
Chara_Load(0, Chara_AirScreamer, &g_SysWork.npcCoords_FC0[0], NO_VALUE, 0, 0);
358358
func_80086470(3, InventoryItemId_Handgun, HANDGUN_AMMO_PICKUP_ITEM_COUNT, false);
@@ -687,7 +687,7 @@ void MapEvent_AirScreamerIntroCutscene() // 0x800DBAA0
687687
break;
688688

689689
case 19:
690-
func_800D3AC0(g_SysWork.npcs_1A0);
690+
func_800D3AC0(&g_SysWork.npcs_1A0[0]);
691691
SysWork_StateStepIncrement();
692692

693693
case 20:
@@ -701,7 +701,7 @@ void MapEvent_AirScreamerIntroCutscene() // 0x800DBAA0
701701

702702
case 21:
703703
Savegame_EventFlagSet(EventFlag_47);
704-
func_800D39F4(g_SysWork.npcs_1A0);
704+
func_800D39F4(&g_SysWork.npcs_1A0[0]);
705705
func_8008616C(0, false, 2, Q12(0.0f), false);
706706

707707
g_Timer0 = NO_VALUE;

tools/flags_fp_conv.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ def convert_flag_expression(expr):
4545
if mask & (1 << bit):
4646
final_idx = array_idx * 32 + bit
4747
if value & (1 << bit):
48-
conditions.append(f"Savegame_EventFlagGet({final_idx})")
48+
conditions.append(f"Savegame_EventFlagGet(EventFlag_{final_idx})")
4949
else:
50-
conditions.append(f"!Savegame_EventFlagGet({final_idx})")
50+
conditions.append(f"!Savegame_EventFlagGet(EventFlag_{final_idx})")
5151
return " && ".join(conditions) if conditions else None
5252

5353
# |= (shift)

0 commit comments

Comments
 (0)