Skip to content

Commit 61b192c

Browse files
committed
Minor deobfuscation
1 parent c60badb commit 61b192c

File tree

3 files changed

+46
-37
lines changed

3 files changed

+46
-37
lines changed

include/bodyprog/bodyprog.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,7 +1591,7 @@ typedef struct _MapOverlayHeader
15911591
s32 (*func_12C)(s_SubCharacter*); // Assumed return type.
15921592
void (*func_130)(); // func(?).
15931593
s32 (*func_134)(s_SubCharacter*); // Assumed return type.
1594-
s32 (*func_138)(s_SubCharacter*); // Keyframe getter. Return value depends on the anim update function being used.
1594+
s32 (*func_138)(s_SubCharacter*); // Keyframe state getter. Return value depends on the anim update function being used.
15951595
s32 (*func_13C)(s32, s32, void*, s16, s32); // `arg0` is `s_SubCharacter*`.
15961596
void (*func_140)(); // func(?).
15971597
void (*func_144)(); // func(?).
@@ -2510,7 +2510,7 @@ extern s_800C38B0 D_800C38B0;
25102510

25112511
extern s_800C38B4 D_800C38B4;
25122512

2513-
/** Times? */
2513+
/** Times. */
25142514
extern q19_12 D_800C4710[];
25152515

25162516
extern u8 D_800C37DC;
@@ -3458,10 +3458,13 @@ void func_8008E794(VECTOR3* posXz, q3_12 angle, q19_12 posY);
34583458

34593459
void func_8008EA68(SVECTOR* arg0, VECTOR3* posXz, q19_12 posY);
34603460

3461+
/** State step increment for some substate. */
34613462
void func_80085D78(bool reset);
34623463

3464+
/** State step setter for some substate. */
34633465
void func_80085DC0(bool arg0, s32 sysStateStep);
34643466

3467+
/** Calls `SysWork_StateStepIncrement(0)` with some preliminary safety check. */
34653468
void func_80085DF0(void);
34663469

34673470
void SysWork_StateStepIncrementDelayed(q19_12 delay, bool reset);
@@ -3500,14 +3503,15 @@ void func_80086470(u32 stateStep, e_InventoryItemId itemId, s32 itemCount, bool
35003503

35013504
void func_800865FC(bool isPos, s32 idx0, s32 idx1, q3_12 angleY, q19_12 offsetOrPosX, q19_12 offsetOrPosZ);
35023505

3506+
/** State step increment. */
35033507
void func_800866D4(s32 arg0, s32 arg1, bool reset);
35043508

35053509
void func_80086728(s_SubCharacter* chara, s32 arg1, s32 arg2, bool reset);
35063510

35073511
void func_8008677C(s_SubCharacter* chara, s32 arg1, s32 arg2);
35083512

3509-
/** Background draw state handler? */
3510-
void func_800867B4(s32 state, s32 idx);
3513+
/** 2D map state handler. Rough name could be `Map_Map2dBackgroundStateUpdate`. */
3514+
void func_800867B4(s32 state, s32 map2dFileIdx);
35113515

35123516
void func_800868DC(s32 idx);
35133517

@@ -3549,13 +3553,16 @@ void Camera_PositionSet(VECTOR3* pos, q19_12 offsetOrPosX, q19_12 offsetOrPosY,
35493553
void Camera_LookAtSet(VECTOR3* lookAt, q19_12 lookAtOffsetOrPosX, q19_12 lookAtOffsetOrPosY, q19_12 lookAtOffsetOrPosZ,
35503554
q19_12 angularAccelX, q19_12 angularAccelY, q19_12 angularSpeedXMax, q19_12 angularSpeedYMax, bool warp);
35513555

3552-
/** Maybe `Chara_PlayAnim`. */
3556+
/** Maybe `Chara_PlayAnim`. State handler. */
35533557
void func_80086C58(s_SubCharacter* chara, s32 arg1);
35543558

3559+
/** State handler. */
35553560
void func_80086D04(s_SubCharacter* chara);
35563561

3562+
/** State handler. */
35573563
void func_80086DA8(e_FsFile fileIdx, q19_12 fadeTimestep);
35583564

3565+
/** State handler. */
35593566
void func_80086E50(e_FsFile fileIdx, q19_12 fadeTimestep0, q19_12 fadeTimestep1);
35603567

35613568
void func_80086F44(s32 fadeTimestep0, q19_12 fadeTimestep1);
@@ -3580,14 +3587,18 @@ void Event_CommonItemTake(u32 pickupType, e_EventFlag eventFlagIdx);
35803587

35813588
void Event_MapTake(s32 mapFlagIdx, e_EventFlag eventFlagIdx, s32 mapMsgIdx);
35823589

3590+
/** Sets sound command. */
35833591
void func_80087EA8(s32 cmd);
35843592

35853593
void func_80087EDC(s32 arg0);
35863594

3595+
/** Calls a state handler. */
35873596
void func_80088028(void);
35883597

3598+
/** State handler. */
35893599
void func_80088048(void);
35903600

3601+
/** State handler. */
35913602
void func_800880F0(s32 arg0);
35923603

35933604
void func_800881B8(s32 x0, s16 y0, s32 x1, s16 y1, s16 arg4, s16 arg5, s16 arg6, s32 arg7, s32 arg8, u32 arg9, s16 argA, s32 argB);

include/game.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,7 +1351,7 @@ typedef struct _SubCharacter
13511351
s8 field_40; // In player: Index of the NPC attacking the player.
13521352
// In NPCs: Unknown.
13531353
s8 attackReceived_41; // Indicates what attack has been performed to the character. For enemies is based on `e_EquippedWeaponId` enum.
1354-
s8 unk_42[2];
1354+
s8 unk_42[2]; // Most likely padding.
13551355
s16 field_44;
13561356
s8 field_46; // In player: packed weapon attack. See `WEAPON_ATTACK`.
13571357
// This is not the same as `attackReceived_41`, as this value only resets when player is aiming.
@@ -1393,8 +1393,8 @@ typedef struct _SubCharacter
13931393

13941394
u8 field_E0; // Related to collision. If the player collides with the only enemy in memory and the enemy is knocked down, this is set to 1.
13951395

1396-
s8 field_E1_0 : 4; // Flags?
1397-
u8 field_E1_4 : 4;
1396+
s8 field_E1_0 : 4; // State.
1397+
u8 field_E1_4 : 4; // Index for array of `s_func_8006CF18`.
13981398

13991399
union
14001400
{
@@ -1492,7 +1492,7 @@ typedef struct
14921492
u8 field_14;
14931493
u8 isFlashlightOn_15; /** `bool` */
14941494
u8 field_16; /** `bool` */
1495-
s8 unk_17;
1495+
s8 unk_17; // Most likely padding.
14961496
q3_12 flashlightIntensity_18; // Alpha.
14971497
u16 field_1A;
14981498
s_StructUnk3 field_1C[2];
@@ -1654,7 +1654,7 @@ static inline s32 SysWork_StateSetNext(e_SysState sysState)
16541654
g_SysWork.sysStateStep_C[0] = 0;
16551655
g_SysWork.field_28 = 0;
16561656
g_SysWork.sysStateStep_C[1] = 0;
1657-
g_SysWork.timer_2C = 0;
1657+
g_SysWork.timer_2C = Q12(0.0f);
16581658
g_SysWork.sysStateStep_C[2] = 0;
16591659
return state;
16601660
}
@@ -1669,13 +1669,13 @@ static inline void SysWork_StateStepIncrement(s32 stepIdx)
16691669
{
16701670
g_SysWork.field_28 = 0;
16711671
g_SysWork.sysStateStep_C[1] = 0;
1672-
g_SysWork.timer_2C = 0;
1672+
g_SysWork.timer_2C = Q12(0.0f);
16731673
g_SysWork.sysStateStep_C[2] = 0;
16741674
g_SysWork.sysStateStep_C[0]++;
16751675
}
16761676
else if (stepIdx == 1)
16771677
{
1678-
g_SysWork.timer_2C = 0;
1678+
g_SysWork.timer_2C = Q12(0.0f);
16791679
g_SysWork.sysStateStep_C[2] = 0;
16801680
g_SysWork.sysStateStep_C[1]++;
16811681
}
@@ -1701,14 +1701,14 @@ static inline s32 SysWork_StateStepSet(s32 stepIdx, s32 sysStateStep)
17011701
g_SysWork.sysStateStep_C[0] = sysStateStep;
17021702
g_SysWork.field_28 = 0;
17031703
g_SysWork.sysStateStep_C[1] = 0;
1704-
g_SysWork.timer_2C = 0;
1704+
g_SysWork.timer_2C = Q12(0.0f);
17051705
g_SysWork.sysStateStep_C[2] = 0;
17061706
}
17071707
else if (stepIdx == 1)
17081708
{
17091709
step =
17101710
g_SysWork.sysStateStep_C[1] = sysStateStep;
1711-
g_SysWork.timer_2C = 0;
1711+
g_SysWork.timer_2C = Q12(0.0f);
17121712
g_SysWork.sysStateStep_C[2] = 0;
17131713
}
17141714
else
@@ -1726,7 +1726,7 @@ static inline void SysWork_StateStepReset()
17261726
g_SysWork.sysStateStep_C[0] = NO_VALUE;
17271727
g_SysWork.field_28 = 0;
17281728
g_SysWork.sysStateStep_C[1] = 0;
1729-
g_SysWork.timer_2C = 0;
1729+
g_SysWork.timer_2C = Q12(0.0f);
17301730
g_SysWork.sysStateStep_C[2] = 0;
17311731
}
17321732

src/bodyprog/bodyprog_80085D78.c

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ void func_80085DC0(bool arg0, s32 sysStateStep) // 0x80085DC0
5757
void func_80085DF0(void) // 0x80085DF0
5858
{
5959
g_SysWork.timer_2C += g_DeltaTime1;
60-
6160
if (g_MapOverlayHeader.func_EC() != NULL || g_SysWork.timer_2C > Q12(1.0f))
6261
{
6362
SysWork_StateStepIncrement(0);
@@ -75,7 +74,7 @@ void SysWork_StateStepIncrementDelayed(q19_12 delay, bool reset) // 0x80085E6C
7574

7675
void func_80085EB8(u32 arg0, s_SubCharacter* chara, s32 arg2, bool reset) // 0x80085EB8
7776
{
78-
s32 result;
77+
s32 keyframeState; // TODO: Not final name, only an indication.
7978

8079
switch (arg0)
8180
{
@@ -93,16 +92,16 @@ void func_80085EB8(u32 arg0, s_SubCharacter* chara, s32 arg2, bool reset) // 0x8
9392
case 1:
9493
if (chara == &g_SysWork.player_4C.chara_0)
9594
{
96-
result = g_MapOverlayHeader.func_E8(chara);
97-
if (result == 1)
95+
keyframeState = g_MapOverlayHeader.func_E8(chara);
96+
if (keyframeState == 1)
9897
{
9998
func_80085D78(reset);
10099
}
101100
}
102101
else
103102
{
104-
result = g_MapOverlayHeader.func_138(chara);
105-
if (result == 1)
103+
keyframeState = g_MapOverlayHeader.func_138(chara);
104+
if (keyframeState == 1)
106105
{
107106
func_80085D78(reset);
108107
}
@@ -368,7 +367,6 @@ void func_80086470(u32 stateStep, e_InventoryItemId itemId, s32 itemCount, bool
368367
}
369368

370369
activeStateStep = stateStep;
371-
372370
if (stateStep >= 2)
373371
{
374372
if (stateStep == 2)
@@ -466,7 +464,7 @@ void func_8008677C(s_SubCharacter* chara, s32 arg1, s32 arg2) // 0x8008677C
466464
g_MapOverlayHeader.func_13C(chara, arg1, &D_800C46A0, D_800C4702, arg2);
467465
}
468466

469-
void func_800867B4(s32 state, s32 idx) // 0x800867B4
467+
void func_800867B4(s32 state, s32 map2dFileIdx) // 0x800867B4
470468
{
471469
switch (state)
472470
{
@@ -475,8 +473,8 @@ void func_800867B4(s32 state, s32 idx) // 0x800867B4
475473
StoreImage(&D_8002AB10, IMAGE_BUFFER_2);
476474
DrawSync(SyncMode_Wait);
477475

478-
Fs_QueueStartReadTim(FILE_TIM_MP_0TOWN_TIM + g_FullscreenMapTimFileIdxs[idx], FS_BUFFER_2, &g_MapImg);
479-
Fs_QueueStartReadTim(FILE_TIM_MR_0TOWN_TIM + g_MapMarkingTimFileIdxs[idx], FS_BUFFER_1, &g_MapMarkerAtlasImg);
476+
Fs_QueueStartReadTim(FILE_TIM_MP_0TOWN_TIM + g_FullscreenMapTimFileIdxs[map2dFileIdx], FS_BUFFER_2, &g_MapImg);
477+
Fs_QueueStartReadTim(FILE_TIM_MR_0TOWN_TIM + g_MapMarkingTimFileIdxs[map2dFileIdx], FS_BUFFER_1, &g_MapMarkerAtlasImg);
480478

481479
Screen_Init(SCREEN_WIDTH, true);
482480
GsSwapDispBuff();
@@ -668,7 +666,6 @@ void func_80086C58(s_SubCharacter* chara, s32 arg1) // 0x80086C58
668666
{
669667
case 0:
670668
func_80085EB8(0, chara, arg1, false);
671-
672669
SysWork_StateStepIncrement(1);
673670
break;
674671

@@ -782,7 +779,6 @@ void Map_MessageWithSfx(s32 mapMsgIdx, e_SfxId sfxId, VECTOR3* sfxPos) // 0x8008
782779
case 0:
783780
g_MapOverlayHeader.freezePlayerControl_C8();
784781
func_8005DC1C(sfxId, sfxPos, Q8_CLAMPED(0.5f), 0);
785-
786782
SysWork_StateStepIncrement(1);
787783

788784
case 1:
@@ -795,7 +791,6 @@ void Map_MessageWithSfx(s32 mapMsgIdx, e_SfxId sfxId, VECTOR3* sfxPos) // 0x8008
795791

796792
default:
797793
g_MapOverlayHeader.unfreezePlayerControl_CC(0);
798-
799794
SysWork_StateSetNext(SysState_Gameplay);
800795
break;
801796
}
@@ -976,13 +971,12 @@ void Event_ItemTake(e_InventoryItemId itemId, s32 itemCount, e_EventFlag eventFl
976971

977972
SysWork_StateStepIncrement(1);
978973

979-
case 1: // Loading model.
974+
case 1: // Load model.
980975
func_80086470(1, itemId, 0, true);
981976
break;
982977

983978
case 2:
984-
// `Gfx_PickupItemAnimate` scales model up and returns `false`,
985-
// then starts rotating it and returns `true`.
979+
// `Gfx_PickupItemAnimate` increases model scale and returns `false`, then starts rotating it and returns `true`.
986980
if (Gfx_PickupItemAnimate(itemId))
987981
{
988982
MapMsg_DisplayAndHandleSelection(true, mapMsgIdxCpy, 3, NO_VALUE, 0, true); // 3 is "Yes", `NO_VALUE` is "No".
@@ -1053,7 +1047,7 @@ void Event_CommonItemTake(u32 pickupType, e_EventFlag eventFlagIdx) // 0x800879F
10531047

10541048
void Event_MapTake(s32 mapFlagIdx, e_EventFlag eventFlagIdx, s32 mapMsgIdx) // 0x80087AF4
10551049
{
1056-
static const RECT D_8002ABA4 = {
1050+
static const RECT RECT = {
10571051
SCREEN_POSITION_X(100.0f), 256,
10581052
SCREEN_WIDTH / 2, SCREEN_HEIGHT
10591053
};
@@ -1076,7 +1070,7 @@ void Event_MapTake(s32 mapFlagIdx, e_EventFlag eventFlagIdx, s32 mapMsgIdx) // 0
10761070

10771071
case 2:
10781072
DrawSync(SyncMode_Wait);
1079-
StoreImage(&D_8002ABA4, IMAGE_BUFFER);
1073+
StoreImage(&RECT, IMAGE_BUFFER);
10801074
DrawSync(SyncMode_Wait);
10811075
Fs_QueueStartReadTim(FILE_TIM_MP_0TOWN_TIM + g_FullscreenMapTimFileIdxs[mapFlagIdx], FS_BUFFER_2, &g_MapImg);
10821076
Screen_Init(SCREEN_WIDTH, true);
@@ -1138,7 +1132,7 @@ void Event_MapTake(s32 mapFlagIdx, e_EventFlag eventFlagIdx, s32 mapMsgIdx) // 0
11381132
break;
11391133

11401134
default:
1141-
LoadImage(&D_8002ABA4, IMAGE_BUFFER);
1135+
LoadImage(&RECT, IMAGE_BUFFER);
11421136
DrawSync(SyncMode_Wait);
11431137
Screen_Init(SCREEN_WIDTH, false);
11441138
SysWork_StateStepIncrementAfterFade(0, false, 0, Q12(0.0f), false);
@@ -2726,8 +2720,12 @@ s32 func_8008BF84(s_MainCharacter* arg0, s32 arg1, s_800AD4C8* arg2, s32 arg3) /
27262720

27272721
for (sp1C = var_v0; sp1C > 0; sp1C--, sp10++, sp18 *= 2)
27282722
{
2729-
if ((g_SysWork.sysState_8 == SysState_GameOver) || (g_SysWork.player_4C.chara_0.health_B0 <= 0) ||
2730-
(sp10 == arg0) || (sp10->model_0.charaId_0 == 0) || (sp10->health_B0 < 0) || !sp10->field_E1_0)
2723+
if (g_SysWork.sysState_8 == SysState_GameOver ||
2724+
g_SysWork.player_4C.chara_0.health_B0 <= Q12(0.0f) ||
2725+
sp10 == arg0 ||
2726+
sp10->model_0.charaId_0 == Chara_None ||
2727+
sp10->health_B0 < Q12(0.0f) ||
2728+
!sp10->field_E1_0)
27312729
{
27322730
continue;
27332731
}
@@ -2736,7 +2734,7 @@ s32 func_8008BF84(s_MainCharacter* arg0, s32 arg1, s_800AD4C8* arg2, s32 arg3) /
27362734
D_800C47E8.vy = sp10->position_18.vy;
27372735
D_800C47E8.vz = sp10->position_18.vz + sp10->field_D8.offsetZ_2;
27382736

2739-
if (Math_Distance2dGet(&arg0->chara_0.position_18, &D_800C47E8) > 0x3000)
2737+
if (Math_Distance2dGet(&arg0->chara_0.position_18, &D_800C47E8) > Q12(3.0f))
27402738
{
27412739
continue;
27422740
}

0 commit comments

Comments
 (0)