summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/main.c24
-rw-r--r--arm9/src/pokemon.c484
-rw-r--r--arm9/src/unk_02006234.c28
-rw-r--r--arm9/src/unk_0207FC5C.c533
-rw-r--r--arm9/src/waza.c4
5 files changed, 803 insertions, 270 deletions
diff --git a/arm9/src/main.c b/arm9/src/main.c
index a81db33d..3f967380 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -6,7 +6,7 @@
#include "PAD_pad.h"
#include "main.h"
#include "poke_overlay.h"
-#include "save_block_2.h"
+#include "player_data.h"
#include "sound.h"
FS_EXTERN_OVERLAY(MODULE_52);
@@ -16,9 +16,9 @@ FS_EXTERN_OVERLAY(MODULE_63);
struct Unk2106FA0 gBacklightTop;
-extern BOOL FUN_02006234(struct Unk21DBE18 *, s32 *, int);
-extern BOOL FUN_02006290(int);
-extern void FUN_02006260(int);
+extern BOOL OverlayManager_new(struct Unk21DBE18 *, s32 *, int);
+extern BOOL OverlayManager_Run(int);
+extern void OverlayManager_delete(int);
extern BOOL FUN_02033678(void);
extern u32 FUN_020335B8(void);
extern BOOL FUN_0202FB80(void);
@@ -89,12 +89,12 @@ THUMB_FUNC void NitroMain(void)
case 0:
// Title Demo
gBacklightTop.unk1C = 0;
- FUN_02000E7C(FS_OVERLAY_ID(MODULE_63), &MOD63_021DBE18);
+ RegisterMainOverlay(FS_OVERLAY_ID(MODULE_63), &MOD63_021DBE18);
break;
case 1:
// Reset transition?
gBacklightTop.unk1C = 1;
- FUN_02000E7C(FS_OVERLAY_ID(MODULE_52), &MOD52_021D76C8);
+ RegisterMainOverlay(FS_OVERLAY_ID(MODULE_52), &MOD52_021D76C8);
break;
default:
GF_ASSERT(0);
@@ -118,7 +118,7 @@ THUMB_FUNC void NitroMain(void)
}
if (FUN_0202FB80())
{
- FUN_02000E0C();
+ Main_RunOverlayManager();
FUN_0201B5CC(gMain.unk18);
FUN_0201B5CC(gMain.unk24);
if (!gMain.unk30)
@@ -151,7 +151,7 @@ THUMB_FUNC void FUN_02000DF4(void)
gBacklightTop.unk14 = NULL;
}
-THUMB_FUNC void FUN_02000E0C(void)
+THUMB_FUNC void Main_RunOverlayManager(void)
{
if (!gBacklightTop.unkC)
{
@@ -160,20 +160,20 @@ THUMB_FUNC void FUN_02000E0C(void)
if (gBacklightTop.unk10 != SDK_OVERLAY_INVALID_ID)
HandleLoadOverlay(gBacklightTop.unk10, 0);
gBacklightTop.unk8 = gBacklightTop.unk10;
- gBacklightTop.unkC = FUN_02006234(gBacklightTop.unk14, &gBacklightTop.unk18, 0);
+ gBacklightTop.unkC = OverlayManager_new(gBacklightTop.unk14, &gBacklightTop.unk18, 0);
gBacklightTop.unk10 = SDK_OVERLAY_INVALID_ID;
gBacklightTop.unk14 = NULL;
}
- if (FUN_02006290(gBacklightTop.unkC))
+ if (OverlayManager_Run(gBacklightTop.unkC))
{
- FUN_02006260(gBacklightTop.unkC);
+ OverlayManager_delete(gBacklightTop.unkC);
gBacklightTop.unkC = 0;
if (gBacklightTop.unk8 != SDK_OVERLAY_INVALID_ID)
UnloadOverlayByID(gBacklightTop.unk8);
}
}
-THUMB_FUNC void FUN_02000E7C(FSOverlayID id, struct Unk21DBE18 * arg1)
+THUMB_FUNC void RegisterMainOverlay(FSOverlayID id, struct Unk21DBE18 * arg1)
{
if (gBacklightTop.unk14 != NULL)
ErrorHandling();
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index dbf86d8a..3db6796a 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -701,33 +701,33 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
ret = blockA->sheen;
break;
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
{
if (blockA->sinnohRibbons & (1ll << (attr - MON_DATA_SINNOH_CHAMP_RIBBON)))
@@ -790,39 +790,39 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
case MON_DATA_HAS_NICKNAME:
ret = blockB->isNicknamed;
break;
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
- if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_COOL_RIBBON)))
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
+ if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_HOENN_COOL_RIBBON)))
ret = TRUE;
else
ret = FALSE;
@@ -876,28 +876,28 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
case MON_DATA_GAME_VERSION:
ret = blockC->originGame;
break;
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
- if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_SINNOH_RIBBON_122)))
+ if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_COOL_RIBBON)))
ret = TRUE;
else
ret = FALSE;
@@ -1178,33 +1178,33 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
blockA->sheen = VALUE(u8);
break;
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
flag = VALUE(u8);
mask = (u64)flag << (attr - MON_DATA_SINNOH_CHAMP_RIBBON);
@@ -1255,40 +1255,40 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
case MON_DATA_HAS_NICKNAME:
blockB->isNicknamed = VALUE(u8);
break;
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
flag = VALUE(u8);
- mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON);
+ mask = (u64)flag << (attr - MON_DATA_HOENN_COOL_RIBBON);
if (flag)
blockB->ribbonFlags |= mask;
else
@@ -1333,29 +1333,29 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
case MON_DATA_GAME_VERSION:
blockC->originGame = VALUE(u8);
break;
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
flag = VALUE(u8);
- mask = (u64)flag << (attr - MON_DATA_SINNOH_RIBBON_122);
+ mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON);
if (flag)
blockC->sinnohRibbons2 |= mask;
else
@@ -1630,33 +1630,33 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_MARKINGS:
case MON_DATA_GAME_LANGUAGE:
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
case MON_DATA_MOVE1:
case MON_DATA_MOVE2:
@@ -1664,38 +1664,38 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_MOVE4:
case MON_DATA_IS_EGG:
case MON_DATA_HAS_NICKNAME:
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
case MON_DATA_FATEFUL_ENCOUNTER:
case MON_DATA_GENDER:
case MON_DATA_FORME:
@@ -1708,26 +1708,26 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_NICKNAME_4:
case MON_DATA_UNK_120:
case MON_DATA_GAME_VERSION:
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
case MON_DATA_OT_NAME:
case MON_DATA_OT_NAME_2:
@@ -3725,7 +3725,7 @@ void FUN_0206AA84(struct Pokemon * pokemon)
SetMonData(pokemon, MON_DATA_SEAL_COORDS, sp1);
}
-void FUN_0206AAB4(struct BoxPokemon * boxmon)
+void RestoreBoxMonPP(struct BoxPokemon * boxmon)
{
int i;
u8 pp;
diff --git a/arm9/src/unk_02006234.c b/arm9/src/unk_02006234.c
index af93ed3e..a493311d 100644
--- a/arm9/src/unk_02006234.c
+++ b/arm9/src/unk_02006234.c
@@ -3,15 +3,15 @@
#include "poke_overlay.h"
#include "heap.h"
-struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id); //todo header?
-void FUN_02006260(struct UnkStruct_02006234 * a0);
-void * FUN_02006268(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id);
-void * FUN_02006278(struct UnkStruct_02006234 * a0);
-void FUN_0200627C(struct UnkStruct_02006234 * a0);
-int * FUN_0200628C(struct UnkStruct_02006234 * a0);
-BOOL FUN_02006290(struct UnkStruct_02006234 * a0);
+struct UnkStruct_02006234 * OverlayManager_new(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id); //todo header?
+void OverlayManager_delete(struct UnkStruct_02006234 * a0);
+void * OverlayManager_CreateAndGetData(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id);
+void * OverlayManager_GetData(struct UnkStruct_02006234 * a0);
+void OverlayManager_FreeData(struct UnkStruct_02006234 * a0);
+int * OverlayManager_GetField18(struct UnkStruct_02006234 * a0);
+BOOL OverlayManager_Run(struct UnkStruct_02006234 * a0);
-THUMB_FUNC struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id)
+THUMB_FUNC struct UnkStruct_02006234 * OverlayManager_new(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id)
{
struct UnkStruct_02006234 * ret = (struct UnkStruct_02006234 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_02006234));
ret->ovly_mgr = *ovly_mgr;
@@ -24,33 +24,33 @@ THUMB_FUNC struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr
return ret;
}
-THUMB_FUNC void FUN_02006260(struct UnkStruct_02006234 * a0)
+THUMB_FUNC void OverlayManager_delete(struct UnkStruct_02006234 * a0)
{
FreeToHeap(a0);
}
-THUMB_FUNC void * FUN_02006268(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id)
+THUMB_FUNC void * OverlayManager_CreateAndGetData(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id)
{
return a0->unk1C = AllocFromHeap(heap_id, size);
}
-THUMB_FUNC void * FUN_02006278(struct UnkStruct_02006234 * a0)
+THUMB_FUNC void * OverlayManager_GetData(struct UnkStruct_02006234 * a0)
{
return a0->unk1C;
}
-THUMB_FUNC void FUN_0200627C(struct UnkStruct_02006234 * a0)
+THUMB_FUNC void OverlayManager_FreeData(struct UnkStruct_02006234 * a0)
{
FreeToHeap(a0->unk1C);
a0->unk1C = NULL;
}
-THUMB_FUNC int * FUN_0200628C(struct UnkStruct_02006234 * a0)
+THUMB_FUNC int * OverlayManager_GetField18(struct UnkStruct_02006234 * a0)
{
return a0->unk18;
}
-THUMB_FUNC BOOL FUN_02006290(struct UnkStruct_02006234 * a0)
+THUMB_FUNC BOOL OverlayManager_Run(struct UnkStruct_02006234 * a0)
{
switch (a0->unk10)
{
diff --git a/arm9/src/unk_0207FC5C.c b/arm9/src/unk_0207FC5C.c
new file mode 100644
index 00000000..1f001de1
--- /dev/null
+++ b/arm9/src/unk_0207FC5C.c
@@ -0,0 +1,533 @@
+#include "global.h"
+#include "unk_0207FC5C.h"
+#include "constants/pokemon.h"
+
+#pragma thumb on
+
+struct UnkStruct_020FB788
+{
+ u32 monDataId;
+ u16 gfxId;
+ u16 palId;
+ u16 nameIdx;
+ u16 descIdx;
+};
+
+const struct UnkStruct_020FB788 UNK_020FB788[] = {
+ {
+ MON_DATA_HOENN_CHAMPION_RIBBON,
+ 72,
+ 0,
+ RIBBON_HOENN_CHAMPION,
+ 80
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON,
+ 73,
+ 0,
+ RIBBON_HOENN_COOL,
+ 81
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_SUPER,
+ 74,
+ 0,
+ RIBBON_HOENN_COOL_SUPER,
+ 82
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_HYPER,
+ 75,
+ 0,
+ RIBBON_HOENN_COOL_HYPER,
+ 83
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_MASTER,
+ 76,
+ 0,
+ RIBBON_HOENN_COOL_MASTER,
+ 84
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON,
+ 73,
+ 1,
+ RIBBON_HOENN_BEAUTY,
+ 85
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_SUPER,
+ 74,
+ 1,
+ RIBBON_HOENN_BEAUTY_SUPER,
+ 86
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_HYPER,
+ 75,
+ 1,
+ RIBBON_HOENN_BEAUTY_HYPER,
+ 87
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_MASTER,
+ 76,
+ 1,
+ RIBBON_HOENN_BEAUTY_MASTER,
+ 88
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON,
+ 73,
+ 2,
+ RIBBON_HOENN_CUTE,
+ 89
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_SUPER,
+ 74,
+ 2,
+ RIBBON_HOENN_CUTE_SUPER,
+ 90
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_HYPER,
+ 75,
+ 2,
+ RIBBON_HOENN_CUTE_HYPER,
+ 91
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_MASTER,
+ 76,
+ 2,
+ RIBBON_HOENN_CUTE_MASTER,
+ 92
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON,
+ 73,
+ 3,
+ RIBBON_HOENN_SMART,
+ 93
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_SUPER,
+ 74,
+ 3,
+ RIBBON_HOENN_SMART_SUPER,
+ 94
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_HYPER,
+ 75,
+ 3,
+ RIBBON_HOENN_SMART_HYPER,
+ 95
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_MASTER,
+ 76,
+ 3,
+ RIBBON_HOENN_SMART_MASTER,
+ 96
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON,
+ 73,
+ 4,
+ RIBBON_HOENN_TOUGH,
+ 97
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_SUPER,
+ 74,
+ 4,
+ RIBBON_HOENN_TOUGH_SUPER,
+ 98
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_HYPER,
+ 75,
+ 4,
+ RIBBON_HOENN_TOUGH_HYPER,
+ 99
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_MASTER,
+ 76,
+ 4,
+ RIBBON_HOENN_TOUGH_MASTER,
+ 100
+ }, {
+ MON_DATA_HOENN_WINNING_RIBBON,
+ 78,
+ 0,
+ RIBBON_HOENN_WINNING,
+ 101
+ }, {
+ MON_DATA_HOENN_VICTORY_RIBBON,
+ 77,
+ 0,
+ RIBBON_HOENN_VICTORY,
+ 102
+ }, {
+ MON_DATA_HOENN_ARTIST_RIBBON,
+ 79,
+ 1,
+ RIBBON_HOENN_ARTIST,
+ 103
+ }, {
+ MON_DATA_HOENN_EFFORT_RIBBON,
+ 80,
+ 2,
+ RIBBON_HOENN_EFFORT,
+ 104
+ }, {
+ MON_DATA_HOENN_MARINE_RIBBON,
+ 81,
+ 1,
+ RIBBON_HOENN_MARINE,
+ 0 | 0x8000
+ }, {
+ MON_DATA_HOENN_LAND_RIBBON,
+ 81,
+ 3,
+ RIBBON_HOENN_LAND,
+ 1 | 0x8000
+ }, {
+ MON_DATA_HOENN_SKY_RIBBON,
+ 81,
+ 4,
+ RIBBON_HOENN_SKY,
+ 2 | 0x8000
+ }, {
+ MON_DATA_HOENN_COUNTRY_RIBBON,
+ 82,
+ 3,
+ RIBBON_HOENN_COUNTRY,
+ 178
+ }, {
+ MON_DATA_HOENN_NATIONAL_RIBBON,
+ 82,
+ 4,
+ RIBBON_HOENN_NATIONAL,
+ 190
+ }, {
+ MON_DATA_HOENN_EARTH_RIBBON,
+ 83,
+ 0,
+ RIBBON_HOENN_EARTH,
+ 191
+ }, {
+ MON_DATA_HOENN_WORLD_RIBBON,
+ 83,
+ 1,
+ RIBBON_HOENN_WORLD,
+ 178
+ }, {
+ MON_DATA_SINNOH_CHAMP_RIBBON,
+ 88,
+ 0,
+ RIBBON_SINNOH_CHAMP,
+ 105
+ }, {
+ MON_DATA_COOL_RIBBON,
+ 89,
+ 0,
+ RIBBON_COOL,
+ 106
+ }, {
+ MON_DATA_COOL_RIBBON_GREAT,
+ 90,
+ 0,
+ RIBBON_COOL_GREAT,
+ 107
+ }, {
+ MON_DATA_COOL_RIBBON_ULTRA,
+ 91,
+ 0,
+ RIBBON_COOL_ULTRA,
+ 108
+ }, {
+ MON_DATA_COOL_RIBBON_MASTER,
+ 92,
+ 0,
+ RIBBON_COOL_MASTER,
+ 109
+ }, {
+ MON_DATA_BEAUTY_RIBBON,
+ 89,
+ 1,
+ RIBBON_BEAUTY,
+ 110
+ }, {
+ MON_DATA_BEAUTY_RIBBON_GREAT,
+ 90,
+ 1,
+ RIBBON_BEAUTY_GREAT,
+ 111
+ }, {
+ MON_DATA_BEAUTY_RIBBON_ULTRA,
+ 91,
+ 1,
+ RIBBON_BEAUTY_ULTRA,
+ 112
+ }, {
+ MON_DATA_BEAUTY_RIBBON_MASTER,
+ 92,
+ 1,
+ RIBBON_BEAUTY_MASTER,
+ 113
+ }, {
+ MON_DATA_CUTE_RIBBON,
+ 89,
+ 2,
+ RIBBON_CUTE,
+ 114
+ }, {
+ MON_DATA_CUTE_RIBBON_GREAT,
+ 90,
+ 2,
+ RIBBON_CUTE_GREAT,
+ 115
+ }, {
+ MON_DATA_CUTE_RIBBON_ULTRA,
+ 91,
+ 2,
+ RIBBON_CUTE_ULTRA,
+ 116
+ }, {
+ MON_DATA_CUTE_RIBBON_MASTER,
+ 92,
+ 2,
+ RIBBON_CUTE_MASTER,
+ 117
+ }, {
+ MON_DATA_SMART_RIBBON,
+ 89,
+ 3,
+ RIBBON_SMART,
+ 118
+ }, {
+ MON_DATA_SMART_RIBBON_GREAT,
+ 90,
+ 3,
+ RIBBON_SMART_GREAT,
+ 119
+ }, {
+ MON_DATA_SMART_RIBBON_ULTRA,
+ 91,
+ 3,
+ RIBBON_SMART_ULTRA,
+ 120
+ }, {
+ MON_DATA_SMART_RIBBON_MASTER,
+ 92,
+ 3,
+ RIBBON_SMART_MASTER,
+ 121
+ }, {
+ MON_DATA_TOUGH_RIBBON,
+ 89,
+ 4,
+ RIBBON_TOUGH,
+ 122
+ }, {
+ MON_DATA_TOUGH_RIBBON_GREAT,
+ 90,
+ 4,
+ RIBBON_TOUGH_GREAT,
+ 123
+ }, {
+ MON_DATA_TOUGH_RIBBON_ULTRA,
+ 91,
+ 4,
+ RIBBON_TOUGH_ULTRA,
+ 124
+ }, {
+ MON_DATA_TOUGH_RIBBON_MASTER,
+ 92,
+ 4,
+ RIBBON_TOUGH_MASTER,
+ 125
+ }, {
+ MON_DATA_ABILITY_RIBBON,
+ 93,
+ 0,
+ RIBBON_ABILITY,
+ 126
+ }, {
+ MON_DATA_GREAT_ABILITY_RIBBON,
+ 94,
+ 0,
+ RIBBON_GREAT_ABILITY,
+ 127
+ }, {
+ MON_DATA_DOUBLE_ABILITY_RIBBON,
+ 95,
+ 0,
+ RIBBON_DOUBLE_ABILITY,
+ 128
+ }, {
+ MON_DATA_MULTI_ABILITY_RIBBON,
+ 96,
+ 0,
+ RIBBON_MULTI_ABILITY,
+ 129
+ }, {
+ MON_DATA_PAIR_ABILITY_RIBBON,
+ 97,
+ 0,
+ RIBBON_PAIR_ABILITY,
+ 130
+ }, {
+ MON_DATA_WORLD_ABILITY_RIBBON,
+ 98,
+ 0,
+ RIBBON_WORLD_ABILITY,
+ 131
+ }, {
+ MON_DATA_ALERT_RIBBON,
+ 99,
+ 2,
+ RIBBON_ALERT,
+ 132
+ }, {
+ MON_DATA_SHOCK_RIBBON,
+ 100,
+ 0,
+ RIBBON_SHOCK,
+ 133
+ }, {
+ MON_DATA_DOWNCAST_RIBBON,
+ 101,
+ 1,
+ RIBBON_DOWNCAST,
+ 134
+ }, {
+ MON_DATA_CARELESS_RIBBON,
+ 102,
+ 2,
+ RIBBON_CARELESS,
+ 135
+ }, {
+ MON_DATA_RELAX_RIBBON,
+ 103,
+ 3,
+ RIBBON_RELAX,
+ 136
+ }, {
+ MON_DATA_SNOOZE_RIBBON,
+ 104,
+ 0,
+ RIBBON_SNOOZE,
+ 137
+ }, {
+ MON_DATA_SMILE_RIBBON,
+ 105,
+ 2,
+ RIBBON_SMILE,
+ 138
+ }, {
+ MON_DATA_GORGEOUS_RIBBON,
+ 106,
+ 1,
+ RIBBON_GORGEOUS,
+ 139
+ }, {
+ MON_DATA_ROYAL_RIBBON,
+ 107,
+ 3,
+ RIBBON_ROYAL,
+ 140
+ }, {
+ MON_DATA_GORGEOUS_ROYAL_RIBBON,
+ 108,
+ 0,
+ RIBBON_GORGEOUS_ROYAL,
+ 141
+ }, {
+ MON_DATA_FOOTPRINT_RIBBON,
+ 109,
+ 0,
+ RIBBON_FOOTPRINT,
+ 142
+ }, {
+ MON_DATA_RECORD_RIBBON,
+ 110,
+ 1,
+ RIBBON_RECORD,
+ 143
+ }, {
+ MON_DATA_HISTORY_RIBBON,
+ 111,
+ 3,
+ RIBBON_HISTORY,
+ 144
+ }, {
+ MON_DATA_LEGEND_RIBBON,
+ 112,
+ 0,
+ RIBBON_LEGEND,
+ 145
+ }, {
+ MON_DATA_RED_RIBBON,
+ 113,
+ 0,
+ RIBBON_RED,
+ 7 | 0x8000
+ }, {
+ MON_DATA_GREEN_RIBBON,
+ 114,
+ 3,
+ RIBBON_GREEN,
+ 8 | 0x8000
+ }, {
+ MON_DATA_BLUE_RIBBON,
+ 115,
+ 1,
+ RIBBON_BLUE,
+ 9 | 0x8000
+ }, {
+ MON_DATA_FESTIVAL_RIBBON,
+ 116,
+ 1,
+ RIBBON_FESTIVAL,
+ 10 | 0x8000
+ }, {
+ MON_DATA_CARNIVAL_RIBBON,
+ 117,
+ 0,
+ RIBBON_CARNIVAL,
+ 11 | 0x8000
+ }, {
+ MON_DATA_CLASSIC_RIBBON,
+ 118,
+ 1,
+ RIBBON_CLASSIC,
+ 12 | 0x8000
+ }, {
+ MON_DATA_PREMIER_RIBBON,
+ 119,
+ 0,
+ RIBBON_PREMIER,
+ 13 | 0x8000
+ }
+};
+
+u32 FUN_0207FC5C(u8 a0, u32 a1)
+{
+ switch (a1)
+ {
+ case 0:
+ return UNK_020FB788[a0].monDataId;
+ case 1:
+ return UNK_020FB788[a0].gfxId;
+ case 2:
+ return UNK_020FB788[a0].palId;
+ case 3:
+ return UNK_020FB788[a0].nameIdx;
+ case 4:
+ return UNK_020FB788[a0].descIdx;
+ default:
+ return 0;
+ }
+}
+
+int FUN_0207FCC0(u8 * a0, u32 a1)
+{
+ int ret = (int)UNK_020FB788[a1].descIdx;
+ if (ret & 0x8000)
+ ret = a0[(u8)ret] + 0x92;
+ return ret;
+}
+
+u8 FUN_0207FCE0(u32 a0)
+{
+ int ret = (int)UNK_020FB788[a0].descIdx;
+ if (ret & 0x8000)
+ return (u8)ret;
+ return 0xFF;
+}
diff --git a/arm9/src/waza.c b/arm9/src/waza.c
index f394fedd..5d676afa 100644
--- a/arm9/src/waza.c
+++ b/arm9/src/waza.c
@@ -37,8 +37,8 @@ u32 GetAttrFromWazaTbl(struct WazaTbl * wazaTbl, MoveAttr attr)
{
case MOVEATTR_EFFECT:
return wazaTbl->effect;
- case MOVEATTR_UNK1:
- return wazaTbl->unk2;
+ case MOVEATTR_CLASS:
+ return wazaTbl->class;
case MOVEATTR_POWER:
return wazaTbl->power;
case MOVEATTR_TYPE: