summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/field_player_avatar.h13
-rw-r--r--include/naming_screen.h6
-rw-r--r--src/field_effect.c10
-rw-r--r--src/field_player_avatar.c30
-rw-r--r--src/field_specials.c2
-rw-r--r--src/naming_screen.c30
-rw-r--r--src/overworld.c2
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;