Document animation script commands (#718)

This commit is contained in:
Rachel 2025-08-31 19:24:25 -07:00 committed by GitHub
commit 9bfa03c540
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
32 changed files with 418 additions and 404 deletions

View File

@ -26,6 +26,7 @@
#include "generated/string_padding_mode.h"
#include "generated/trainer_score_events.h"
#include "generated/trainers.h"
#include "constants/animation_tags.h"
#include "constants/boat_cutscene.h"
#include "constants/colors.h"
#include "constants/elevator_dirs.h"
@ -2031,33 +2032,33 @@
.short 359
.endm
.macro ScrCmd_168 arg0, arg1, arg2, arg3, arg4
.macro LoadDoorAnimation mapX, mapZ, tileX, tileZ, tag
.short 360
.short \arg0
.short \arg1
.short \arg2
.short \arg3
.byte \arg4
.short \mapX
.short \mapZ
.short \tileX
.short \tileZ
.byte \tag
.endm
.macro ScrCmd_169 arg0
.macro WaitForAnimation tag
.short 361
.byte \arg0
.byte \tag
.endm
.macro ScrCmd_16A arg0
.macro UnloadAnimation tag
.short 362
.byte \arg0
.byte \tag
.endm
.macro ScrCmd_16B arg0
.macro PlayDoorOpenAnimation tag
.short 363
.byte \arg0
.byte \tag
.endm
.macro ScrCmd_16C arg0
.macro PlayDoorCloseAnimation tag
.short 364
.byte \arg0
.byte \tag
.endm
.macro BufferDaycareMonNicknames
@ -3383,19 +3384,19 @@
.short \destFlagCount
.endm
.macro ScrCmd_24B arg0
.macro LoadPCAnimation tag
.short 587
.byte \arg0
.byte \tag
.endm
.macro ScrCmd_24C arg0
.macro PlayPCBootUpAnimation tag
.short 588
.byte \arg0
.byte \tag
.endm
.macro ScrCmd_24D arg0
.macro PlayPCShutDownAnimation tag
.short 589
.byte \arg0
.byte \tag
.endm
.macro GetJubilifeLotteryTrainerID destVarID

View File

@ -0,0 +1,9 @@
#ifndef POKEPLATINUM_CONSTANTS_ANIMATION_TAGS_H
#define POKEPLATINUM_CONSTANTS_ANIMATION_TAGS_H
#define ANIMATION_TAG_DOOR_1 77
#define ANIMATION_TAG_DOOR_2 78
#define ANIMATION_TAG_PC 90
#endif // POKEPLATINUM_CONSTANTS_ANIMATION_TAGS_H

View File

@ -7,6 +7,10 @@
#include "field_task.h"
#define DOOR_SOUND_EFFECT_TYPE_HINGED 0
#define DOOR_SOUND_EFFECT_TYPE_SLIDING 1
#define DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME 2
UnkStruct_ov5_021D432C *ov5_021D431C(void);
void ov5_021D432C(UnkStruct_ov5_021D432C *param0);
void ov5_021D4334(const int param0, const int param1, UnkStruct_ov5_021D432C *param2);
@ -14,11 +18,11 @@ BOOL ov5_021D433C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1);
BOOL ov5_021D453C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1);
BOOL ov5_021D4858(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1, const u8 param2);
BOOL ov5_021D4A24(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1, const u8 param2);
void ov5_021D4BF4(FieldSystem *fieldSystem, const int param1, const int param2, const u8 param3);
void ov5_021D4C88(FieldSystem *fieldSystem, const u8 param1);
void ov5_021D4CEC(FieldSystem *fieldSystem, const u8 param1);
void ov5_021D4D48(FieldSystem *fieldSystem, const u8 param1);
void ov5_021D4D68(FieldSystem *fieldSystem, const u8 param1);
void DoorAnimation_FindDoorAndLoad(FieldSystem *fieldSystem, const int x, const int z, const u8 tag);
void DoorAnimation_PlayOpenAnimation(FieldSystem *fieldSystem, const u8 tag);
void DoorAnimation_PlayCloseAnimation(FieldSystem *fieldSystem, const u8 tag);
void FieldSystem_WaitForAnimation(FieldSystem *fieldSystem, const u8 tag);
void FieldSystem_UnloadAnimation(FieldSystem *fieldSystem, const u8 tag);
void ov5_021D4D78(const int param0, const int param1, const int param2, FieldSystem *param3);
UnkStruct_ov5_021D4E00 *ov5_021D4E00(void);
BOOL ov5_021D4E10(FieldTask *param0);

View File

@ -1,10 +0,0 @@
#ifndef POKEPLATINUM_OV6_02247078_H
#define POKEPLATINUM_OV6_02247078_H
#include "field/field_system_decl.h"
void ov6_02247078(FieldSystem *fieldSystem, const u8 param1);
void ov6_022470E8(FieldSystem *fieldSystem, const u8 param1);
void ov6_022470F4(FieldSystem *fieldSystem, const u8 param1);
#endif // POKEPLATINUM_OV6_02247078_H

View File

@ -0,0 +1,10 @@
#ifndef POKEPLATINUM_PC_ANIMATION_H
#define POKEPLATINUM_PC_ANIMATION_H
#include "field/field_system_decl.h"
void FieldSystem_LoadPCAnimation(FieldSystem *fieldSystem, const u8 tag);
void FieldSystem_PlayPCBootUpAnimation(FieldSystem *fieldSystem, const u8 tag);
void FieldSystem_PlayPCShutDownAnimation(FieldSystem *fieldSystem, const u8 tag);
#endif // POKEPLATINUM_PC_ANIMATION_H

View File

@ -582,7 +582,7 @@ Overlay overlay6
Object main.nef.p/src_overlay006_repel_step_update.c.o
Object main.nef.p/src_overlay006_ov6_02246C24.c.o
Object main.nef.p/src_overlay006_elevator_animation.c.o
Object main.nef.p/src_overlay006_ov6_02247078.c.o
Object main.nef.p/src_overlay006_pc_animation.c.o
Object main.nef.p/src_overlay006_ov6_02247100.c.o
Object main.nef.p/src_overlay006_trophy_garden_daily_encounters.c.o
Object main.nef.p/src_overlay006_feebas_fishing.c.o

View File

@ -400,15 +400,15 @@ _06AE:
ApplyMovement VAR_MAP_LOCAL_2, _1248
ApplyMovement LOCALID_PLAYER, _1260
WaitMovement
ScrCmd_168 0, 0, VAR_MAP_LOCAL_3, 2, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 0, 0, VAR_MAP_LOCAL_3, 2, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement VAR_MAP_LOCAL_2, _1254
ApplyMovement LOCALID_PLAYER, _126C
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
_06EE:

View File

@ -292,15 +292,15 @@ _0467:
End
_0488:
ScrCmd_168 0, 0, 8, 2, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
Return
_049B:
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
_04A6:

View File

@ -38,17 +38,17 @@ _0066:
End
_008E:
ScrCmd_168 0, 0, 2, 2, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 0, 0, 2, 2, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 0, _0140
WaitMovement
ShowObject LOCALID_PLAYER
ApplyMovement LOCALID_PLAYER, _014C
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
BattleTowerCorridor_Unused:

View File

@ -50,12 +50,12 @@ _008D:
End
_00C9:
ScrCmd_168 0, 0, 3, 2, 77
ScrCmd_168 0, 0, 14, 2, 78
ScrCmd_16B 77
ScrCmd_16B 78
ScrCmd_169 77
ScrCmd_169 78
LoadDoorAnimation 0, 0, 3, 2, ANIMATION_TAG_DOOR_1
LoadDoorAnimation 0, 0, 14, 2, ANIMATION_TAG_DOOR_2
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_2
WaitForAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_2
ApplyMovement 0, _0174
ApplyMovement 1, _0174
WaitMovement
@ -64,12 +64,12 @@ _00C9:
ApplyMovement 2, _0180
ApplyMovement 3, _0180
WaitMovement
ScrCmd_16C 77
ScrCmd_16C 78
ScrCmd_169 77
ScrCmd_169 78
ScrCmd_16A 77
ScrCmd_16A 78
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_2
WaitForAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_2
UnloadAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_2
Return
_012B:

View File

@ -715,14 +715,14 @@ _09FA:
CloseMessage
ApplyMovement 18, _0A38
WaitMovement
ScrCmd_168 1, 22, 5, 14, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 1, 22, 5, 14, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 18, _0A40
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 18
ReleaseAll
End

View File

@ -890,15 +890,15 @@ _0BEE:
GoTo _0C1C
_0C06:
ScrCmd_24B 90
ScrCmd_24C 90
ScrCmd_169 90
LoadPCAnimation ANIMATION_TAG_PC
PlayPCBootUpAnimation ANIMATION_TAG_PC
WaitForAnimation ANIMATION_TAG_PC
Return
_0C11:
ScrCmd_24D 90
ScrCmd_169 90
ScrCmd_16A 90
PlayPCShutDownAnimation ANIMATION_TAG_PC
WaitForAnimation ANIMATION_TAG_PC
UnloadAnimation ANIMATION_TAG_PC
Return
_0C1C:
@ -1123,7 +1123,7 @@ _0F80:
_0F94:
FadeScreenOut
WaitFadeScreen
ScrCmd_16A 90
UnloadAnimation ANIMATION_TAG_PC
Return
_0FA5:

View File

@ -744,15 +744,15 @@ _08FC:
CloseMessage
ApplyMovement 31, _0944
WaitMovement
ScrCmd_168 9, 17, 24, 18, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 9, 17, 24, 18, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 31, _094C
WaitMovement
RemoveObject 31
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
ReleaseAll
End

View File

@ -42,13 +42,13 @@ _006B:
End
GlobalTerminal1f_GTS_WalkOut:
ScrCmd_168 0, 0, 8, 2, 77
LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1
Call _00C5
ShowObject LOCALID_PLAYER
ApplyMovement LOCALID_PLAYER, _00D8
WaitMovement
Call _00CD
ScrCmd_168 0, 0, 8, 4, 77
LoadDoorAnimation 0, 0, 8, 4, ANIMATION_TAG_DOOR_1
Call _00C5
ApplyMovement LOCALID_PLAYER, _00E8
WaitMovement
@ -57,14 +57,14 @@ GlobalTerminal1f_GTS_WalkOut:
Return
_00C5:
ScrCmd_16B 77
ScrCmd_169 77
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
Return
_00CD:
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
.balign 4, 0
@ -168,12 +168,12 @@ GlobalTerminal1f_BeginTrade:
CloseMessage
ApplyMovement LOCALID_PLAYER, _0344
WaitMovement
ScrCmd_168 0, 0, 8, 4, 77
LoadDoorAnimation 0, 0, 8, 4, ANIMATION_TAG_DOOR_1
Call _00C5
ApplyMovement LOCALID_PLAYER, _0358
WaitMovement
Call _00CD
ScrCmd_168 0, 0, 8, 2, 77
LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1
Call _00C5
ApplyMovement LOCALID_PLAYER, _0350
WaitMovement

View File

@ -520,9 +520,9 @@ _05E0:
BufferPlayerName 1
Message 7
CloseMessage
ScrCmd_168 18, 25, 13, 27, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 18, 25, 13, 27, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement LOCALID_PLAYER, _07D8
WaitMovement
ClearFlag FLAG_UNK_0x01FB
@ -533,9 +533,9 @@ _05E0:
LockObject 27
ApplyMovement 27, _0764
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
SetFlag FLAG_UNK_0x020F
ApplyMovement 27, _076C
WaitMovement

View File

@ -144,15 +144,15 @@ _0184:
CloseMessage
ApplyMovement 13, _0388
WaitMovement
ScrCmd_168 25, 14, 22, 21, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 25, 14, 22, 21, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 13, _0390
ApplyMovement LOCALID_PLAYER, _03C0
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 13
SetVar VAR_UNK_0x40C8, 1
SetVar VAR_RESORT_VILLA_VISITOR, 0xFF

View File

@ -162,9 +162,9 @@ _02AC:
GoTo _02B5
_02B5:
ScrCmd_168 5, 26, 8, 10, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 5, 26, 8, 10, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ClearFlag FLAG_UNK_0x0197
AddObject 3
ApplyMovement 3, _0554
@ -207,9 +207,9 @@ _035E:
ApplyMovement 4, _045C
ApplyMovement LOCALID_PLAYER, _0530
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 4
SetVar VAR_UNK_0x4071, 1
FadeScreenOut
@ -434,9 +434,9 @@ _056C:
_057C:
LockAll
ScrCmd_168 5, 26, 8, 10, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 5, 26, 8, 10, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ClearFlag FLAG_UNK_0x02C4
AddObject 14
ApplyMovement 14, _0798
@ -455,9 +455,9 @@ _057C:
CloseMessage
ApplyMovement 14, _07A0
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 14
WaitTime 30, VAR_RESULT
GetPlayerGender VAR_RESULT

View File

@ -92,14 +92,14 @@ _00D5:
CloseMessage
ApplyMovement 8, _011C
WaitMovement
ScrCmd_168 20, 10, 12, 18, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 20, 10, 12, 18, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 8, _0124
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 8
ReleaseAll
End

View File

@ -387,9 +387,9 @@ _04C4:
_04D0:
LockAll
ScrCmd_168 3, 27, 9, 11, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 3, 27, 9, 11, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ClearFlag FLAG_UNK_0x0174
AddObject 2
ApplyMovement 2, _05A4
@ -414,9 +414,9 @@ _04D0:
CloseMessage
ApplyMovement 2, _05C8
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 2
CallCommonScript 0x7FB
SetVar VAR_UNK_0x4070, 1

View File

@ -30,7 +30,7 @@ _0036:
_0052:
ApplyMovement LOCALID_PLAYER, _0120
WaitMovement
ScrCmd_168 0, 0, VAR_RESULT, 5, 77
LoadDoorAnimation 0, 0, VAR_RESULT, 5, ANIMATION_TAG_DOOR_1
Call _010D
ApplyMovement LOCALID_PLAYER, _0128
WaitMovement
@ -80,14 +80,14 @@ _0108:
Return
_010D:
ScrCmd_16B 77
ScrCmd_169 77
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
Return
_0115:
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
.balign 4, 0
@ -535,7 +535,7 @@ _07B5:
Return
_07BC:
ScrCmd_168 0, 0, 19, 5, 77
LoadDoorAnimation 0, 0, 19, 5, ANIMATION_TAG_DOOR_1
Call _010D
WaitMovement
ApplyMovement LOCALID_PLAYER, _0DA0
@ -549,7 +549,7 @@ _07BC:
_07F1:
SetFlag FLAG_COMMUNICATION_CLUB_ACCESSIBLE
SetVar VAR_UNK_0x40D5, 5
ScrCmd_168 0, 0, 7, 5, 77
LoadDoorAnimation 0, 0, 7, 5, ANIMATION_TAG_DOOR_1
Call _010D
WaitMovement
ApplyMovement LOCALID_PLAYER, _0DB0
@ -561,7 +561,7 @@ _07F1:
End
_0830:
ScrCmd_168 0, 0, 28, 5, 77
LoadDoorAnimation 0, 0, 28, 5, ANIMATION_TAG_DOOR_1
Call _010D
WaitMovement
ApplyMovement LOCALID_PLAYER, _0DC0

View File

@ -47,7 +47,7 @@ _0075:
_008F:
LockAll
ScrCmd_168 0, 0, VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_2, 77
LoadDoorAnimation 0, 0, VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_2, ANIMATION_TAG_DOOR_1
Call _050B
ShowObject LOCALID_PLAYER
ApplyMovement LOCALID_PLAYER, _00F0
@ -55,7 +55,7 @@ _008F:
Call _0513
ApplyMovement LOCALID_PLAYER, _00F8
WaitMovement
ScrCmd_168 0, 0, VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_1, 77
LoadDoorAnimation 0, 0, VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_1, ANIMATION_TAG_DOOR_1
Call _050B
ApplyMovement LOCALID_PLAYER, _0100
WaitMovement
@ -313,14 +313,14 @@ _046A:
WaitABPressTime 45
ScrCmd_135 96
CloseMessage
ScrCmd_168 0, 0, 13, 5, 77
LoadDoorAnimation 0, 0, 13, 5, ANIMATION_TAG_DOOR_1
Call _050B
ApplyMovement LOCALID_PLAYER, _0524
WaitMovement
Call _0513
ApplyMovement LOCALID_PLAYER, _0530
WaitMovement
ScrCmd_168 0, 0, 13, 2, 77
LoadDoorAnimation 0, 0, 13, 2, ANIMATION_TAG_DOOR_1
Call _050B
ApplyMovement LOCALID_PLAYER, _0538
WaitMovement
@ -338,14 +338,14 @@ _04F3:
End
_050B:
ScrCmd_16B 77
ScrCmd_169 77
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
Return
_0513:
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
_051E:
@ -422,14 +422,14 @@ _062D:
SetFlag FLAG_COMMUNICATION_CLUB_ACCESSIBLE
Message 63
CloseMessage
ScrCmd_168 0, 0, 8, 5, 77
LoadDoorAnimation 0, 0, 8, 5, ANIMATION_TAG_DOOR_1
Call _050B
ApplyMovement LOCALID_PLAYER, _0524
WaitMovement
Call _0513
ApplyMovement LOCALID_PLAYER, _0530
WaitMovement
ScrCmd_168 0, 0, 8, 2, 77
LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1
Call _050B
ApplyMovement LOCALID_PLAYER, _0538
WaitMovement

View File

@ -195,14 +195,14 @@ _02AF:
End
_02CC:
ScrCmd_168 0, 0, 9, 5, 77
LoadDoorAnimation 0, 0, 9, 5, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03C4
WaitMovement
Call _0328
ApplyMovement LOCALID_PLAYER, _03CC
WaitMovement
ScrCmd_168 0, 0, 9, 2, 77
LoadDoorAnimation 0, 0, 9, 2, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03D4
WaitMovement
@ -211,14 +211,14 @@ _02CC:
End
_0320:
ScrCmd_16B 77
ScrCmd_169 77
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
Return
_0328:
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Return
_0333:
@ -236,14 +236,14 @@ _035C:
ReturnToField
FadeScreenIn
WaitFadeScreen
ScrCmd_168 0, 0, 8, 2, 77
LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03EC
WaitMovement
Call _0328
ApplyMovement LOCALID_PLAYER, _03FC
WaitMovement
ScrCmd_168 0, 0, 8, 5, 77
LoadDoorAnimation 0, 0, 8, 5, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _0404
WaitMovement
@ -392,7 +392,7 @@ _0526:
CloseMessage
ApplyMovement LOCALID_PLAYER, _03B8
WaitMovement
ScrCmd_168 0, 0, 5, 5, 77
LoadDoorAnimation 0, 0, 5, 5, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement VAR_LAST_TALKED, _040C
ApplyMovement LOCALID_PLAYER, _03C4
@ -400,7 +400,7 @@ _0526:
Call _0328
ApplyMovement VAR_LAST_TALKED, _0414
WaitMovement
ScrCmd_168 0, 0, 5, 2, 77
LoadDoorAnimation 0, 0, 5, 2, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03E0
ApplyMovement VAR_LAST_TALKED, _0424
@ -424,14 +424,14 @@ Unk423_Unused:
ReturnToField
FadeScreenIn
WaitFadeScreen
ScrCmd_168 0, 0, 5, 2, 77
LoadDoorAnimation 0, 0, 5, 2, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03EC
WaitMovement
Call _0328
ApplyMovement LOCALID_PLAYER, _03FC
WaitMovement
ScrCmd_168 0, 0, 5, 5, 77
LoadDoorAnimation 0, 0, 5, 5, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _0404
WaitMovement
@ -441,14 +441,14 @@ Unk423_Unused:
_0650:
LockAll
ScrCmd_168 0, 0, 5, 2, 77
LoadDoorAnimation 0, 0, 5, 2, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _03EC
WaitMovement
Call _0328
ApplyMovement LOCALID_PLAYER, _03FC
WaitMovement
ScrCmd_168 0, 0, 5, 5, 77
LoadDoorAnimation 0, 0, 5, 5, ANIMATION_TAG_DOOR_1
Call _0320
ApplyMovement LOCALID_PLAYER, _0404
WaitMovement

View File

@ -70,14 +70,14 @@ _00CF:
CloseMessage
ApplyMovement 0, _013C
WaitMovement
ScrCmd_168 7, 20, 19, 14, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 7, 20, 19, 14, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 0, _0144
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
Message 4
RemoveObject 0
CloseMessage
@ -165,23 +165,23 @@ _0201:
ApplyMovement LOCALID_PLAYER, _02BC
ApplyMovement 6, _02EC
WaitMovement
ScrCmd_168 7, 20, 19, 14, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 7, 20, 19, 14, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 6, _0300
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
WaitTime 120, VAR_RESULT
ScrCmd_168 7, 20, 19, 14, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 7, 20, 19, 14, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 6, _0310
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 6, _031C
WaitMovement
Message 3

View File

@ -492,15 +492,15 @@ _065A:
RemoveItem ITEM_SUITE_KEY, 1, VAR_RESULT
ApplyMovement 8, _06A8
WaitMovement
ScrCmd_168 22, 24, 11, 13, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 22, 24, 11, 13, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 8, _06B0
WaitMovement
RemoveObject 8
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
ClearFlag FLAG_UNK_0x025E
SetFlag FLAG_UNK_0x025D
ReleaseAll

View File

@ -79,16 +79,16 @@ _00F6:
CallIfEq VAR_0x8004, GENDER_FEMALE, _029F
CloseMessage
CallCommonScript 0x7F9
ScrCmd_168 21, 19, 12, 3, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 21, 19, 12, 3, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ClearFlag FLAG_UNK_0x0191
AddObject 25
ApplyMovement 25, _0564
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 6, _0484
WaitMovement
Message 4

View File

@ -71,14 +71,14 @@ _00C2:
GoTo _00D2
_00D2:
ScrCmd_168 0, 0, 6, 9, 77
ScrCmd_16B 77
ScrCmd_169 77
LoadDoorAnimation 0, 0, 6, 9, ANIMATION_TAG_DOOR_1
PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
ApplyMovement 2, _0130
WaitMovement
ScrCmd_16C 77
ScrCmd_169 77
ScrCmd_16A 77
PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1
WaitForAnimation ANIMATION_TAG_DOOR_1
UnloadAnimation ANIMATION_TAG_DOOR_1
RemoveObject 2
SetFlag FLAG_UNK_0x0162
ReleaseAll

View File

@ -470,7 +470,7 @@ pokeplatinum_c = files(
'overlay006/repel_step_update.c',
'overlay006/ov6_02246C24.c',
'overlay006/elevator_animation.c',
'overlay006/ov6_02247078.c',
'overlay006/pc_animation.c',
'overlay006/ov6_02247100.c',
'overlay006/trophy_garden_daily_encounters.c',
'overlay006/feebas_fishing.c',

View File

@ -46,7 +46,7 @@ typedef struct UnkStruct_ov5_021D4E00_t {
static void ov5_021D4798(Camera *camera, u8 *param1);
static void ov5_021D47DC(Camera *camera, u8 *param1);
static u8 ov5_021D481C(const int param0);
static u8 DoorAnimation_GetSoundEffectType(const int doorModelID);
UnkStruct_ov5_021D432C *ov5_021D431C(void)
{
@ -137,12 +137,12 @@ BOOL ov5_021D433C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1)
param1->unk_20 = 1;
}
if (ov5_021D481C(v9) == 1) {
v10 = 1544;
} else if (ov5_021D481C(v9) == 2) {
v10 = 1492;
if (DoorAnimation_GetSoundEffectType(v9) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
v10 = SEQ_SE_DP_DOOR10;
} else if (DoorAnimation_GetSoundEffectType(v9) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
v10 = SEQ_SE_PL_DOOR_OPEN5;
} else {
v10 = 1541;
v10 = SEQ_SE_DP_DOOR_OPEN;
}
if (param1->unk_1E == 2) {
@ -185,12 +185,12 @@ BOOL ov5_021D433C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1)
v13 = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, 1);
if (ov5_021D481C(v13) == 1) {
if (DoorAnimation_GetSoundEffectType(v13) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
v14 = 0;
} else if (ov5_021D481C(v13) == 2) {
} else if (DoorAnimation_GetSoundEffectType(v13) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
v14 = 0;
} else {
v14 = 1543;
v14 = SEQ_SE_DP_DOOR_CLOSE2;
}
if (param1->unk_1E == 2) {
@ -305,12 +305,12 @@ BOOL ov5_021D453C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1)
param1->unk_20 = 1;
}
if (ov5_021D481C(v9) == 1) {
v10 = 1544;
} else if (ov5_021D481C(v9) == 2) {
v10 = 1492;
if (DoorAnimation_GetSoundEffectType(v9) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
v10 = SEQ_SE_DP_DOOR10;
} else if (DoorAnimation_GetSoundEffectType(v9) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
v10 = SEQ_SE_PL_DOOR_OPEN5;
} else {
v10 = 1541;
v10 = SEQ_SE_DP_DOOR_OPEN;
}
if (param1->unk_1E == 2) {
@ -356,9 +356,9 @@ BOOL ov5_021D453C(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1)
v13 = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, 1);
if (ov5_021D481C(v13) == 1) {
if (DoorAnimation_GetSoundEffectType(v13) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
v14 = 0;
} else if (ov5_021D481C(v13) == 2) {
} else if (DoorAnimation_GetSoundEffectType(v13) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
v14 = 0;
} else {
v14 = 1543;
@ -462,17 +462,17 @@ static void ov5_021D47DC(Camera *camera, u8 *param1)
}
}
static u8 ov5_021D481C(const int param0)
static u8 DoorAnimation_GetSoundEffectType(const int doorModelID)
{
if (param0 == 442) {
return 2;
if (doorModelID == MAP_PROP_MODEL_VEILSTONE_DPT_STORE_DOOR) {
return DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME;
}
if ((param0 == 70) || (param0 == 298) || (param0 == 456) || (param0 == 427) || (param0 == 484) || (param0 == 75)) {
return 1;
if ((doorModelID == MAP_PROP_MODEL_POKECENTER_DOOR) || (doorModelID == MAP_PROP_MODEL_GYM_DOOR) || (doorModelID == MAP_PROP_MODEL_GTS_INSIDE_DOOR) || (doorModelID == MAP_PROP_MODEL_POKECENTER_INSIDE_DOOR) || (doorModelID == MAP_PROP_MODEL_CARD_DOOR) || (doorModelID == MAP_PROP_MODEL_ELEVATOR_DOOR)) {
return DOOR_SOUND_EFFECT_TYPE_SLIDING;
}
return 0;
return DOOR_SOUND_EFFECT_TYPE_HINGED;
}
BOOL ov5_021D4858(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1, const u8 param2)
@ -694,29 +694,29 @@ BOOL ov5_021D4A24(FieldSystem *fieldSystem, UnkStruct_ov5_021D432C *param1, cons
return 0;
}
static BOOL ov5_021D4BC8(FieldTask *param0)
static BOOL FieldTask_WaitForAnimation(FieldTask *task)
{
BOOL v0;
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
u8 *v2 = FieldTask_GetEnv(param0);
BOOL finished;
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
u8 *taskEnv = FieldTask_GetEnv(task);
v0 = MapPropOneShotAnimationManager_IsAnimationLoopFinished(fieldSystem->mapPropOneShotAnimMan, *v2);
finished = MapPropOneShotAnimationManager_IsAnimationLoopFinished(fieldSystem->mapPropOneShotAnimMan, *taskEnv);
if (v0) {
Heap_Free(v2);
return 1;
if (finished) {
Heap_Free(taskEnv);
return TRUE;
}
return 0;
return FALSE;
}
void ov5_021D4BF4(FieldSystem *fieldSystem, const int param1, const int param2, const u8 param3)
void DoorAnimation_FindDoorAndLoad(FieldSystem *fieldSystem, const int x, const int z, const u8 tag)
{
BOOL v0;
MapProp *v1;
TerrainCollisionHitbox v2;
int v3;
int v4[] = {
BOOL doorFound;
MapProp *door;
TerrainCollisionHitbox hitbox;
int doorModelID;
int doorModelIDs[] = {
MAP_PROP_MODEL_DOOR01,
MAP_PROP_MODEL_BROWN_WOODEN_DOOR,
MAP_PROP_MODEL_GREEN_WOODEN_DOOR,
@ -739,94 +739,94 @@ void ov5_021D4BF4(FieldSystem *fieldSystem, const int param1, const int param2,
MAP_PROP_MODEL_ELEVATOR_DOOR
};
TerrainCollisionHitbox_Init(param1, param2, -1, 0, 3, 1, &v2);
v0 = FieldSystem_FindCollidingLoadedMapPropByModelIDs(fieldSystem, v4, NELEMS(v4), &v2, &v1, &v3);
TerrainCollisionHitbox_Init(x, z, -1, 0, 3, 1, &hitbox);
doorFound = FieldSystem_FindCollidingLoadedMapPropByModelIDs(fieldSystem, doorModelIDs, NELEMS(doorModelIDs), &hitbox, &door, &doorModelID);
if (v0) {
u8 v5;
u8 v6;
NNSG3dResTex *v7;
if (doorFound) {
u8 unused;
u8 animationCount;
NNSG3dResTex *texture;
v6 = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, v3);
v7 = AreaDataManager_GetMapPropTexture(fieldSystem->areaDataManager);
animationCount = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, doorModelID);
texture = AreaDataManager_GetMapPropTexture(fieldSystem->areaDataManager);
MapPropOneShotAnimationManager_LoadPropAnimations(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, param3, v3, MapProp_GetRenderObj(v1), MapProp_GetModel(v1), v7, v6, 1, 0);
MapPropOneShotAnimationManager_LoadPropAnimations(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, tag, doorModelID, MapProp_GetRenderObj(door), MapProp_GetModel(door), texture, animationCount, 1, FALSE);
} else {
GF_ASSERT(FALSE);
}
}
void ov5_021D4C88(FieldSystem *fieldSystem, const u8 param1)
void DoorAnimation_PlayOpenAnimation(FieldSystem *fieldSystem, const u8 tag)
{
int v0;
int v1;
int v2;
u8 v3;
int doorModelID;
int soundEffectID;
int animationIndex;
u8 animationCount;
v0 = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, param1);
v3 = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, v0);
doorModelID = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, tag);
animationCount = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, doorModelID);
if (ov5_021D481C(v0) == 1) {
v1 = 1544;
} else if (ov5_021D481C(v0) == 2) {
v1 = 1492;
if (DoorAnimation_GetSoundEffectType(doorModelID) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
soundEffectID = SEQ_SE_DP_DOOR10;
} else if (DoorAnimation_GetSoundEffectType(doorModelID) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
soundEffectID = SEQ_SE_PL_DOOR_OPEN5;
} else {
v1 = 1541;
soundEffectID = SEQ_SE_DP_DOOR_OPEN;
}
if (v3 == 2) {
v2 = 0;
} else if (v3 == 4) {
v2 = 0;
if (animationCount == 2) {
animationIndex = 0;
} else if (animationCount == 4) {
animationIndex = 0;
} else {
GF_ASSERT(0);
v2 = 0;
GF_ASSERT(FALSE);
animationIndex = 0;
}
MapPropOneShotAnimationManager_PlayAnimationWithSoundEffect(fieldSystem->mapPropOneShotAnimMan, param1, v2, v1);
MapPropOneShotAnimationManager_PlayAnimationWithSoundEffect(fieldSystem->mapPropOneShotAnimMan, tag, animationIndex, soundEffectID);
}
void ov5_021D4CEC(FieldSystem *fieldSystem, const u8 param1)
void DoorAnimation_PlayCloseAnimation(FieldSystem *fieldSystem, const u8 tag)
{
int v0;
int v1;
int v2;
u8 v3;
int doorModelID;
int soundEffectID;
int animationIndex;
u8 animationCount;
v0 = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, param1);
v3 = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, v0);
doorModelID = MapPropOneShotAnimationManager_GetAnimationMapPropModelID(fieldSystem->mapPropOneShotAnimMan, tag);
animationCount = MapPropAnimationManager_GetPropAnimationCount(fieldSystem->mapPropAnimMan, doorModelID);
if (ov5_021D481C(v0) == 1) {
v1 = 0;
} else if (ov5_021D481C(v0) == 2) {
v1 = 0;
if (DoorAnimation_GetSoundEffectType(doorModelID) == DOOR_SOUND_EFFECT_TYPE_SLIDING) {
soundEffectID = 0;
} else if (DoorAnimation_GetSoundEffectType(doorModelID) == DOOR_SOUND_EFFECT_TYPE_VEILSTONE_DPT_STORE_CHIME) {
soundEffectID = 0;
} else {
v1 = 1543;
soundEffectID = SEQ_SE_DP_DOOR_CLOSE2;
}
if (v3 == 2) {
v2 = 1;
} else if (v3 == 4) {
v2 = 1;
if (animationCount == 2) {
animationIndex = 1;
} else if (animationCount == 4) {
animationIndex = 1;
} else {
GF_ASSERT(0);
v2 = 1;
GF_ASSERT(FALSE);
animationIndex = 1;
}
MapPropOneShotAnimationManager_PlayAnimationWithSoundEffect(fieldSystem->mapPropOneShotAnimMan, param1, v2, v1);
MapPropOneShotAnimationManager_PlayAnimationWithSoundEffect(fieldSystem->mapPropOneShotAnimMan, tag, animationIndex, soundEffectID);
}
void ov5_021D4D48(FieldSystem *fieldSystem, const u8 param1)
void FieldSystem_WaitForAnimation(FieldSystem *fieldSystem, const u8 tag)
{
u8 *v0 = Heap_AllocAtEnd(HEAP_ID_FIELD1, sizeof(u8));
u8 *taskEnv = Heap_AllocAtEnd(HEAP_ID_FIELD1, sizeof(u8));
*v0 = param1;
FieldTask_InitCall(fieldSystem->task, ov5_021D4BC8, v0);
*taskEnv = tag;
FieldTask_InitCall(fieldSystem->task, FieldTask_WaitForAnimation, taskEnv);
}
void ov5_021D4D68(FieldSystem *fieldSystem, const u8 param1)
void FieldSystem_UnloadAnimation(FieldSystem *fieldSystem, const u8 tag)
{
MapPropOneShotAnimationManager_UnloadAnimation(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, param1);
MapPropOneShotAnimationManager_UnloadAnimation(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, tag);
}
void ov5_021D4D78(const int param0, const int param1, const int param2, FieldSystem *fieldSystem)

View File

@ -1,48 +0,0 @@
#include "overlay006/ov6_02247078.h"
#include <nitro.h>
#include <string.h>
#include "constants/field/map_prop.h"
#include "field/field_system.h"
#include "overlay005/area_data.h"
#include "overlay005/map_prop.h"
#include "overlay005/map_prop_animation.h"
#include "terrain_collision_manager.h"
void ov6_02247078(FieldSystem *fieldSystem, const u8 param1)
{
BOOL v0;
MapProp *v1;
TerrainCollisionHitbox v2;
int v3;
int v4[] = {
MAP_PROP_MODEL_POKECENTER_PC,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP_FACING_RIGHT,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP_FACING_LEFT
};
v0 = FieldSystem_FindLoadedMapPropByModelIDs(fieldSystem, v4, 4, &v1, &v3);
if (v0) {
NNSG3dResTex *v5;
v5 = AreaDataManager_GetMapPropTexture(fieldSystem->areaDataManager);
MapPropOneShotAnimationManager_LoadPropAnimations(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, param1, v3, MapProp_GetRenderObj(v1), MapProp_GetModel(v1), v5, 2, 1, 0);
} else {
GF_ASSERT(0);
}
}
void ov6_022470E8(FieldSystem *fieldSystem, const u8 param1)
{
MapPropOneShotAnimationManager_PlayAnimation(fieldSystem->mapPropOneShotAnimMan, param1, 0);
}
void ov6_022470F4(FieldSystem *fieldSystem, const u8 param1)
{
MapPropOneShotAnimationManager_PlayAnimation(fieldSystem->mapPropOneShotAnimMan, param1, 1);
}

View File

@ -0,0 +1,48 @@
#include "overlay006/pc_animation.h"
#include <nitro.h>
#include <string.h>
#include "constants/field/map_prop.h"
#include "field/field_system.h"
#include "overlay005/area_data.h"
#include "overlay005/map_prop.h"
#include "overlay005/map_prop_animation.h"
#include "terrain_collision_manager.h"
void FieldSystem_LoadPCAnimation(FieldSystem *fieldSystem, const u8 tag)
{
BOOL pcFound;
MapProp *mapProp;
TerrainCollisionHitbox unused;
int modelID;
int pcMapProps[] = {
MAP_PROP_MODEL_POKECENTER_PC,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP_FACING_RIGHT,
MAP_PROP_MODEL_DESK_DRAWER_LAPTOP_FACING_LEFT
};
pcFound = FieldSystem_FindLoadedMapPropByModelIDs(fieldSystem, pcMapProps, 4, &mapProp, &modelID);
if (pcFound) {
NNSG3dResTex *texture;
texture = AreaDataManager_GetMapPropTexture(fieldSystem->areaDataManager);
MapPropOneShotAnimationManager_LoadPropAnimations(fieldSystem->mapPropAnimMan, fieldSystem->mapPropOneShotAnimMan, tag, modelID, MapProp_GetRenderObj(mapProp), MapProp_GetModel(mapProp), texture, 2, 1, FALSE);
} else {
GF_ASSERT(FALSE);
}
}
void FieldSystem_PlayPCBootUpAnimation(FieldSystem *fieldSystem, const u8 tag)
{
MapPropOneShotAnimationManager_PlayAnimation(fieldSystem->mapPropOneShotAnimMan, tag, 0);
}
void FieldSystem_PlayPCShutDownAnimation(FieldSystem *fieldSystem, const u8 tag)
{
MapPropOneShotAnimationManager_PlayAnimation(fieldSystem->mapPropOneShotAnimMan, tag, 1);
}

View File

@ -80,11 +80,11 @@
#include "overlay006/ov6_02242AF0.h"
#include "overlay006/ov6_02243004.h"
#include "overlay006/ov6_02246C24.h"
#include "overlay006/ov6_02247078.h"
#include "overlay006/ov6_02247830.h"
#include "overlay006/ov6_02247D30.h"
#include "overlay006/ov6_02247F5C.h"
#include "overlay006/ov6_02248948.h"
#include "overlay006/pc_animation.h"
#include "overlay006/swarm.h"
#include "overlay006/trophy_garden_daily_encounters.h"
#include "overlay007/communication_club.h"
@ -508,11 +508,11 @@ static BOOL ScrCmd_SetWarpEventPos(ScriptContext *ctx);
static BOOL ScrCmd_18B(ScriptContext *ctx);
static BOOL ScrCmd_18C(ScriptContext *ctx);
static BOOL ScrCmd_18F(ScriptContext *ctx);
static BOOL ScrCmd_168(ScriptContext *ctx);
static BOOL ScrCmd_169(ScriptContext *ctx);
static BOOL ScrCmd_16A(ScriptContext *ctx);
static BOOL ScrCmd_16B(ScriptContext *ctx);
static BOOL ScrCmd_16C(ScriptContext *ctx);
static BOOL ScrCmd_LoadDoorAnimation(ScriptContext *ctx);
static BOOL ScrCmd_WaitForAnimation(ScriptContext *ctx);
static BOOL ScrCmd_UnloadAnimation(ScriptContext *ctx);
static BOOL ScrCmd_PlayDoorOpenAnimation(ScriptContext *ctx);
static BOOL ScrCmd_PlayDoorCloseAnimation(ScriptContext *ctx);
static BOOL ScrCmd_InitPersistedMapFeaturesForPastoriaGym(ScriptContext *ctx);
static BOOL ScrCmd_170(ScriptContext *ctx);
static BOOL ScrCmd_InitPersistedMapFeaturesForHearthomeGym(ScriptContext *ctx);
@ -630,9 +630,9 @@ static BOOL ScrCmd_245(ScriptContext *ctx);
static BOOL ScrCmd_GetGameVersion(ScriptContext *ctx);
static BOOL ScrCmd_249(ScriptContext *ctx);
static BOOL ScrCmd_GetCapturedFlagCount(ScriptContext *ctx);
static BOOL ScrCmd_24B(ScriptContext *ctx);
static BOOL ScrCmd_24C(ScriptContext *ctx);
static BOOL ScrCmd_24D(ScriptContext *ctx);
static BOOL ScrCmd_LoadPCAnimation(ScriptContext *ctx);
static BOOL ScrCmd_PlayPCBootUpAnimation(ScriptContext *ctx);
static BOOL ScrCmd_PlayPCShutDownAnimation(ScriptContext *ctx);
static BOOL ScrCmd_GetPCBoxesFreeSlotCount(ScriptContext *ctx);
static BOOL ScrCmd_258(ScriptContext *ctx);
static BOOL ScrCmd_259(ScriptContext *ctx);
@ -1131,11 +1131,11 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_ClearStepFlag,
ScrCmd_CheckGameCompleted,
ScrCmd_SetGameCompleted,
ScrCmd_168,
ScrCmd_169,
ScrCmd_16A,
ScrCmd_16B,
ScrCmd_16C,
ScrCmd_LoadDoorAnimation,
ScrCmd_WaitForAnimation,
ScrCmd_UnloadAnimation,
ScrCmd_PlayDoorOpenAnimation,
ScrCmd_PlayDoorCloseAnimation,
ScrCmd_BufferDaycareMonNicknames,
ScrCmd_GetDaycareState,
ScrCmd_InitPersistedMapFeaturesForPastoriaGym,
@ -1358,9 +1358,9 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_248,
ScrCmd_249,
ScrCmd_GetCapturedFlagCount,
ScrCmd_24B,
ScrCmd_24C,
ScrCmd_24D,
ScrCmd_LoadPCAnimation,
ScrCmd_PlayPCBootUpAnimation,
ScrCmd_PlayPCShutDownAnimation,
ScrCmd_GetJubilifeLotteryTrainerID,
ScrCmd_CheckForJubilifeLotteryWinner,
ScrCmd_RandomizeJubilifeLottery,
@ -5506,56 +5506,56 @@ static BOOL ScrCmd_18F(ScriptContext *ctx)
return FALSE;
}
static BOOL ScrCmd_168(ScriptContext *ctx)
static BOOL ScrCmd_LoadDoorAnimation(ScriptContext *ctx)
{
u16 v0 = ScriptContext_ReadHalfWord(ctx);
u16 v1 = ScriptContext_ReadHalfWord(ctx);
u16 v2 = ScriptContext_GetVar(ctx);
u16 v3 = ScriptContext_GetVar(ctx);
u16 v6 = ScriptContext_ReadByte(ctx);
u16 mapX = ScriptContext_ReadHalfWord(ctx);
u16 mapZ = ScriptContext_ReadHalfWord(ctx);
u16 tileX = ScriptContext_GetVar(ctx);
u16 tileZ = ScriptContext_GetVar(ctx);
u16 tag = ScriptContext_ReadByte(ctx);
FieldSystem *fieldSystem = ctx->fieldSystem;
int v4, v5;
v4 = v0 * 32 + v2;
v5 = v1 * 32 + v3;
int x, z;
x = mapX * MAP_TILES_COUNT_X + tileX;
z = mapZ * MAP_TILES_COUNT_Z + tileZ;
ov5_021D4BF4(fieldSystem, v4, v5, v6);
DoorAnimation_FindDoorAndLoad(fieldSystem, x, z, tag);
return FALSE;
}
static BOOL ScrCmd_169(ScriptContext *ctx)
static BOOL ScrCmd_WaitForAnimation(ScriptContext *ctx)
{
u8 v0 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
FieldSystem *fieldSystem = ctx->fieldSystem;
ov5_021D4D48(fieldSystem, v0);
FieldSystem_WaitForAnimation(fieldSystem, tag);
return TRUE;
}
static BOOL ScrCmd_16A(ScriptContext *ctx)
static BOOL ScrCmd_UnloadAnimation(ScriptContext *ctx)
{
u8 v0 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
FieldSystem *fieldSystem = ctx->fieldSystem;
ov5_021D4D68(fieldSystem, v0);
FieldSystem_UnloadAnimation(fieldSystem, tag);
return FALSE;
}
static BOOL ScrCmd_16B(ScriptContext *ctx)
static BOOL ScrCmd_PlayDoorOpenAnimation(ScriptContext *ctx)
{
u8 v0 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
FieldSystem *fieldSystem = ctx->fieldSystem;
ov5_021D4C88(fieldSystem, v0);
DoorAnimation_PlayOpenAnimation(fieldSystem, tag);
return FALSE;
}
static BOOL ScrCmd_16C(ScriptContext *ctx)
static BOOL ScrCmd_PlayDoorCloseAnimation(ScriptContext *ctx)
{
u8 v0 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
FieldSystem *fieldSystem = ctx->fieldSystem;
ov5_021D4CEC(fieldSystem, v0);
DoorAnimation_PlayCloseAnimation(fieldSystem, tag);
return FALSE;
}
@ -6464,31 +6464,31 @@ static BOOL ScrCmd_GetCapturedFlagCount(ScriptContext *ctx)
return FALSE;
}
static BOOL ScrCmd_24B(ScriptContext *ctx)
static BOOL ScrCmd_LoadPCAnimation(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 v1 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
ov6_02247078(fieldSystem, v1);
FieldSystem_LoadPCAnimation(fieldSystem, tag);
return FALSE;
}
static BOOL ScrCmd_24C(ScriptContext *ctx)
static BOOL ScrCmd_PlayPCBootUpAnimation(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 v1 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
ov6_022470E8(fieldSystem, v1);
FieldSystem_PlayPCBootUpAnimation(fieldSystem, tag);
return FALSE;
}
static BOOL ScrCmd_24D(ScriptContext *ctx)
static BOOL ScrCmd_PlayPCShutDownAnimation(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 v1 = ScriptContext_ReadByte(ctx);
u8 tag = ScriptContext_ReadByte(ctx);
ov6_022470F4(fieldSystem, v1);
FieldSystem_PlayPCShutDownAnimation(fieldSystem, tag);
return FALSE;
}

View File

@ -8,7 +8,7 @@
#include "field/field_system.h"
#include "overlay005/map_prop_animation.h"
#include "overlay005/ov5_021D431C.h"
#include "overlay006/ov6_02247078.h"
#include "overlay006/pc_animation.h"
#include "bag.h"
#include "bg_window.h"
@ -673,8 +673,8 @@ static void sub_020729B4(UnkStruct_02072334 *param0)
ScrollPrompts_SetDrawFlag(param0->unk_1A4, SCROLL_PROMPT_BOTTOM_ARROW, TRUE);
Window_AddFromTemplate(param0->unk_170, &(param0->unk_174), &v3[0]);
Window_AddFromTemplate(param0->unk_170, &(param0->unk_194), &v3[1]);
Window_FillTilemap(&param0->unk_174, ((15 << 4) | 15));
Window_FillTilemap(&param0->unk_194, ((15 << 4) | 15));
Window_FillTilemap(&param0->unk_174, (15 << 4) | 15);
Window_FillTilemap(&param0->unk_194, (15 << 4) | 15);
param0->unk_164 = StringList_New(param0->unk_1B + 1, param0->heapID);
@ -718,9 +718,9 @@ static void sub_020729B4(UnkStruct_02072334 *param0)
param0->unk_160 = ListMenu_New(&(param0->unk_140), param0->unk_13C, param0->unk_13E, param0->heapID);
Window_DrawStandardFrame(&param0->unk_174, 0, (1024 - (18 + 12) - 9), 11);
Window_DrawStandardFrame(&param0->unk_174, 0, 1024 - (18 + 12) - 9, 11);
Text_AddPrinterWithParamsAndColor(&param0->unk_194, FONT_SYSTEM, param0->unk_110.unk_0C, 2, 0, TEXT_SPEED_INSTANT, TEXT_COLOR(1, 2, 15), NULL);
Window_DrawStandardFrame(&param0->unk_194, 0, (1024 - (18 + 12) - 9), 11);
Window_DrawStandardFrame(&param0->unk_194, 0, 1024 - (18 + 12) - 9, 11);
Bg_ScheduleTilemapTransfer(param0->unk_170, 3);
param0->unk_13B_0 = 0;
@ -783,7 +783,7 @@ static void sub_02072C98(UnkStruct_02072334 *param0, u8 param1, u8 param2)
param0->unk_164 = StringList_New(v1, param0->heapID);
Window_AddFromTemplate(param0->unk_170, &(param0->unk_174), &v2);
Window_FillTilemap(&param0->unk_174, ((15 << 4) | 15));
Window_FillTilemap(&param0->unk_174, (15 << 4) | 15);
for (v0 = 0; v0 < v1; v0++) {
StringList_AddFromMessageBank(param0->unk_164, param0->unk_10C, Unk_020F0524[v0].unk_00, Unk_020F0524[v0].unk_04);
@ -800,7 +800,7 @@ static void sub_02072C98(UnkStruct_02072334 *param0, u8 param1, u8 param2)
param0->unk_140.cursorCallback = sub_02072DA4;
param0->unk_160 = ListMenu_New(&(param0->unk_140), param1, param2, param0->heapID);
Window_DrawStandardFrame(&param0->unk_174, 0, (1024 - (18 + 12) - 9), 11);
Window_DrawStandardFrame(&param0->unk_174, 0, 1024 - (18 + 12) - 9, 11);
Bg_ScheduleTilemapTransfer(param0->unk_170, 3);
param0->unk_13B_0 = 1;
@ -1038,13 +1038,13 @@ static void sub_020731F4(UnkStruct_02072334 *param0)
{
param0->unk_170 = FieldSystem_GetBgConfig(param0->fieldSystem);
LoadMessageBoxGraphics(param0->unk_170, BG_LAYER_MAIN_3, (1024 - (18 + 12)), 10, param0->unk_14, param0->heapID);
LoadStandardWindowGraphics(param0->unk_170, BG_LAYER_MAIN_3, (1024 - (18 + 12) - 9), 11, 0, param0->heapID);
LoadMessageBoxGraphics(param0->unk_170, BG_LAYER_MAIN_3, 1024 - (18 + 12), 10, param0->unk_14, param0->heapID);
LoadStandardWindowGraphics(param0->unk_170, BG_LAYER_MAIN_3, 1024 - (18 + 12) - 9, 11, 0, param0->heapID);
Font_LoadTextPalette(0, 13 * 32, param0->heapID);
Font_LoadScreenIndicatorsPalette(0, 12 * 32, param0->heapID);
Window_Add(param0->unk_170, &param0->unk_184, 3, 2, 19, 27, 4, 12, ((1024 - (18 + 12) - 9) - 27 * 4));
Window_Add(param0->unk_170, &param0->unk_184, 3, 2, 19, 27, 4, 12, (1024 - (18 + 12) - 9) - 27 * 4);
Window_FillTilemap(&param0->unk_184, 0);
}
@ -1062,10 +1062,10 @@ static void sub_020732C4(UnkStruct_02072334 *param0, int param1, u8 param2, u8 p
Strbuf *v0;
if (param4) {
Window_DrawMessageBoxWithScrollCursor(&param0->unk_184, 1, (1024 - (18 + 12)), 10);
Window_DrawMessageBoxWithScrollCursor(&param0->unk_184, 1, 1024 - (18 + 12), 10);
}
Window_FillRectWithColor(&param0->unk_184, ((15 << 4) | 15), 0, 0, 27 * 8, 4 * 8);
Window_FillRectWithColor(&param0->unk_184, (15 << 4) | 15, 0, 0, 27 * 8, 4 * 8);
RenderControlFlags_SetCanABSpeedUpPrint(1);
RenderControlFlags_SetAutoScrollFlags(0);
@ -1115,7 +1115,7 @@ static void sub_020733E0(UnkStruct_02072334 *param0)
0x355
};
param0->unk_168 = Menu_MakeYesNoChoice(param0->unk_170, &v0, (1024 - (18 + 12) - 9), 11, param0->heapID);
param0->unk_168 = Menu_MakeYesNoChoice(param0->unk_170, &v0, 1024 - (18 + 12) - 9, 11, param0->heapID);
}
static int sub_0207340C(UnkStruct_02072334 *param0)
@ -1161,8 +1161,8 @@ static int sub_02073480(UnkStruct_02072334 *param0)
break;
}
ov6_02247078(param0->fieldSystem, 90);
ov6_022470E8(param0->fieldSystem, 90);
FieldSystem_LoadPCAnimation(param0->fieldSystem, 90);
FieldSystem_PlayPCBootUpAnimation(param0->fieldSystem, 90);
param0->unk_12++;
break;
case 2:
@ -1179,7 +1179,7 @@ static int sub_02073480(UnkStruct_02072334 *param0)
static int sub_020734F4(UnkStruct_02072334 *param0, u8 param1)
{
ov5_021D4D68(param0->fieldSystem, 90);
FieldSystem_UnloadAnimation(param0->fieldSystem, 90);
if (param1 == 0) {
sub_02072DB8(param0);