sprites.h and player states

This commit is contained in:
red031000 2025-08-27 21:47:36 +01:00
parent aa082ace99
commit c4ed650d15
No known key found for this signature in database
GPG Key ID: D27E50C050AE0CE1
9 changed files with 283 additions and 49 deletions

View File

@ -7,24 +7,6 @@
.text
thumb_func_start sub_0205557C
sub_0205557C: ; 0x0205557C
push {r3-r5, lr}
add r5, r1, #0x0
bl PlayerAvatar_GetMapObject
add r4, r0, #0x0
cmp r5, #0x1
bne _02055598
mov r1, #0x0
bl MapObject_SetIgnoreHeights
add r0, r4, #0x0
bl sub_02059D1C
pop {r3-r5, pc}
_02055598:
mov r1, #0x1
bl MapObject_SetIgnoreHeights
pop {r3-r5, pc}
thumb_func_start PlayerAvatar_GetSpriteByStateAndGender
PlayerAvatar_GetSpriteByStateAndGender: ; 0x020555A0
push {r3, lr}

View File

@ -517,7 +517,7 @@ _02064B2E:
bl ov05_021F4594
ldr r0, [r5, #0x38]
mov r1, #0x1
bl sub_0205557C
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
ldr r0, _02064B6C ; =0x0000061A
bl PlaySE
ldr r0, [r4, #0x0]
@ -634,7 +634,7 @@ _02064C24:
bl ov05_021F4594
ldr r0, [r5, #0x38]
mov r1, #0x1
bl sub_0205557C
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
ldr r0, _02064C60 ; =0x0000061A
bl PlaySE
ldr r0, [r4, #0x0]

View File

@ -3940,7 +3940,7 @@
.extern sub_02055514
.extern PlayerAvatar_SetMapObjectYPosition
.extern PlayerAvatar_ToggleAutomaticHeightUpdating
.extern sub_0205557C
.extern PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
.extern PlayerAvatar_GetSpriteByStateAndGender
.extern sub_02055648
.extern sub_02055698

View File

@ -16608,7 +16608,7 @@ _02241A02:
bl ov05_021F4594
ldr r0, [r5, #0x38]
mov r1, #1
bl sub_0205557C
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
ldr r0, _02241A40 ; =0x0000061A
bl PlaySE
ldr r0, [r4]
@ -16704,7 +16704,7 @@ _02241ACE:
bl ov05_021F4594
ldr r0, [r5, #0x38]
mov r1, #1
bl sub_0205557C
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
ldr r0, _02241B0C ; =0x0000061A
bl PlaySE
ldr r0, [r4]
@ -17256,7 +17256,7 @@ _02241F2E:
_02241F48:
ldr r0, [r6, #0x38]
mov r1, #1
bl sub_0205557C
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
ldr r0, _02241F78 ; =0x0000061A
bl PlaySE
ldr r0, [r4]

View File

@ -126,19 +126,19 @@ void SetScreenModeAndDisable(const struct GraphicsModes *gfxModes, enum GFScreen
}
void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template, u8 bgMode) {
u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize) template->size, (enum GFBgType)bgMode);
u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize)template->size, (enum GFBgType)bgMode);
switch (bgId) {
case GF_BG_LYR_MAIN_0:
GfGfx_EngineATogglePlanes(GF_BG_LYR_MAIN_0_F, GX_PLANE_TOGGLE_ON);
G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
G2_SetBG0Priority(template->priority);
G2_BG0Mosaic(template->mosaic);
break;
case GF_BG_LYR_MAIN_1:
GfGfx_EngineATogglePlanes(GF_BG_LYR_MAIN_1_F, GX_PLANE_TOGGLE_ON);
G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
G2_SetBG1Priority(template->priority);
G2_BG1Mosaic(template->mosaic);
break;
@ -148,13 +148,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
switch (bgMode) {
default:
case GF_BG_TYPE_TEXT:
G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_AFFINE:
G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_256x16PLTT:
G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
}
G2_SetBG2Priority(template->priority);
@ -166,13 +166,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
switch (bgMode) {
default:
case GF_BG_TYPE_TEXT:
G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_AFFINE:
G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_256x16PLTT:
G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
}
G2_SetBG3Priority(template->priority);
@ -181,14 +181,14 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
case GF_BG_LYR_SUB_0:
GfGfx_EngineBTogglePlanes(GF_BG_LYR_SUB_0_F, GX_PLANE_TOGGLE_ON);
G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
G2S_SetBG0Priority(template->priority);
G2S_BG0Mosaic(template->mosaic);
break;
case GF_BG_LYR_SUB_1:
GfGfx_EngineBTogglePlanes(GF_BG_LYR_SUB_1_F, GX_PLANE_TOGGLE_ON);
G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
G2S_SetBG1Priority(template->priority);
G2S_BG1Mosaic(template->mosaic);
break;
@ -198,13 +198,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
switch (bgMode) {
default:
case GF_BG_TYPE_TEXT:
G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_AFFINE:
G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_256x16PLTT:
G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
}
G2S_SetBG2Priority(template->priority);
@ -216,13 +216,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
switch (bgMode) {
default:
case GF_BG_TYPE_TEXT:
G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_AFFINE:
G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
case GF_BG_TYPE_256x16PLTT:
G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
break;
}
G2S_SetBG3Priority(template->priority);

View File

@ -2,6 +2,8 @@
#include "global.h"
#include "constants/sprites.h"
#include "map_object.h"
static PlayerAvatar *PlayerAvatar_Create(void);
@ -28,6 +30,7 @@ extern u32 ov06_0224ABAC(LocalMapObject *mapObject, u32 x, u32 z, u32 direction,
extern void sub_020556C8(PlayerAvatar *avatar, u32 param1);
extern void sub_0205574C(PlayerAvatar *avatar, u32 param1);
extern void PlayerAvatar_SetFlag2(PlayerAvatar *avatar, BOOL flag);
extern u32 sub_02059D1C(LocalMapObject *object);
PlayerAvatar *PlayerAvatar_CreateWithParams(MapObjectManager *manager, u32 x, u32 z, u32 direction, s32 state, u32 gender, PlayerSaveData *playerSaveData) {
PlayerAvatar *avatar = PlayerAvatar_Create();
@ -203,7 +206,7 @@ static LocalMapObject *PlayerAvatar_GetMapObjectConst(PlayerAvatar *avatar) {
}
void PlayerAvatar_SetState(PlayerAvatar *avatar, s32 state) {
GF_ASSERT(state < PLAYER_STATE_UNK_SP);
GF_ASSERT(state < PLAYER_STATE_USE_HM);
avatar->state = state;
PlayerAvatar_SetPlayerSaveDataState(avatar, state);
}
@ -401,3 +404,13 @@ void PlayerAvatar_ToggleAutomaticHeightUpdating(PlayerAvatar *avatar, u8 flag) {
MapObject_SetIgnoreHeights(mapObject, TRUE);
}
}
void PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate(PlayerAvatar *avatar, BOOL flag) {
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
if (flag == TRUE) {
MapObject_SetIgnoreHeights(mapObject, FALSE);
sub_02059D1C(mapObject);
} else {
MapObject_SetIgnoreHeights(mapObject, TRUE);
}
}

View File

@ -8,10 +8,16 @@
#define DIR_EAST 3
// Player avatar state
#define PLAYER_STATE_WALKING 0
#define PLAYER_STATE_CYCLING 1
#define PLAYER_STATE_SURFING 2
#define PLAYER_STATE_UNK_SP 3
#define PLAYER_STATE_WALKING 0
#define PLAYER_STATE_CYCLING 1
#define PLAYER_STATE_SURFING 2
#define PLAYER_STATE_USE_HM 3
#define PLAYER_STATE_WATERING 4
#define PLAYER_STATE_CONTEST 5
#define PLAYER_STATE_FISHING 6
#define PLAYER_STATE_POKETCH 7
#define PLAYER_STATE_SAVING 8
#define PLAYER_STATE_HEAL 9
// Player transition bits
#define PLAYER_TRANSITION_WALKING 1 << 0

View File

@ -1,9 +1,241 @@
#ifndef POKEDIAMOND_CONSTANTS_SPRITES_H
#define POKEDIAMOND_CONSTANTS_SPRITES_H
#define SPRITE_ROCK 84
#define SPRITE_BREAKROCK 85
#define SPRITE_TREE 86
#define SPRITE_HERO 0
#define SPRITE_BABYBOY1 1
#define SPRITE_BABYGIRL1 2
#define SPRITE_BOY1 3
#define SPRITE_BOY2 4
#define SPRITE_BOY3 5
#define SPRITE_GIRL1 6
#define SPRITE_GIRL2 7
#define SPRITE_GIRL3 8
#define SPRITE_MAN1 9
#define SPRITE_MAN2 10
#define SPRITE_MAN3 11
#define SPRITE_WOMAN1 12
#define SPRITE_WOMAN2 13
#define SPRITE_WOMAN3 14
#define SPRITE_MIDDLEMAN1 15
#define SPRITE_MIDDLEWOMAN1 16
#define SPRITE_OLDMAN1 17
#define SPRITE_OLDWOMAN1 18
#define SPRITE_BIGMAN 19
#define SPRITE_MOUNT 20
#define SPRITE_CYCLEHERO 21
#define SPRITE_REPORTER 22
#define SPRITE_CAMERAMAN 23
#define SPRITE_SHOPM1 24
#define SPRITE_SHOPW1 25
#define SPRITE_PCWOMAN1 26
#define SPRITE_PCWOMAN2 27
#define SPRITE_PCWOMAN3 28
#define SPRITE_ASSISTANTM 29
#define SPRITE_ASSISTANTW 30
#define SPRITE_BADMAN 31
#define SPRITE_SKIERM 32
#define SPRITE_SKIERW 33
#define SPRITE_POLICEMAN 34
#define SPRITE_IDOL 35
#define SPRITE_GENTLEMAN 36
#define SPRITE_LADY 37
#define SPRITE_CYCLEM 38
#define SPRITE_CYCLEW 39
#define SPRITE_WORKMAN 40
#define SPRITE_FARMER 41
#define SPRITE_COWGIRL 42
#define SPRITE_CLOWN 43
#define SPRITE_ARTIST 44
#define SPRITE_SPORTSMAN 45
#define SPRITE_SWIMMERM 46
#define SPRITE_SWIMMERW 47
#define SPRITE_BEACHGIRL 48
#define SPRITE_BEACHBOY 49
#define SPRITE_EXPLORE 50
#define SPRITE_FIGHTER 51
#define SPRITE_CAMPBOY 52
#define SPRITE_PICNICGIRL 53
#define SPRITE_FISHING 54
#define SPRITE_AMBRELLA 55
#define SPRITE_SEAMAN 56
#define SPRITE_WAITER 59
#define SPRITE_WAITRESS 60
#define SPRITE_GORGGEOUSM 62
#define SPRITE_GORGGEOUSW 63
#define SPRITE_BOY4 64
#define SPRITE_GIRL4 65
#define SPRITE_MAN5 68
#define SPRITE_WOMAN5 69
#define SPRITE_MYSTERY 70
#define SPRITE_PIKACHU 71
#define SPRITE_PIPPI 72
#define SPRITE_PURIN 73
#define SPRITE_KODUCK 74
#define SPRITE_ACHAMO 78
#define SPRITE_ENECO 79
#define SPRITE_BABY 81
#define SPRITE_MIDDLEMAN2 82
#define SPRITE_MIDDLEWOMAN2 83
#define SPRITE_ROCK 84
#define SPRITE_BREAKROCK 85
#define SPRITE_TREE 86
#define SPRITE_MONSTARBALL 87
#define SPRITE_GIRL1_2 88
#define SPRITE_GIRL1_3 89
#define SPRITE_GIRL1_4 90
#define SPRITE_HEROINE 97
#define SPRITE_CYCLEHEROINE 98
#define SPRITE_DOCTOR 99
#define SPRITE_GINGABOSS 120
#define SPRITE_GKANBU1 121
#define SPRITE_GKANBU2 122
#define SPRITE_GKANBU3 123
#define SPRITE_GINGAM 124
#define SPRITE_GINGAW 125
#define SPRITE_LEADER1 126
#define SPRITE_LEADER2 127
#define SPRITE_LEADER3 128
#define SPRITE_LEADER4 129
#define SPRITE_LEADER5 130
#define SPRITE_LEADER6 131
#define SPRITE_LEADER7 132
#define SPRITE_LEADER8 133
#define SPRITE_BIGFOUR1 134
#define SPRITE_BIGFOUR2 135
#define SPRITE_BIGFOUR3 136
#define SPRITE_BIGFOUR4 137
#define SPRITE_CHAMPION 138
#define SPRITE_MAN1_2 139
#define SPRITE_MAMA 140
#define SPRITE_SEVEN1 141
#define SPRITE_SEVEN2 142
#define SPRITE_SEVEN3 143
#define SPRITE_SEVEN4 144
#define SPRITE_SEVEN5 145
#define SPRITE_RIVEL 148
#define SPRITE_BIGMAN_2 149
#define SPRITE_BIGMAN_3 150
#define SPRITE_SPPOKE1 151
#define SPRITE_SPPOKE2 152
#define SPRITE_SPPOKE3 153
#define SPRITE_SPPOKE4 154
#define SPRITE_SPPOKE5 155
#define SPRITE_SPPOKE6 156
#define SPRITE_SPPOKE7 157
#define SPRITE_SPPOKE8 158
#define SPRITE_SPPOKE9 159
#define SPRITE_SPPOKE10 160
#define SPRITE_SPPOKE11 161
#define SPRITE_WOMAN6 163
#define SPRITE_OLDMAN2 164
#define SPRITE_OLDWOMAN2 165
#define SPRITE_OOKIDO 166
#define SPRITE_MIKAN 167
#define SPRTIE_SUNGLASSES 168
#define SPRITE_TOWERBOSS 169
#define SPRITE_BIGMAN_4 170
#define SPRITE_BIGMAN_5 171
#define SPRITE_BIGMAN_6 172
#define SPRITE_BIRD 173
#define SPRITE_BAG 174
#define SPRITE_MAID 175
#define SPRITE_SPHERO 176
#define SPRITE_SPHEROINE 177
#define SPRITE_SWIMHERO 178
#define SPRITE_SWIMHEROINE 179
#define SPRITE_WATERHERO 180
#define SPRITE_WATERHEROINE 181
#define SPRITE_VENTHOLE 182
#define SPRITE_SSPOKE12 184
#define SPRITE_BALLOON 185
#define SPRITE_CONTESTHERO 186
#define SPRITE_CONT_HEROINE 187
#define SPRITE_FISHINGHERO 188
#define SPRITE_FISH_HEROINE 189
#define SPIRTE_MOSS 190
#define SPRITE_FREEZES 191
#define SPRITE_POLE 192
#define SPRITE_DELIVERY 193
#define SPRITE_DSBOY 194
#define SPRITE_KOIKING 195
#define SPRITE_POKEHERO 196
#define SPRITE_POKEHEROINE 197
#define SPRITE_SAVEHERO 198
#define SPRITE_SAVEHEROINE 199
#define SPRITE_BANZAIHERO 200
#define SPRITE_BANZAIHEROINE 201
#define SPRITE_GINGA_DOOR 202
#define SPRITE_T5_O01_C 203
#define SPRITE_PATIRITUSU 204
#define SPRITE_KINOCOCO 205
#define SPRITE_MIMITUTO 206
#define SPRITE_KOLUCKY 207
#define SPRITE_WANRIKY 208
#define SPRITE_SEED00_A 4096
#define SPRITE_SEED01_A 4097
#define SPRITE_SEED01_B 4098
#define SPRITE_SEED01_C 4099
#define SPRITE_SEED02_A 4100
#define SPRITE_SEED02_B 4101
#define SPRITE_SEED02_C 4102
#define SPRITE_SEED03_A 4103
#define SPRITE_SEED03_B 4104
#define SPRITE_SEED03_C 4105
#define SPRITE_SEED04_A 4106
#define SPRITE_SEED04_B 4107
#define SPRITE_SEED04_C 4108
#define SPRITE_SEED05_A 4109
#define SPRITE_SEED05_B 4110
#define SPRITE_SEED05_C 4111
#define SPRITE_SEED06_A 4112
#define SPRITE_SEED06_B 4113
#define SPRITE_SEED06_C 4114
#define SPRITE_SEED07_A 4115
#define SPRITE_SEED07_B 4116
#define SPRITE_SEED07_C 4117
#define SPRITE_SEED08_A 4118
#define SPRITE_SEED08_B 4119
#define SPRITE_SEED08_C 4120
#define SPRITE_SEED09_A 4121
#define SPRITE_SEED09_B 4122
#define SPRITE_SEED09_C 4123
#define SPRITE_SEED10_A 4124
#define SPRITE_SEED10_B 4125
#define SPRITE_SEED10_C 4126
#define SPRITE_SEED11_A 4127
#define SPRITE_SEED11_B 4128
#define SPRITE_SEED11_C 4129
#define SPRITE_SEED12_A 4130
#define SPRTIE_SEED12_B 4131
#define SPRITE_SEED12_C 4132
#define SPRITE_SEED13_A 4133
#define SPRITE_SEED13_B 4134
#define SPRITE_SEED13_C 4135
#define SPRITE_SEED14_A 4136
#define SPRITE_SEED14_B 4137
#define SPRITE_SEED14_C 4138
#define SPRITE_SEED15_A 4139
#define SPRITE_SEED15_B 4140
#define SPRITE_SEED15_C 4141
#define SPRITE_SEED16_A 4142
#define SPRITE_SEED16_B 4143
#define SPRITE_SEED16_C 4144
#define SPRITE_SEED17_A 4145
#define SPRITE_SEED17_B 4146
#define SPRITE_SEED17_C 4147
#define SPRITE_SEED18_A 4148
#define SPRITE_SEED18_B 4149
#define SPRITE_SEED18_C 4150
#define SPRITE_SEED19_A 4151
#define SPRITE_SEED19_B 4152
#define SPRITE_SEED19_C 4153
#define SPRITE_SEED20_A 4154
#define SPRITE_SEED20_B 4155
#define SPRITE_SEED20_C 4156
#define SPRITE_SEED21_A 4157
#define SPRITE_SEED21_B 4158
#define SPRITE_SEED21_c 4159
#define SPRITE_CAMERA_FOCUS 8192

View File

@ -91,5 +91,6 @@ void sub_020554EC(PlayerAvatar *avatar, VecFx32 *position, u32 direction);
void sub_02055514(PlayerAvatar *avatar, u32 x, u32 z, u32 direction);
void PlayerAvatar_SetMapObjectYPosition(PlayerAvatar *avatar, fx32 yVal);
void PlayerAvatar_ToggleAutomaticHeightUpdating(PlayerAvatar *avatar, u8 flag);
void PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate(PlayerAvatar *avatar, BOOL flag);
#endif // POKEDIAMOND_PLAYER_AVATAR_H