mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-11 18:46:44 -05:00
finish blackout.c
This commit is contained in:
@@ -187,8 +187,7 @@ Static arm9
|
||||
Object encounter.o
|
||||
Object unk_02047500.o
|
||||
Object unk_020476CC.o
|
||||
Object blackout_src.o
|
||||
Object blackout_asm.o
|
||||
Object blackout.o
|
||||
Object unk_020484A8.o
|
||||
Object unk_02048904.o
|
||||
Object script_pokemon_util.o
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.extern Blackout_DrawMessage
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Task_BlackOut
|
||||
Task_BlackOut: ; 0x0204837C
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x18
|
||||
add r5, r0, #0x0
|
||||
bl TaskManager_GetFieldSystem
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl TaskManager_GetStatePtr
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r4, #0x0]
|
||||
cmp r0, #0x6
|
||||
bhi _02048488
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #0x6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_020483A2: ; jump table (using 16-bit offset)
|
||||
.short _020483B0 - _020483A2 - 2; case 0
|
||||
.short _020483E8 - _020483A2 - 2; case 1
|
||||
.short _020483F8 - _020483A2 - 2; case 2
|
||||
.short _0204840C - _020483A2 - 2; case 3
|
||||
.short _02048434 - _020483A2 - 2; case 4
|
||||
.short _02048442 - _020483A2 - 2; case 5
|
||||
.short _02048482 - _020483A2 - 2; case 6
|
||||
_020483B0:
|
||||
ldr r0, [r6, #0xc]
|
||||
bl Save_LocalFieldData_Get
|
||||
add r7, r0, #0x0
|
||||
bl LocalFieldData_GetBlackoutSpawn
|
||||
add r1, sp, #0x4
|
||||
str r0, [sp, #0x0]
|
||||
bl GetDeathWarpData
|
||||
add r0, r7, #0x0
|
||||
bl LocalFieldData_GetSpecialSpawnWarpPtr
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
bl GetSpecialSpawnWarpData
|
||||
add r0, r5, #0x0
|
||||
add r1, sp, #0x4
|
||||
bl sub_02049160
|
||||
add r0, r6, #0x0
|
||||
bl sub_020637F0
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_020483E8:
|
||||
mov r0, #0x0
|
||||
mov r1, #0x14
|
||||
bl GF_SndStartFadeOutBGM
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_020483F8:
|
||||
bl sub_02005404
|
||||
cmp r0, #0x0
|
||||
bne _02048488
|
||||
bl sub_0204AB0C
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_0204840C:
|
||||
mov r0, #0xf
|
||||
mvn r0, r0
|
||||
mov r1, #0x37
|
||||
mov r2, #0x1
|
||||
bl SetBlendBrightness
|
||||
mov r0, #0xf
|
||||
mvn r0, r0
|
||||
mov r1, #0x3f
|
||||
mov r2, #0x2
|
||||
bl SetBlendBrightness
|
||||
add r0, r6, #0x0
|
||||
add r1, r5, #0x0
|
||||
bl Blackout_DrawMessage
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_02048434:
|
||||
add r0, r5, #0x0
|
||||
bl CallTask_RestoreOverworld
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_02048442:
|
||||
mov r0, #0x0
|
||||
mov r1, #0x3f
|
||||
mov r2, #0x3
|
||||
bl SetBlendBrightness
|
||||
bl sub_02034E8C
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r6, #0xc]
|
||||
bl Save_LocalFieldData_Get
|
||||
bl LocalFieldData_GetBlackoutSpawn
|
||||
cmp r7, r0
|
||||
bne _0204846E
|
||||
mov r2, #0x0
|
||||
ldr r1, _02048490 ; =0x000007E4
|
||||
add r0, r5, #0x0
|
||||
add r3, r2, #0x0
|
||||
bl QueueScript
|
||||
b _0204847A
|
||||
_0204846E:
|
||||
mov r2, #0x0
|
||||
ldr r1, _02048494 ; =0x000007E5
|
||||
add r0, r5, #0x0
|
||||
add r3, r2, #0x0
|
||||
bl QueueScript
|
||||
_0204847A:
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x0]
|
||||
b _02048488
|
||||
_02048482:
|
||||
add sp, #0x18
|
||||
mov r0, #0x1
|
||||
pop {r3-r7, pc}
|
||||
_02048488:
|
||||
mov r0, #0x0
|
||||
add sp, #0x18
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
_02048490: .word 0x000007E4
|
||||
_02048494: .word 0x000007E5
|
||||
|
||||
thumb_func_start CallTask_BlackOut
|
||||
CallTask_BlackOut: ; 0x02048498
|
||||
ldr r3, _020484A0 ; =TaskManager_Call
|
||||
ldr r1, _020484A4 ; =Task_BlackOut
|
||||
mov r2, #0x0
|
||||
bx r3
|
||||
.balign 4
|
||||
_020484A0: .word TaskManager_Call
|
||||
_020484A4: .word Task_BlackOut
|
||||
@@ -39,7 +39,7 @@ sub_02034D98: ; 0x02034D98
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x8c
|
||||
bl sub_02055468
|
||||
bl sub_02034E8C
|
||||
bl GetMomSpawnId
|
||||
add r4, #0x68
|
||||
strh r0, [r4, #0x0]
|
||||
pop {r4, pc}
|
||||
|
||||
@@ -81,8 +81,8 @@ _02034E88:
|
||||
sub r0, r0, #0x1
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start sub_02034E8C
|
||||
sub_02034E8C: ; 0x02034E8C
|
||||
thumb_func_start GetMomSpawnId
|
||||
GetMomSpawnId: ; 0x02034E8C
|
||||
mov r0, #0x1
|
||||
bx lr
|
||||
|
||||
|
||||
@@ -949,7 +949,7 @@ _02049080:
|
||||
str r0, [r4, #0x0]
|
||||
b _020490B6
|
||||
_02049090:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _020490B6
|
||||
ldr r1, [r4, #0x4]
|
||||
@@ -1142,7 +1142,7 @@ _02049206:
|
||||
str r0, [r4, #0x0]
|
||||
b _0204923C
|
||||
_02049216:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _0204923C
|
||||
ldr r1, [r4, #0x4]
|
||||
@@ -1309,7 +1309,7 @@ _0204934A:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049390
|
||||
_02049364:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049390
|
||||
ldr r1, [r5, #0x0]
|
||||
@@ -1542,7 +1542,7 @@ _02049512:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049570
|
||||
_0204952C:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049570
|
||||
ldr r1, [r6, #0x0]
|
||||
@@ -1756,7 +1756,7 @@ _020496BC:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049712
|
||||
_020496CC:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049712
|
||||
ldr r1, [r5, #0x0]
|
||||
@@ -2188,7 +2188,7 @@ _02049A14:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049AB2
|
||||
_02049A42:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049AB2
|
||||
mov r0, #0x0
|
||||
@@ -2346,7 +2346,7 @@ _02049B76:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049BDC
|
||||
_02049B9C:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049BDC
|
||||
mov r0, #0x0
|
||||
@@ -2825,7 +2825,7 @@ _02049F58:
|
||||
str r0, [r4, #0x0]
|
||||
b _02049F8E
|
||||
_02049F68:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _02049F8E
|
||||
ldr r1, [r4, #0x4]
|
||||
|
||||
@@ -326,7 +326,7 @@ _0204C416:
|
||||
str r0, [r4, #0x0]
|
||||
b _0204C458
|
||||
_0204C41E:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
bne _0204C458
|
||||
ldr r1, [r6, #0x0]
|
||||
|
||||
@@ -338,7 +338,7 @@ _02060A74:
|
||||
bl IsPaletteFadeFinished
|
||||
cmp r0, #0x0
|
||||
beq _02060A84
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0x0
|
||||
beq _02060A8A
|
||||
_02060A84:
|
||||
|
||||
@@ -170,8 +170,8 @@ sub_020637E0: ; 0x020637E0
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start sub_020637F0
|
||||
sub_020637F0: ; 0x020637F0
|
||||
thumb_func_start FieldSystem_ClearFollowingTrainer
|
||||
FieldSystem_ClearFollowingTrainer: ; 0x020637F0
|
||||
push {r4, lr}
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Save_VarsFlags_Get
|
||||
|
||||
@@ -345,7 +345,7 @@
|
||||
.extern sub_02005350
|
||||
.extern sub_0200538C
|
||||
.extern GF_SndStartFadeOutBGM
|
||||
.extern sub_02005404
|
||||
.extern GF_SndGetFadeTimer
|
||||
.extern sub_02005410
|
||||
.extern sub_0200541C
|
||||
.extern sub_02005454
|
||||
@@ -2568,7 +2568,7 @@
|
||||
.extern Save_LocalFieldData_Get
|
||||
.extern sub_02034E48
|
||||
.extern sub_02034E60
|
||||
.extern sub_02034E8C
|
||||
.extern GetMomSpawnId
|
||||
.extern GetSpecialSpawnWarpData
|
||||
.extern GetDeathWarpData
|
||||
.extern sub_02034EF8
|
||||
@@ -4685,7 +4685,7 @@
|
||||
.extern sub_020637A8
|
||||
.extern sub_020637C4
|
||||
.extern sub_020637E0
|
||||
.extern sub_020637F0
|
||||
.extern FieldSystem_ClearFollowingTrainer
|
||||
.extern sub_02063808
|
||||
.extern sub_02063888
|
||||
.extern sub_020638BC
|
||||
|
||||
@@ -458,7 +458,7 @@ _022399FA:
|
||||
str r0, [r4, #0xc]
|
||||
b _02239AA4
|
||||
_02239A0A:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _02239AA4
|
||||
ldr r0, [r4, #0xc]
|
||||
@@ -517,7 +517,7 @@ _02239A72:
|
||||
str r0, [r4, #0xc]
|
||||
b _02239AA4
|
||||
_02239A84:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _02239AA4
|
||||
ldr r0, [r4, #0xc]
|
||||
|
||||
@@ -36965,7 +36965,7 @@ _0223F308:
|
||||
strb r0, [r4, #0x10]
|
||||
pop {r3, r4, r5, pc}
|
||||
_0223F318:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _0223F3A0
|
||||
ldrb r0, [r4, #0x10]
|
||||
@@ -47042,7 +47042,7 @@ _02244132:
|
||||
strb r0, [r4, #0x10]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0224415A:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _022441B2
|
||||
mov r0, #6
|
||||
@@ -47738,7 +47738,7 @@ _0224469E:
|
||||
bl IsBrightnessTransitionActive
|
||||
cmp r0, #1
|
||||
bne _02244700
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _02244700
|
||||
ldr r0, [r4]
|
||||
|
||||
@@ -41019,7 +41019,7 @@ _021EA42E:
|
||||
_021EA438:
|
||||
cmp r0, #1
|
||||
bne _021EA458
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _021EA458
|
||||
mov r0, #1
|
||||
|
||||
@@ -2735,7 +2735,7 @@ _021D89E2:
|
||||
str r0, [r4]
|
||||
b _021D8C64
|
||||
_021D89F2:
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
beq _021D89FC
|
||||
_021D89FA:
|
||||
|
||||
@@ -268,7 +268,7 @@ _021D76FA:
|
||||
ldr r2, [r4]
|
||||
add r0, #0xb4
|
||||
bl ov63_021D8260
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _021D779C
|
||||
ldr r0, _021D77A8 ; =0x00000495
|
||||
@@ -298,7 +298,7 @@ _021D773C:
|
||||
ldr r2, [r4]
|
||||
add r0, #0xb4
|
||||
bl ov63_021D8260
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _021D779C
|
||||
ldr r0, _021D77A8 ; =0x00000495
|
||||
|
||||
@@ -338,7 +338,7 @@ _0222D8A6:
|
||||
bl IsPaletteFadeFinished
|
||||
cmp r0, #0
|
||||
beq _0222D8BC
|
||||
bl sub_02005404
|
||||
bl GF_SndGetFadeTimer
|
||||
cmp r0, #0
|
||||
bne _0222D8BC
|
||||
add sp, #0xc
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "blackout.h"
|
||||
#include "bg_window.h"
|
||||
#include "brightness.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "msgdata/msg.naix"
|
||||
@@ -8,17 +9,30 @@
|
||||
#include "gf_gfx_loader.h"
|
||||
#include "PAD_pad.h"
|
||||
#include "render_window.h"
|
||||
#include "save_local_field_data.h"
|
||||
#include "script.h" //TODO: temp include, remove when structs are split
|
||||
#include "text.h"
|
||||
#include "unk_020051F4.h"
|
||||
#include "unk_0204AF24.h"
|
||||
|
||||
static void Blackout_InitDisplays(BgConfig *bgConfig);
|
||||
/*static*/ void Blackout_DrawMessage(FieldSystem *fieldSystem, TaskManager *taskManager);
|
||||
static void Blackout_DrawMessage(FieldSystem *fieldSystem, TaskManager *taskManager);
|
||||
static BOOL Task_ShowPrintedBlackoutMessage(TaskManager *taskManager);
|
||||
static void Blackout_PrintMessage(BlackoutScreenEnvironment *environment, s32 msgNo, u8 x, u8 y);
|
||||
|
||||
extern void BeginNormalPaletteFade(u32 pattern, u32 typeTop, u32 typeBottom, u16 colour, u32 duration, u32 framesPer, HeapID heapId);
|
||||
extern BOOL IsPaletteFadeFinished(void);
|
||||
|
||||
extern SaveData *FieldSystem_GetSaveData(FieldSystem *fieldSystem);
|
||||
extern LocalFieldData *Save_LocalFieldData_Get(SaveData *save);
|
||||
extern u16 LocalFieldData_GetBlackoutSpawn(LocalFieldData *localFieldData);
|
||||
extern void GetDeathWarpData(u16 spawnId, Location *dest);
|
||||
extern void GetSpecialSpawnWarpData(u16 spawnId, Location *dest);
|
||||
extern Location *LocalFieldData_GetSpecialSpawnWarpPtr(LocalFieldData *localFieldData);
|
||||
extern void sub_02049160(TaskManager *taskManager, Location *location);
|
||||
extern void FieldSystem_ClearFollowingTrainer(FieldSystem *fieldSystem);
|
||||
extern void QueueScript(TaskManager *taskManager, u16 script, LocalMapObject *lastInteracted, void *param3);
|
||||
extern void sub_0204AB0C(void);
|
||||
extern u16 GetMomSpawnId(void);
|
||||
|
||||
static const struct GraphicsBanks Blackout_GraphicsBanks = {
|
||||
.bg = GX_VRAM_BG_128_B,
|
||||
@@ -73,7 +87,7 @@ static void Blackout_InitDisplays(BgConfig *bgConfig) {
|
||||
GfGfxLoader_GXLoadPal(NARC_GRAPHIC_FONT, NARC_font_narc_0006_NCLR, GF_PAL_LOCATION_MAIN_BG, GF_PAL_SLOT_13_OFFSET, 0x20, HEAP_ID_FIELD);
|
||||
}
|
||||
|
||||
/*static*/ void Blackout_DrawMessage(FieldSystem *fieldSystem, TaskManager *taskManager) {
|
||||
static void Blackout_DrawMessage(FieldSystem *fieldSystem, TaskManager *taskManager) {
|
||||
BlackoutScreenEnvironment *env = AllocFromHeap(HEAP_ID_FIELD, sizeof(BlackoutScreenEnvironment));
|
||||
|
||||
GF_ASSERT(env != NULL);
|
||||
@@ -156,3 +170,60 @@ static void Blackout_PrintMessage(BlackoutScreenEnvironment *environment, s32 ms
|
||||
String_Delete(tmpStr);
|
||||
String_Delete(finStr);
|
||||
}
|
||||
|
||||
BOOL Task_BlackOut(TaskManager *taskManager) {
|
||||
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
|
||||
u32 *state = TaskManager_GetStatePtr(taskManager);
|
||||
LocalFieldData *localFieldData;
|
||||
Location deathWarp;
|
||||
u16 deathSpawn;
|
||||
|
||||
switch (*state) {
|
||||
case 0:
|
||||
localFieldData = Save_LocalFieldData_Get(fieldSystem->saveData);
|
||||
deathSpawn = LocalFieldData_GetBlackoutSpawn(localFieldData);
|
||||
GetDeathWarpData(deathSpawn, &deathWarp);
|
||||
GetSpecialSpawnWarpData(deathSpawn, LocalFieldData_GetSpecialSpawnWarpPtr(localFieldData));
|
||||
sub_02049160(taskManager, &deathWarp);
|
||||
FieldSystem_ClearFollowingTrainer(fieldSystem);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
GF_SndStartFadeOutBGM(0, 20);
|
||||
(*state)++;
|
||||
break;
|
||||
case 2:
|
||||
if (GF_SndGetFadeTimer() == 0) {
|
||||
sub_0204AB0C();
|
||||
(*state)++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
SetBlendBrightness(-16, (GXBlendPlaneMask)(GX_BLEND_PLANEMASK_BD | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG0), SCREEN_MASK_MAIN);
|
||||
SetBlendBrightness(-16, (GXBlendPlaneMask)(GX_BLEND_PLANEMASK_BD | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG0), SCREEN_MASK_SUB);
|
||||
Blackout_DrawMessage(fieldSystem, taskManager);
|
||||
(*state)++;
|
||||
break;
|
||||
case 4:
|
||||
CallTask_RestoreOverworld(taskManager);
|
||||
(*state)++;
|
||||
break;
|
||||
case 5:
|
||||
SetBlendBrightness(0, (GXBlendPlaneMask)(GX_BLEND_PLANEMASK_BD | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG0), SCREEN_MASK_MAIN | SCREEN_MASK_SUB);
|
||||
if (GetMomSpawnId() == LocalFieldData_GetBlackoutSpawn(Save_LocalFieldData_Get(fieldSystem->saveData))) {
|
||||
QueueScript(taskManager, 0x7E4, NULL, NULL);
|
||||
} else {
|
||||
QueueScript(taskManager, 0x7E5, NULL, NULL);
|
||||
}
|
||||
(*state)++;
|
||||
break;
|
||||
case 6:
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void CallTask_BlackOut(TaskManager *taskManager) {
|
||||
TaskManager_Call(taskManager, Task_BlackOut, NULL);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "encounter.h"
|
||||
#include "blackout.h"
|
||||
#include "constants/battle.h"
|
||||
#include "constants/game_stats.h"
|
||||
#include "save_vars_flags.h"
|
||||
@@ -27,7 +28,6 @@ extern void sub_02047FA4(BattleSetup *setup, FieldSystem *fieldSystem);
|
||||
extern BattleSetup *ov06_02244558(u32 param0, FieldSystem *fieldSystem);
|
||||
extern s32 sub_020475A0(BattleSetup *battleSetup);
|
||||
extern s32 sub_020475B0(BattleSetup *battleSetup);
|
||||
extern BOOL Task_BlackOut(TaskManager *taskManager);
|
||||
extern void sub_0205DD40(u32 param0);
|
||||
extern u32 sub_0205E128(u32 param0);
|
||||
extern void sub_0205DED4(FieldSystem *fieldSystem, u32 winFlag, u32 param2);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "PAD_pad.h"
|
||||
#include "bag.h"
|
||||
#include "bg_window.h"
|
||||
#include "blackout.h"
|
||||
#include "camera.h"
|
||||
#include "constants/global_fieldmap.h"
|
||||
#include "constants/items.h"
|
||||
@@ -249,7 +250,6 @@ extern u16 sub_02053678(u32 trainerId, PlayerGender playerGender, u32 param2);
|
||||
extern u16 sub_020536D0(PlayerGender playerGender, u16 param1, u16 param2);
|
||||
extern void sub_02049EA4(TaskManager *taskManager);
|
||||
extern void LocalFieldData_SetBlackoutSpawn(LocalFieldData *localFieldData, u16 spawnPoint);
|
||||
extern void CallTask_BlackOut(TaskManager *taskManager);
|
||||
extern void HealParty(Party *playerParty);
|
||||
extern void sub_02050024(void);
|
||||
extern u32 sub_02031810(void);
|
||||
|
||||
@@ -65,7 +65,7 @@ BOOL sub_02041464(struct ScriptContext* ctx)
|
||||
{
|
||||
#pragma unused(ctx)
|
||||
|
||||
if(sub_02005404() == 0)
|
||||
if(GF_SndGetFadeTimer() == 0)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "SPI_mic.h"
|
||||
#include "SPI_pm.h"
|
||||
#include "unk_020040F4.h"
|
||||
#include "unk_020051F4.h"
|
||||
#include "sound_chatot.h"
|
||||
|
||||
static struct SoundData sSoundDataBuffer;
|
||||
@@ -17,10 +18,6 @@ void sub_02004088(struct SoundData *);
|
||||
void sub_020040A4(struct SoundData *);
|
||||
void sub_020040DC(void);
|
||||
|
||||
extern void sub_0200521C(int);
|
||||
extern void sub_0200538C(int, int, int);
|
||||
extern BOOL sub_02005404(void);
|
||||
|
||||
void InitSoundData(struct SaveChatotSoundClip * chatot, struct Options * options)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
@@ -59,26 +56,26 @@ void sub_02003C40(void)
|
||||
sub_02003CE8(2);
|
||||
break;
|
||||
case 3:
|
||||
if (!sub_02005404())
|
||||
if (GF_SndGetFadeTimer() == 0)
|
||||
sub_02003CE8(2);
|
||||
break;
|
||||
case 4:
|
||||
if (!sub_02005404())
|
||||
if (GF_SndGetFadeTimer() == 0)
|
||||
sub_02003CE8(2);
|
||||
break;
|
||||
case 5:
|
||||
if (!sub_02005404() && !sub_02004D94())
|
||||
if (GF_SndGetFadeTimer() == 0 && !sub_02004D94())
|
||||
{
|
||||
sub_020040DC();
|
||||
sub_0200521C(sdat->unk_BCD0E);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (!sub_02005404() && !sub_02004D94())
|
||||
if (GF_SndGetFadeTimer() == 0 && !sub_02004D94())
|
||||
{
|
||||
sub_020040DC();
|
||||
sub_0200521C(sdat->unk_BCD0E);
|
||||
sub_0200538C(0x7F, (int)sdat->unk_BCD08, 0);
|
||||
sub_0200538C(0x7F, sdat->unk_BCD08, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1341,7 +1341,7 @@ void sub_0200516C(u32 param0)
|
||||
|
||||
void sub_020051AC(void)
|
||||
{
|
||||
if (sub_02005404() == 0 && GF_SndPlayerGetSeqNo(GetSoundPlayer(0)) != -1 &&
|
||||
if (GF_SndGetFadeTimer() == 0 && GF_SndPlayerGetSeqNo(GetSoundPlayer(0)) != -1 &&
|
||||
sub_02004124() != 0x47e)
|
||||
{
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ void sub_02005374()
|
||||
sub_02003CE8(0);
|
||||
}
|
||||
|
||||
void sub_0200538C(s32 param0, u16 param1, u32 param2)
|
||||
void sub_0200538C(s32 param0, u32 param1, u32 param2)
|
||||
{
|
||||
u8 r0 = sub_020048D0(sub_02004124());
|
||||
if (r0 == 0xff)
|
||||
@@ -151,7 +151,7 @@ void GF_SndStartFadeOutBGM(u16 param0, u16 param1)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!sub_02005404())
|
||||
if (GF_SndGetFadeTimer() == 0)
|
||||
{
|
||||
GF_SndPlayerMoveVolume(sub_02004018(r6), param0, param1);
|
||||
sub_02004D74(param1);
|
||||
@@ -160,7 +160,7 @@ void GF_SndStartFadeOutBGM(u16 param0, u16 param1)
|
||||
sub_02003CE8(4);
|
||||
}
|
||||
|
||||
u16 sub_02005404()
|
||||
u16 GF_SndGetFadeTimer()
|
||||
{
|
||||
return *(u16 *)sub_02003D38(6);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ BOOL sub_0204AF6C(struct TaskManager *taskManager)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void CallTask_RestoreOverworld(struct TaskManager *taskManager) //TODO: RestoreOverworld
|
||||
void CallTask_RestoreOverworld(struct TaskManager *taskManager)
|
||||
{
|
||||
struct FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
|
||||
if(sub_0203739C(fieldSystem))
|
||||
|
||||
@@ -16,5 +16,7 @@ typedef struct BlackoutScreenEnvironment {
|
||||
MessageFormat *msgFmt;
|
||||
} BlackoutScreenEnvironment;
|
||||
|
||||
BOOL Task_BlackOut(TaskManager *taskManager);
|
||||
void CallTask_BlackOut(TaskManager *taskManager);
|
||||
|
||||
#endif //POKEDIAMOND_BLACKOUT_H
|
||||
|
||||
8
include/save_local_field_data.h
Normal file
8
include/save_local_field_data.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef POKEDIAMOND_SAVE_LOCAL_FIELD_DATA_H
|
||||
#define POKEDIAMOND_SAVE_LOCAL_FIELD_DATA_H
|
||||
|
||||
typedef struct LocalFieldData {
|
||||
|
||||
} LocalFieldData; //TODO: populate
|
||||
|
||||
#endif //POKEDIAMOND_SAVE_LOCAL_FIELD_DATA_H
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "camera.h"
|
||||
#include "fashion_case.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "save_local_field_data.h"
|
||||
#include "msgdata.h"
|
||||
#include "render_window.h"
|
||||
#include "save.h"
|
||||
@@ -67,10 +68,6 @@ typedef struct ScrCmdUnkStruct00F4 {
|
||||
void *unk2C;
|
||||
} ScrCmdUnkStruct00F4; //todo identify and move to own file
|
||||
|
||||
typedef struct LocalFieldData {
|
||||
|
||||
} LocalFieldData; //todo fill out and move to own file
|
||||
|
||||
typedef struct RoamerSaveData {
|
||||
|
||||
} RoamerSaveData; //todo: fill out and move to own file
|
||||
|
||||
@@ -12,9 +12,9 @@ u32 sub_020052B8(u16 param0, u32 param1, int playerNo);
|
||||
u32 sub_02005308(u32 param0, u16 param1);
|
||||
void sub_02005350(u16 param0, u32 param1);
|
||||
void sub_02005374();
|
||||
void sub_0200538C(s32 param0, u16 param1, u32 param2);
|
||||
void sub_0200538C(s32 param0, u32 param1, u32 param2);
|
||||
void GF_SndStartFadeOutBGM(u16 param0, u16 param1);
|
||||
u16 sub_02005404();
|
||||
u16 GF_SndGetFadeTimer();
|
||||
u16 sub_02005410(u16 param0);
|
||||
void sub_0200541C();
|
||||
void sub_02005454();
|
||||
|
||||
Reference in New Issue
Block a user