diff options
-rw-r--r-- | include/field_player_avatar.h | 13 | ||||
-rw-r--r-- | include/naming_screen.h | 6 | ||||
-rw-r--r-- | src/field_effect.c | 10 | ||||
-rw-r--r-- | src/field_player_avatar.c | 30 | ||||
-rw-r--r-- | src/field_specials.c | 2 | ||||
-rw-r--r-- | src/naming_screen.c | 30 | ||||
-rw-r--r-- | src/overworld.c | 2 |
7 files changed, 52 insertions, 41 deletions
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 1b25aad24..b62782c8d 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -3,6 +3,17 @@ #include "task.h" +enum { + PLAYER_AVATAR_STATE_NORMAL, + PLAYER_AVATAR_STATE_MACH_BIKE, + PLAYER_AVATAR_STATE_ACRO_BIKE, + PLAYER_AVATAR_STATE_SURFING, + PLAYER_AVATAR_STATE_UNDERWATER, + PLAYER_AVATAR_STATE_FIELD_MOVE, + PLAYER_AVATAR_STATE_FISHING, + PLAYER_AVATAR_STATE_WATERING, +}; + // sub_80587B4 void player_step(u8 a, u16 b, u16 c); u8 ForcedMovement_None(void); @@ -69,7 +80,7 @@ u8 GetPlayerAvatarObjectId(void); void sub_80597E8(void); void sub_80597F4(void); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 a, u8 b); -u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); +u8 GetPlayerAvatarGraphicsIdByStateId(u8); u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); diff --git a/include/naming_screen.h b/include/naming_screen.h index d136417ba..f22f7dc78 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -48,9 +48,9 @@ struct NamingScreenData const struct NamingScreenTemplate *template; /*0x38*/ u8 *destBuffer; /*0x3C*/ u16 unk3C; //savedKeyRepeatStartDelay - /*0x3E*/ u16 unk3E; - /*0x40*/ u16 unk40; - /*0x42*/ u32 unk42; + /*0x3E*/ u16 speciesOrPlayerGender; + /*0x40*/ u16 monGender; + /*0x42*/ u32 monPersonality; /*0x46*/ MainCallback returnCallback; }; diff --git a/src/field_effect.c b/src/field_effect.c index 876df601c..1617d8f51 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2859,7 +2859,7 @@ void sub_8088A78(struct Task *task) if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(3)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectClearAnimIfSpecialAnimFinished(mapObject); FieldObjectSetSpecialAnim(mapObject, sub_80608D0(mapObject->placeholder18)); gFieldEffectArguments[0] = task->data[1]; @@ -3030,7 +3030,7 @@ void sub_8088E2C(struct Task *task) if ((++task->data[2]) >= 8) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); mapObject->mapobj_bit_12 = 1; FieldObjectSetSpecialAnim(mapObject, 0x48); @@ -3270,7 +3270,7 @@ void sub_80892A0(struct Task *task) { sub_8127ED0(mapObject->mapobj_unk_1A, 0); } - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); CameraObjectReset2(); FieldObjectTurn(mapObject, DIR_WEST); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); @@ -3374,10 +3374,10 @@ void fishE(struct Task *task) if ((--task->data[1]) == 0) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - state = 0; + state = PLAYER_AVATAR_STATE_NORMAL; if (task->data[15] & 0x08) { - state = 3; + state = PLAYER_AVATAR_STATE_SURFING; sub_8127ED0(mapObject->mapobj_unk_1A, 1); } sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 3970cb824..29f20dfa0 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -648,14 +648,14 @@ void nullsub_49(struct MapObject *a) void PlayerAvatarTransition_Normal(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(0)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(1); } void PlayerAvatarTransition_MachBike(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(1)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(2); BikeClearState(0, 0); @@ -663,7 +663,7 @@ void PlayerAvatarTransition_MachBike(struct MapObject *a) void PlayerAvatarTransition_AcroBike(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(2)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(4); BikeClearState(0, 0); @@ -674,7 +674,7 @@ void PlayerAvatarTransition_Surfing(struct MapObject *a) { u8 unk; - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(3)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(8); gFieldEffectArguments[0] = a->coords2.x; @@ -687,7 +687,7 @@ void PlayerAvatarTransition_Surfing(struct MapObject *a) void PlayerAvatarTransition_Underwater(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(4)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(16); a->mapobj_unk_1A = sub_8128124(a->spriteId); @@ -1129,7 +1129,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) struct MapObject *mapObject; playerMapObjTemplate.localId = 0xFF; - playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(0, gender); + playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); playerMapObjTemplate.x = x - 7; playerMapObjTemplate.y = y - 7; playerMapObjTemplate.elevation = 0; @@ -1163,27 +1163,27 @@ void sub_8059B88(u8 a) void sub_8059BF4(void) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(5)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0); } void sub_8059C3C(u8 a) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(6)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDE8(a)); } -void sub_8059C94(u8 a) +void sub_8059C94(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(2)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FD98(a)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FD98(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } -void sub_8059D08(u8 a) +void sub_8059D08(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(7)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(a)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(direction)); } static void sub_8059D60(struct MapObject *a) @@ -1413,7 +1413,7 @@ static void sub_805A2D0(u8 taskId) if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) { - sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(0)); + sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->mapobj_unk_18)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); diff --git a/src/field_specials.c b/src/field_specials.c index a4b891dbe..4eeb23dd4 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -356,7 +356,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) { if (myLinkPlayerNumber != i) { - rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gLinkPlayers[i].gender); + rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gLinkPlayers[i].gender); SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, unknown_083F8358[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); j++; if (j == 4) diff --git a/src/naming_screen.c b/src/naming_screen.c index 710bdefba..378462891 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -130,9 +130,9 @@ static void sub_80B76E0(); static void nullsub_20(u8, u8); static void PrintKeyboardCharacters(u8); -void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 c, u16 d, u32 e, MainCallback returnCallback) +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) { - StoreNamingScreenParameters(templateNum, destBuffer, c, d, e, returnCallback); + StoreNamingScreenParameters(templateNum, destBuffer, speciesOrPlayerGender, monGender, monPersonality, returnCallback); SetMainCallback2(C2_NamingScreen); } @@ -199,17 +199,17 @@ static void VBlankCB_NamingScreen(void) REG_BG2CNT |= namingScreenDataPtr->unkA; } -static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 c, u16 d, u32 e, MainCallback returnCallback) +static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) { struct Task *task; //Create a task that does nothing, and use it as a temporary space to store parameters task = &gTasks[CreateTask(Task_DoNothing, 0xFF)]; task->data[0] = templateNum; - task->data[1] = c; - task->data[2] = d; - task->data[3] = e >> 16; - task->data[4] = e; + task->data[1] = speciesOrPlayerGender; + task->data[2] = monGender; + task->data[3] = monPersonality >> 16; + task->data[4] = monPersonality; StoreWordInTwoHalfwords(&task->data[5], (u32)destBuffer); StoreWordInTwoHalfwords(&task->data[7], (u32)returnCallback); } @@ -222,9 +222,9 @@ static void GetNamingScreenParameters(void) taskId = FindTaskIdByFunc(Task_DoNothing); task = &gTasks[taskId]; namingScreenDataPtr->templateNum = task->data[0]; - namingScreenDataPtr->unk3E = task->data[1]; - namingScreenDataPtr->unk40 = task->data[2]; - namingScreenDataPtr->unk42 = (task->data[3] << 16) | (u16)task->data[4]; + namingScreenDataPtr->speciesOrPlayerGender = task->data[1]; + namingScreenDataPtr->monGender = task->data[2]; + namingScreenDataPtr->monPersonality = (task->data[3] << 16) | (u16)task->data[4]; LoadWordFromTwoHalfwords(&task->data[5], (u32 *)&namingScreenDataPtr->destBuffer); LoadWordFromTwoHalfwords(&task->data[7], (u32 *)&namingScreenDataPtr->returnCallback); DestroyTask(taskId); @@ -1304,7 +1304,7 @@ static void sub_80B6E68(void) u8 rivalGfxId; u8 spriteId; - rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, namingScreenDataPtr->unk3E); + rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, namingScreenDataPtr->speciesOrPlayerGender); spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x18, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); @@ -1324,7 +1324,7 @@ static void sub_80B6EFC(void) u8 spriteId; sub_809D51C(); - spriteId = CreateMonIcon(namingScreenDataPtr->unk3E, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenDataPtr->unk42); + spriteId = CreateMonIcon(namingScreenDataPtr->speciesOrPlayerGender, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenDataPtr->monPersonality); gSprites[spriteId].oam.priority = 3; } @@ -1832,7 +1832,7 @@ static void nullsub_61(void) static void sub_80B78F8(void) { - StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenDataPtr->unk3E]); + StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenDataPtr->speciesOrPlayerGender]); } static void nullsub_62(void) @@ -1843,9 +1843,9 @@ static void sub_80B7924(void) { u8 genderSymbol[2] = _("♂"); - if ((s16)namingScreenDataPtr->unk40 != MON_GENDERLESS) + if ((s16)namingScreenDataPtr->monGender != MON_GENDERLESS) { - if ((s16)namingScreenDataPtr->unk40 == MON_FEMALE) + if ((s16)namingScreenDataPtr->monGender == MON_FEMALE) genderSymbol[0] = 0xB6; //female symbol Menu_PrintText(genderSymbol, 0x14, 4); } diff --git a/src/overworld.c b/src/overworld.c index 721932a7e..8b2dfb74d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2720,7 +2720,7 @@ void CreateLinkPlayerSprite(u8 linkPlayerId) if (linkPlayerMapObj->active) { - u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(0, mapObj->mapobj_bit_1); + u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->mapobj_bit_1); mapObj->spriteId = AddPseudoFieldObject(val, SpriteCB_LinkPlayer, 0, 0, 0); sprite = &gSprites[mapObj->spriteId]; sprite->coordOffsetEnabled = TRUE; |