mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
finish sprites.h and add PlayerAvatar_GetSpriteByStateAndGender
This commit is contained in:
parent
c4ed650d15
commit
bcb39643c9
|
|
@ -7,116 +7,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start PlayerAvatar_GetSpriteByStateAndGender
|
||||
PlayerAvatar_GetSpriteByStateAndGender: ; 0x020555A0
|
||||
push {r3, lr}
|
||||
cmp r1, #0x0
|
||||
bne _020555F2
|
||||
cmp r0, #0x9
|
||||
bhi _0205563E
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #0x6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_020555B6: ; jump table (using 16-bit offset)
|
||||
.short _020555CA - _020555B6 - 2; case 0
|
||||
.short _020555CE - _020555B6 - 2; case 1
|
||||
.short _020555D2 - _020555B6 - 2; case 2
|
||||
.short _020555D6 - _020555B6 - 2; case 3
|
||||
.short _020555DA - _020555B6 - 2; case 4
|
||||
.short _020555DE - _020555B6 - 2; case 5
|
||||
.short _020555E2 - _020555B6 - 2; case 6
|
||||
.short _020555E6 - _020555B6 - 2; case 7
|
||||
.short _020555EA - _020555B6 - 2; case 8
|
||||
.short _020555EE - _020555B6 - 2; case 9
|
||||
_020555CA:
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
_020555CE:
|
||||
mov r0, #0x15
|
||||
pop {r3, pc}
|
||||
_020555D2:
|
||||
mov r0, #0xb2
|
||||
pop {r3, pc}
|
||||
_020555D6:
|
||||
mov r0, #0xb0
|
||||
pop {r3, pc}
|
||||
_020555DA:
|
||||
mov r0, #0xb4
|
||||
pop {r3, pc}
|
||||
_020555DE:
|
||||
mov r0, #0xba
|
||||
pop {r3, pc}
|
||||
_020555E2:
|
||||
mov r0, #0xbc
|
||||
pop {r3, pc}
|
||||
_020555E6:
|
||||
mov r0, #0xc4
|
||||
pop {r3, pc}
|
||||
_020555EA:
|
||||
mov r0, #0xc6
|
||||
pop {r3, pc}
|
||||
_020555EE:
|
||||
mov r0, #0xc8
|
||||
pop {r3, pc}
|
||||
_020555F2:
|
||||
cmp r0, #0x9
|
||||
bhi _0205563E
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #0x6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02055602: ; jump table (using 16-bit offset)
|
||||
.short _02055616 - _02055602 - 2; case 0
|
||||
.short _0205561A - _02055602 - 2; case 1
|
||||
.short _0205561E - _02055602 - 2; case 2
|
||||
.short _02055622 - _02055602 - 2; case 3
|
||||
.short _02055626 - _02055602 - 2; case 4
|
||||
.short _0205562A - _02055602 - 2; case 5
|
||||
.short _0205562E - _02055602 - 2; case 6
|
||||
.short _02055632 - _02055602 - 2; case 7
|
||||
.short _02055636 - _02055602 - 2; case 8
|
||||
.short _0205563A - _02055602 - 2; case 9
|
||||
_02055616:
|
||||
mov r0, #0x61
|
||||
pop {r3, pc}
|
||||
_0205561A:
|
||||
mov r0, #0x62
|
||||
pop {r3, pc}
|
||||
_0205561E:
|
||||
mov r0, #0xb3
|
||||
pop {r3, pc}
|
||||
_02055622:
|
||||
mov r0, #0xb1
|
||||
pop {r3, pc}
|
||||
_02055626:
|
||||
mov r0, #0xb5
|
||||
pop {r3, pc}
|
||||
_0205562A:
|
||||
mov r0, #0xbb
|
||||
pop {r3, pc}
|
||||
_0205562E:
|
||||
mov r0, #0xbd
|
||||
pop {r3, pc}
|
||||
_02055632:
|
||||
mov r0, #0xc5
|
||||
pop {r3, pc}
|
||||
_02055636:
|
||||
mov r0, #0xc7
|
||||
pop {r3, pc}
|
||||
_0205563A:
|
||||
mov r0, #0xc9
|
||||
pop {r3, pc}
|
||||
_0205563E:
|
||||
bl GF_AssertFail
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start sub_02055648
|
||||
sub_02055648: ; 0x02055648
|
||||
push {r3, lr}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ static s32 PlayerSaveData_GetState(PlayerSaveData *playerSaveData);
|
|||
static void PlayerSaveData_SetState(PlayerSaveData *playerSaveData, s32 state);
|
||||
static void PlayerAvatar_SetPlayerSaveDataState(PlayerAvatar *avatar, s32 state);
|
||||
|
||||
extern u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender);
|
||||
extern void ov05_021EDBC8(PlayerAvatar *avatar);
|
||||
extern u32 ov06_0224ABAC(LocalMapObject *mapObject, u32 x, u32 z, u32 direction, u32 param4);
|
||||
extern void sub_020556C8(PlayerAvatar *avatar, u32 param1);
|
||||
|
|
@ -414,3 +413,55 @@ void PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate(PlayerAvatar *avatar, B
|
|||
MapObject_SetIgnoreHeights(mapObject, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender) {
|
||||
if (gender == PLAYER_GENDER_MALE) {
|
||||
switch (state) {
|
||||
case PLAYER_STATE_WALKING:
|
||||
return SPRITE_HERO;
|
||||
case PLAYER_STATE_CYCLING:
|
||||
return SPRITE_CYCLEHERO;
|
||||
case PLAYER_STATE_SURFING:
|
||||
return SPRITE_SWIMHERO;
|
||||
case PLAYER_STATE_USE_HM:
|
||||
return SPRITE_SPHERO;
|
||||
case PLAYER_STATE_WATERING:
|
||||
return SPRITE_WATERHERO;
|
||||
case PLAYER_STATE_CONTEST:
|
||||
return SPRITE_CONTESTHERO;
|
||||
case PLAYER_STATE_FISHING:
|
||||
return SPRITE_FISHINGHERO;
|
||||
case PLAYER_STATE_POKETCH:
|
||||
return SPRITE_POKEHERO;
|
||||
case PLAYER_STATE_SAVING:
|
||||
return SPRITE_SAVEHERO;
|
||||
case PLAYER_STATE_HEAL:
|
||||
return SPRITE_BANZAIHERO;
|
||||
}
|
||||
} else {
|
||||
switch (state) {
|
||||
case PLAYER_STATE_WALKING:
|
||||
return SPRITE_HEROINE;
|
||||
case PLAYER_STATE_CYCLING:
|
||||
return SPRITE_CYCLEHEROINE;
|
||||
case PLAYER_STATE_SURFING:
|
||||
return SPRITE_SWIMHEROINE;
|
||||
case PLAYER_STATE_USE_HM:
|
||||
return SPRITE_SPHEROINE;
|
||||
case PLAYER_STATE_WATERING:
|
||||
return SPRITE_WATERHEROINE;
|
||||
case PLAYER_STATE_CONTEST:
|
||||
return SPRITE_CONT_HEROINE;
|
||||
case PLAYER_STATE_FISHING:
|
||||
return SPRITE_FISH_HEROINE;
|
||||
case PLAYER_STATE_POKETCH:
|
||||
return SPRITE_POKEHEROINE;
|
||||
case PLAYER_STATE_SAVING:
|
||||
return SPRITE_SAVEHEROINE;
|
||||
case PLAYER_STATE_HEAL:
|
||||
return SPRITE_BANZAIHEROINE;
|
||||
}
|
||||
}
|
||||
GF_ASSERT(FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -235,7 +235,136 @@
|
|||
#define SPRITE_SEED20_C 4156
|
||||
#define SPRITE_SEED21_A 4157
|
||||
#define SPRITE_SEED21_B 4158
|
||||
#define SPRITE_SEED21_c 4159
|
||||
#define SPRITE_SEED21_C 4159
|
||||
#define SPRITE_SEED22_A 4160
|
||||
#define SPRITE_SEED22_B 4161
|
||||
#define SPRITE_SEED22_C 4162
|
||||
#define SPRITE_SEED23_A 4163
|
||||
#define SPRITE_SEED23_B 4164
|
||||
#define SPRITE_SEED23_C 4165
|
||||
#define SPRITE_SEED24_A 4166
|
||||
#define SPRITE_SEED24_B 4167
|
||||
#define SPRITE_SEED24_C 4168
|
||||
#define SPRITE_SEED25_A 4169
|
||||
#define SPRITE_SEED25_B 4170
|
||||
#define SPRITE_SEED25_C 4171
|
||||
#define SPRITE_SEED26_A 4172
|
||||
#define SPRITE_SEED26_B 4173
|
||||
#define SPRITE_SEED26_C 4174
|
||||
#define SPRITE_SEED27_A 4175
|
||||
#define SPRITE_SEED27_B 4176
|
||||
#define SPRITE_SEED27_C 4177
|
||||
#define SPRITE_SEED28_A 4178
|
||||
#define SPRITE_SEED28_B 4179
|
||||
#define SPRITE_SEED28_C 4180
|
||||
#define SPRITE_SEED29_A 4181
|
||||
#define SPRITE_SEED29_B 4182
|
||||
#define SPRITE_SEED29_C 4183
|
||||
#define SPRITE_SEED30_A 4184
|
||||
#define SPRITE_SEED30_B 4185
|
||||
#define SPRITE_SEED30_C 4186
|
||||
#define SPRITE_SEED31_A 4187
|
||||
#define SPRITE_SEED31_B 4188
|
||||
#define SPRITE_SEED31_C 4189
|
||||
#define SPRITE_SEED32_A 4190
|
||||
#define SPRITE_SEED32_B 4191
|
||||
#define SPRITE_SEED32_C 4192
|
||||
#define SPRITE_SEED33_A 4193
|
||||
#define SPRITE_SEED33_B 4194
|
||||
#define SPRITE_SEED33_C 4195
|
||||
#define SPRITE_SEED34_A 4196
|
||||
#define SPRITE_SEED34_B 4197
|
||||
#define SPRITE_SEED34_C 4198
|
||||
#define SPRITE_SEED35_A 4199
|
||||
#define SPRITE_SEED35_B 4200
|
||||
#define SPRITE_SEED35_C 4201
|
||||
#define SPRITE_SEED36_A 4202
|
||||
#define SPRITE_SEED36_B 4203
|
||||
#define SPRITE_SEED36_C 4204
|
||||
#define SPRITE_SEED37_A 4205
|
||||
#define SPRITE_SEED37_B 4206
|
||||
#define SPRITE_SEED37_C 4207
|
||||
#define SPRITE_SEED38_A 4208
|
||||
#define SPRITE_SEED38_B 4209
|
||||
#define SPRITE_SEED38_C 4210
|
||||
#define SPRITE_SEED39_A 4211
|
||||
#define SPRITE_SEED39_B 4212
|
||||
#define SPRITE_SEED39_C 4213
|
||||
#define SPRITE_SEED40_A 4214
|
||||
#define SPRITE_SEED40_B 4215
|
||||
#define SPRITE_SEED40_C 4216
|
||||
#define SPRITE_SEED41_A 4217
|
||||
#define SPRITE_SEED41_B 4218
|
||||
#define SPRITE_SEED41_C 4219
|
||||
#define SPRITE_SEED42_A 4220
|
||||
#define SPRITE_SEED42_B 4221
|
||||
#define SPRITE_SEED42_C 4222
|
||||
#define SPRITE_SEED43_A 4223
|
||||
#define SPRITE_SEED43_B 4224
|
||||
#define SPRITE_SEED43_C 4225
|
||||
#define SPRITE_SEED44_A 4226
|
||||
#define SPRITE_SEED44_B 4227
|
||||
#define SPRITE_SEED44_C 4228
|
||||
#define SPRITE_SEED45_A 4229
|
||||
#define SPRITE_SEED45_B 4230
|
||||
#define SPRITE_SEED45_C 4231
|
||||
#define SPRITE_SEED46_A 4232
|
||||
#define SPRITE_SEED46_B 4233
|
||||
#define SPRITE_SEED46_C 4234
|
||||
#define SPRITE_SEED47_A 4235
|
||||
#define SPRITE_SEED47_B 4236
|
||||
#define SPRITE_SEED47_C 4237
|
||||
#define SPRITE_SEED48_A 4238
|
||||
#define SPRITE_SEED48_B 4239
|
||||
#define SPRITE_SEED48_C 4240
|
||||
#define SPRITE_SEED49_A 4241
|
||||
#define SPRITE_SEED49_B 4242
|
||||
#define SPRITE_SEED49_C 4243
|
||||
#define SPRITE_SEED50_A 4244
|
||||
#define SPRITE_SEED50_B 4245
|
||||
#define SPRITE_SEED50_C 4246
|
||||
#define SPRITE_SEED51_A 4247
|
||||
#define SPRITE_SEED51_B 4248
|
||||
#define SPRITE_SEED51_C 4249
|
||||
#define SPRITE_SEED52_A 4250
|
||||
#define SPRITE_SEED52_B 4251
|
||||
#define SPRITE_SEED52_C 4252
|
||||
#define SPRITE_SEED53_A 4253
|
||||
#define SPRITE_SEED53_B 4254
|
||||
#define SPRITE_SEED53_C 4255
|
||||
#define SPRITE_SEED54_A 4256
|
||||
#define SPRITE_SEED54_B 4257
|
||||
#define SPRITE_SEED54_C 4258
|
||||
#define SPRITE_SEED55_A 4259
|
||||
#define SPRITE_SEED55_B 4260
|
||||
#define SPRITE_SEED55_C 4261
|
||||
#define SPRITE_SEED56_A 4262
|
||||
#define SPRITE_SEED56_B 4263
|
||||
#define SPRITE_SEED56_C 4264
|
||||
#define SPRITE_SEED57_A 4265
|
||||
#define SPRITE_SEED57_B 4266
|
||||
#define SPRITE_SEED57_C 4267
|
||||
#define SPRITE_SEED58_A 4268
|
||||
#define SPRITE_SEED58_B 4269
|
||||
#define SPRITE_SEED58_C 4270
|
||||
#define SPRITE_SEED59_A 4271
|
||||
#define SPRITE_SEED59_B 4272
|
||||
#define SPRITE_SEED59_C 4273
|
||||
#define SPRITE_SEED60_A 4274
|
||||
#define SPRITE_SEED60_B 4275
|
||||
#define SPRITE_SEED60_C 4276
|
||||
#define SPRITE_SEED61_A 4277
|
||||
#define SPRITE_SEED61_B 4278
|
||||
#define SPRITE_SEED61_C 4279
|
||||
#define SPRITE_SEED62_A 4280
|
||||
#define SPRITE_SEED62_B 4281
|
||||
#define SPRITE_SEED62_C 4282
|
||||
#define SPRITE_SEED63_A 4283
|
||||
#define SPRITE_SEED63_B 4284
|
||||
#define SPRITE_SEED63_C 4285
|
||||
#define SPRITE_SEED64_A 4286
|
||||
#define SPRITE_SEED64_B 4287
|
||||
#define SPRITE_SEED64_C 4288
|
||||
|
||||
#define SPRITE_CAMERA_FOCUS 8192
|
||||
|
||||
|
|
|
|||
|
|
@ -92,5 +92,6 @@ 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);
|
||||
u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender);
|
||||
|
||||
#endif // POKEDIAMOND_PLAYER_AVATAR_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user