Skip to content

Commit 0572e4f

Browse files
committed
Bodyprog: demagicking
1 parent 02704f5 commit 0572e4f

File tree

6 files changed

+59
-60
lines changed

6 files changed

+59
-60
lines changed

include/game.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1711,10 +1711,10 @@ STATIC_ASSERT_SIZEOF(s_SubCharacter_D8, 8);
17111711

17121712
typedef struct
17131713
{
1714-
s16 field_0; // Something dependent on `CharaFlag_Unk8`.
1715-
u8 field_2; // In player: packed weapon attack. See `WEAPON_ATTACK`.
1716-
// This is not the same as `attackReceived`, as this value only resets when player is aiming.
1717-
// In NPCs: Indicates attack performed on player.
1714+
s16 field_0; // Something dependent on `CharaFlag_Unk8`.
1715+
u8 field_2; // In player: packed weapon attack. See `WEAPON_ATTACK`.
1716+
// This is not the same as `attackReceived`, as this value only resets when player is aiming.
1717+
// In NPCs: Indicates attack performed on player.
17181718
u8 field_3;
17191719
u8 field_4;
17201720
s8 unk_5[3];

include/maps/shared.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,9 +523,9 @@ extern u16 sharedData_800EFD34_6_s00[];
523523

524524

525525
extern u8 sharedData_800ED418_4_s02[8];
526-
extern s32 sharedData_800ED420_4_s02;
526+
extern s32 sharedData_800ED420_4_s02; // Audio-related flags?
527527
extern u8 sharedData_800ED424_4_s02[8];
528-
extern u16 sharedData_800ED42C_4_s02[];
528+
extern u16 sharedData_800ED42C_4_s02[]; // Audio-related flags? Map room index used for access.
529529
extern u8 sharedData_800ED458_4_s02[8];
530530

531531
extern void (*g_Romper_ControlFuncs[])(s_SubCharacter* romper);
Lines changed: 39 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
void Map_RoomBgmInit(bool arg0)
22
{
3-
s32 var_a0;
3+
s32 flags;
44
s32 var_a1;
55
s32 mapRoomIdx;
66
u8* var_a2;
@@ -15,66 +15,65 @@ void Map_RoomBgmInit(bool arg0)
1515
switch (mapRoomIdx)
1616
{
1717
case 15:
18-
var_a0 = 4;
18+
flags = 1 << 2;
1919
break;
2020

2121
case 16:
22-
var_a0 = 6;
22+
flags = (1 << 1) | (1 << 2);
2323
break;
2424

2525
case 14:
2626
if (Savegame_EventFlagGet(EventFlag_352))
2727
{
28-
var_a1 = 0xA000;
29-
var_a0 = 0x101;
28+
var_a1 = Q12(10.0f);
29+
flags = (1 << 0) | (1 << 8);
3030
}
3131
else if (Savegame_EventFlagGet(EventFlag_350))
3232
{
33-
var_a1 = 0x200;
34-
var_a0 = 0x101;
33+
var_a1 = Q12(0.25f / 2.0f);
34+
flags = (1 << 0) | (1 << 8);
3535
}
3636
else if (Savegame_EventFlagGet(EventFlag_348))
3737
{
38-
if (g_SysWork.npcs_1A0[0].health < 0x3E8000)
38+
if (g_SysWork.npcs_1A0[0].health < Q12(1000.0f))
3939
{
40-
var_a0 = 0x1FE;
40+
flags = 0x1FE; // TODO: Demagic.
4141
}
4242
else
4343
{
44-
if (g_SysWork.playerWork.player.position.vy > -0x800)
44+
if (g_SysWork.playerWork.player.position.vy > Q12(-0.5f))
4545
{
46-
sharedData_800ED420_4_s02 = 0x10A;
46+
sharedData_800ED420_4_s02 = (1 << 1) | (1 << 3) | (1 << 8);
4747
}
48-
else if (g_SysWork.playerWork.player.position.vy < -0x2800)
48+
else if (g_SysWork.playerWork.player.position.vy < Q12(-2.5f))
4949
{
50-
sharedData_800ED420_4_s02 = 0x112;
50+
sharedData_800ED420_4_s02 = (1 << 1) | (1 << 4) | (1 << 8);
5151
}
52+
flags = sharedData_800ED420_4_s02;
5253

53-
var_a0 = sharedData_800ED420_4_s02;
54-
55-
if (g_SysWork.npcs_1A0[0].health < 0x7D0000)
54+
if (g_SysWork.npcs_1A0[0].health < Q12(2000.0f))
5655
{
57-
var_a0 |= 0x24;
56+
flags |= (1 << 2) | (1 << 5);
5857
}
59-
else if (g_SysWork.npcs_1A0[0].health < 0xBB8000)
58+
else if (g_SysWork.npcs_1A0[0].health < Q12(3000.0f))
6059
{
61-
var_a0 |= 1 << 2;
60+
flags |= 1 << 2;
6261
}
6362
}
6463
}
6564
else
6665
{
67-
var_a1 = 0x1000;
68-
var_a0 = 0x101;
66+
var_a1 = Q12(1.0f);
67+
flags = (1 << 0) | (1 << 8);
6968
}
7069
break;
7170

7271
default:
73-
var_a0 = 1;
72+
flags = 1 << 0;
7473
break;
7574
}
7675
}
77-
else if (g_GameWork.bgmIdx_5B2 == 0x21)
76+
else if (g_GameWork.bgmIdx_5B2 == 33)
7877
{
7978
var_a2 = sharedData_800ED424_4_s02;
8079

@@ -83,18 +82,18 @@ void Map_RoomBgmInit(bool arg0)
8382
case 18:
8483
if (Savegame_EventFlagGet(EventFlag_334) || !Savegame_EventFlagGet(EventFlag_333))
8584
{
86-
var_a0 = 2;
85+
flags = 1 << 1;
8786
}
8887
else
8988
{
9089
if (Savegame_EventFlagGet(EventFlag_330))
9190
{
92-
var_a0 = 0x1E;
93-
var_a1 = 0x28000;
91+
flags = (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4);
92+
var_a1 = CHUNK_CELL_SIZE;
9493
}
9594
else
9695
{
97-
var_a0 = 0xE;
96+
flags = (1 << 1) | (1 << 2) | (1 << 3);
9897
}
9998
}
10099
break;
@@ -104,45 +103,45 @@ void Map_RoomBgmInit(bool arg0)
104103

105104
if (Savegame_EventFlagGet(EventFlag_320))
106105
{
107-
var_a0 = 0x101;
106+
flags = (1 << 0) | (1 << 8);
108107
}
109108
else
110109
{
111-
var_a0 = 0x104;
110+
flags = (1 << 2) | (1 << 8);
112111
}
113112
break;
114113

115114
case 21:
116-
var_a0 = 8;
115+
flags = 8;
117116
break;
118117

119118
case 20:
120119
if (Savegame_EventFlagGet(EventFlag_327))
121120
{
122-
var_a0 = 0x110;
121+
flags = (1 << 4) | (1 << 8);
123122
}
124123
else if (Savegame_EventFlagGet(EventFlag_324) || Savegame_EventFlagGet(EventFlag_329))
125124
{
126-
var_a1 = 0x800;
125+
var_a1 = Q12(0.5f);
127126

128127
if (g_SysWork.npcs_1A0[0].health > Q12(0.0f) &&
129128
g_SysWork.npcs_1A0[0].position.vy < Q12(1.0f))
130129
{
131-
var_a0 = 0x160;
130+
flags = (1 << 5) | (1 << 6) | (1 << 8);
132131
}
133132
else
134133
{
135-
var_a0 = 0x120;
134+
flags = (1 << 5) | (1 << 8);
136135
}
137136
}
138137
else
139138
{
140-
var_a0 = 0x110;
139+
flags = (1 << 4) | (1 << 8);
141140
}
142141
break;
143142

144143
default:
145-
var_a0 = 0x101;
144+
flags = (1 << 0) | (1 << 8);
146145
break;
147146
}
148147
}
@@ -152,18 +151,18 @@ void Map_RoomBgmInit(bool arg0)
152151

153152
if (!Savegame_EventFlagGet(EventFlag_314))
154153
{
155-
if (g_SysWork.playerWork.player.position.vz < 0x28000)
154+
if (g_SysWork.playerWork.player.position.vz < CHUNK_CELL_SIZE)
156155
{
157156
Savegame_EventFlagSet(EventFlag_314);
158157
}
159158

160-
var_a0 = 2;
159+
flags = 1 << 1;
161160
}
162161
else
163162
{
164-
var_a0 = sharedData_800ED42C_4_s02[mapRoomIdx];
163+
flags = sharedData_800ED42C_4_s02[mapRoomIdx];
165164
}
166165
}
167166

168-
Bgm_Update(var_a0, var_a1, var_a2);
167+
Bgm_Update(flags, var_a1, var_a2);
169168
}

src/bodyprog/bodyprog_combat_8008A058.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ s32 func_8008A3E0(s_SubCharacter* chara) // 0x8008A3E0
841841

842842
if (sp18 != 0)
843843
{
844-
chara->field_44.field_0 = -1;
844+
chara->field_44.field_0 = NO_VALUE;
845845

846846
if (chara->model.charaId_0 == Chara_Harry)
847847
{

src/bodyprog/sys/map_info.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
6969
.worldTintB_C = Q12(1.08f),
7070
.field_E = 0,
7171
.unk_F = 0,
72-
.fogDistance_10 = Q12(40.0f),
72+
.fogDistance_10 = CHUNK_CELL_SIZE,
7373
.fogColor_14 = { 0, 0, 0, 0 },
7474
.field_18 = 0,
7575
.field_19 = { 0, 0, 0, 0 },
@@ -88,7 +88,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
8888
.worldTintB_C = Q12(1.05f),
8989
.field_E = 0,
9090
.unk_F = 0,
91-
.fogDistance_10 = Q12(40.0f),
91+
.fogDistance_10 = CHUNK_CELL_SIZE,
9292
.fogColor_14 = { 0, 0, 0, 0 },
9393
.field_18 = 0,
9494
.field_19 = { 0, 0, 0, 0 },
@@ -164,7 +164,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
164164
.worldTintB_C = Q12(1.0f),
165165
.field_E = 1,
166166
.unk_F = 0,
167-
.fogDistance_10 = Q12(40.0f),
167+
.fogDistance_10 = CHUNK_CELL_SIZE,
168168
.fogColor_14 = { 0, 0, 0, 0 },
169169
.field_18 = 0,
170170
.field_19 = { 0, 0, 0, 0 },
@@ -183,7 +183,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
183183
.worldTintB_C = Q12(0.6f),
184184
.field_E = 0,
185185
.unk_F = 0,
186-
.fogDistance_10 = Q12(40.0f),
186+
.fogDistance_10 = CHUNK_CELL_SIZE,
187187
.fogColor_14 = { 0, 0, 0, 0 },
188188
.field_18 = 0,
189189
.field_19 = { 0, 0, 0, 0 },
@@ -202,7 +202,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
202202
.worldTintB_C = Q12(0.6f),
203203
.field_E = 0,
204204
.unk_F = 0,
205-
.fogDistance_10 = Q12(40.0f),
205+
.fogDistance_10 = CHUNK_CELL_SIZE,
206206
.fogColor_14 = { 0, 0, 0, 0 },
207207
.field_18 = 0,
208208
.field_19 = { 0, 0, 0, 0 },
@@ -221,7 +221,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
221221
.worldTintB_C = Q12(0.2f),
222222
.field_E = 0,
223223
.unk_F = 0,
224-
.fogDistance_10 = Q12(40.0f),
224+
.fogDistance_10 = CHUNK_CELL_SIZE,
225225
.fogColor_14 = { 0, 0, 0, 0 },
226226
.field_18 = 0,
227227
.field_19 = { 0, 0, 0, 0 },
@@ -240,7 +240,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
240240
.worldTintB_C = Q12(1.08f),
241241
.field_E = 0,
242242
.unk_F = 0,
243-
.fogDistance_10 = Q12(40.0f),
243+
.fogDistance_10 = CHUNK_CELL_SIZE,
244244
.fogColor_14 = { 0, 0, 0, 0 },
245245
.field_18 = 0,
246246
.field_19 = { 0, 0, 0, 0 },
@@ -278,7 +278,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
278278
.worldTintB_C = Q12(0.65f),
279279
.field_E = 0,
280280
.unk_F = 0,
281-
.fogDistance_10 = Q12(40.0f),
281+
.fogDistance_10 = CHUNK_CELL_SIZE,
282282
.fogColor_14 = { 0, 0, 0, 0 },
283283
.field_18 = 0,
284284
.field_19 = { 0, 0, 0, 0 },
@@ -297,7 +297,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
297297
.worldTintB_C = Q12(0.45f),
298298
.field_E = 0,
299299
.unk_F = 0,
300-
.fogDistance_10 = Q12(40.0f),
300+
.fogDistance_10 = CHUNK_CELL_SIZE,
301301
.fogColor_14 = { 0, 0, 0, 0 },
302302
.field_18 = 0,
303303
.field_19 = { 0, 0, 0, 0 },
@@ -316,7 +316,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
316316
.worldTintB_C = Q12(0.6f),
317317
.field_E = 0,
318318
.unk_F = 0,
319-
.fogDistance_10 = Q12(40.0f),
319+
.fogDistance_10 = CHUNK_CELL_SIZE,
320320
.fogColor_14 = { 0, 0, 0, 0 },
321321
.field_18 = 0,
322322
.field_19 = { 0, 0, 0, 0 },
@@ -354,7 +354,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
354354
.worldTintB_C = Q12(0.7f),
355355
.field_E = 0,
356356
.unk_F = 0,
357-
.fogDistance_10 = Q12(40.0f),
357+
.fogDistance_10 = CHUNK_CELL_SIZE,
358358
.fogColor_14 = { 0, 0, 0, 0 },
359359
.field_18 = 0,
360360
.field_19 = { 0, 0, 0, 0 },
@@ -392,7 +392,7 @@ s_MapEffectsInfo MAP_EFFECTS_INFOS[21] = {
392392
.worldTintB_C = Q12(1.08f),
393393
.field_E = 0,
394394
.unk_F = 0,
395-
.fogDistance_10 = Q12(40.0f),
395+
.fogDistance_10 = CHUNK_CELL_SIZE,
396396
.fogColor_14 = { 0, 0, 0, 0 },
397397
.field_18 = 0,
398398
.field_19 = { 0, 0, 0, 0 },

src/maps/characters/air_screamer.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8981,7 +8981,7 @@ bool sharedFunc_800DC67C_2_s00(s_SubCharacter* airScreamer)
89818981
if (airScreamerProps.field_E8_0 == 1)
89828982
{
89838983
func_800803FC(&sharedData_800F217C_2_s00, airScreamer->field_40);
8984-
return Math_Distance2dGet(&airScreamer->position, &sharedData_800F217C_2_s00) > Q12(40.0f);
8984+
return Math_Distance2dGet(&airScreamer->position, &sharedData_800F217C_2_s00) > CHUNK_CELL_SIZE;
89858985
}
89868986

89878987
return false;

0 commit comments

Comments
 (0)