Skip to content

Commit 9e3c9d4

Browse files
committed
MAP1_S02: func_800D9EBC
1 parent 06ea460 commit 9e3c9d4

3 files changed

Lines changed: 68 additions & 1 deletion

File tree

configs/USA/maps/sym.map1_s02.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,4 @@ g_WorldObjectA = 0x800E5A08; // type:WorldObjectDesc size:0x2E
190190
g_WorldObjectB = 0x800E5A38; // type:WorldObjectDesc size:0x2E
191191
g_WorldObject2 = 0x800E5A68; // type:WorldObjectDesc size:0x2E
192192
g_CommonWorldObjects = 0x800E5AA8; // type:WorldObject_0 size:0xA8
193+
D_800E1210 = 0x800E1210; // type:u16 size:0x54

include/maps/map1/map1_s02.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ extern u8 D_800E1FD8;
5959

6060
extern q3_12 D_800E1FE4;
6161

62+
extern u8 D_800E1208[8];
63+
extern u16 D_800E1210[42];
64+
6265
//extern s_WorldObjectDesc D_800E57D8; // "DOOR_HID", TODO: `g_WorldObject_Door`
6366

6467
//extern s_WorldObjectDescNoRot D_800E58C8; // "BOX_HIDE", TODO: `g_WorldObject_Box`
@@ -105,4 +108,6 @@ void func_800DD494(void);
105108

106109
void func_800DDA84(void);
107110

111+
void func_800D9EBC(void);
112+
108113
#endif

src/maps/map1_s02/map1_s02.c

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,68 @@ INCLUDE_ASM("asm/maps/map1_s02/nonmatchings/map1_s02", sharedFunc_800D99D0_1_s02
178178

179179
#include "maps/shared/Map_RoomIdxGet.h" // 0x800D9E1C
180180

181-
INCLUDE_ASM("asm/maps/map1_s02/nonmatchings/map1_s02", func_800D9EBC);
181+
void func_800D9EBC(void) // same as `func_800DA4D4` in map1_s03
182+
{
183+
s32 fArg1;
184+
s32 roomIdx;
185+
s32 flags;
186+
187+
roomIdx = g_SavegamePtr->mapRoomIdx_A5;
188+
flags = D_800E1210[roomIdx];
189+
fArg1 = Q12(0.1f);
190+
191+
switch (roomIdx)
192+
{
193+
case 23:
194+
flags = 1;
195+
if (Savegame_MapMarkingGet(MapMarkFlag_AltSchool1F_CourtyardQuestion))
196+
{
197+
flags = 0x1FE;
198+
if (Savegame_MapMarkingGet(MapMarkFlag_308) || Savegame_MapMarkingGet(MapMarkFlag_AltSchool1F_CortyardTopArrows))
199+
{
200+
flags = 0x10;
201+
}
202+
}
203+
break;
204+
205+
case 38:
206+
if (Savegame_EventFlagGet(EventFlag_100) && !Savegame_EventFlagGet(EventFlag_107))
207+
{
208+
flags = 1;
209+
fArg1 = Q12(0.3f);
210+
}
211+
break;
212+
213+
case 5:
214+
if (Savegame_EventFlagGet(EventFlag_121))
215+
{
216+
fArg1 = Q12(240.0f);
217+
if (Savegame_EventFlagGet(EventFlag_96))
218+
{
219+
flags |= 8;
220+
}
221+
else
222+
{
223+
flags = 1;
224+
}
225+
}
226+
break;
227+
228+
case 11:
229+
Savegame_EventFlagClear(EventFlag_121);
230+
break;
231+
232+
case 7:
233+
if (!Savegame_EventFlagGet(EventFlag_98) && Savegame_EventFlagGet(EventFlag_122))
234+
{
235+
fArg1 = Q12(240.0f);
236+
flags = 1;
237+
}
238+
break;
239+
}
240+
241+
func_80035F4C(flags, fArg1, D_800E1208);
242+
}
182243

183244
void func_800DA018(void) {}
184245

0 commit comments

Comments
 (0)