Document Fashion Case + Dress Up Photos (#885)

This commit is contained in:
Eduardo Quezada 2026-01-16 20:13:37 -03:00 committed by GitHub
parent d896e39e59
commit 4e03cfcb49
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
86 changed files with 1006 additions and 1007 deletions

View File

@ -1,4 +1,4 @@
#include "generated/accessories.h"
#include "constants/accessories.h"
#include "generated/badges.h"
#include "generated/battle_tower_modes.h"
#include "generated/battle_tower_functions.h"
@ -1791,9 +1791,9 @@
.short \arg1
.endm
.macro ScrCmd_130 arg0
.macro SetDressUpPhotoTitle word
.short 304
.short \arg0
.short \word
.endm
.macro ScrCmd_131
@ -3745,10 +3745,11 @@
.short \slot
.endm
.macro ScrCmd_Unused_279 arg0, arg1
/* Unused */
.macro ScrCmd_RemoveAccessory accessoryID, amount
.short 633
.short \arg0
.short \arg1
.short \accessoryID
.short \amount
.endm
.macro ScrCmd_27A
@ -4329,8 +4330,8 @@
.short \destBerryAndAccessoryManOptionID
.endm
.macro GoToIfAmitySquareManGiftIsNotAccesory giftID, offset
.short 736 /* CheckAmitySquareManGiftIsAccesory */
.macro GoToIfAmitySquareManGiftIsNotAccessory giftID, offset
.short 736 /* CheckAmitySquareManGiftIsAccessory */
.short \giftID
.short VAR_RESULT
GoToIfEq VAR_RESULT, FALSE, \offset

View File

@ -59,7 +59,8 @@ ACCESSORY_BLACK_SPECS
ACCESSORY_GORGEOUS_SPECS
ACCESSORY_SWEET_CANDY
ACCESSORY_CONFETTI
ACCESSORY_COLORED_PARASOL
NON_UNIQUE_ACCESSORY_COUNT
ACCESSORY_COLORED_PARASOL = NON_UNIQUE_ACCESSORY_COUNT
ACCESSORY_OLD_UMBRELLA
ACCESSORY_SPOTLIGHT
ACCESSORY_CAPE
@ -97,4 +98,5 @@ ACCESSORY_BIG_TREE
ACCESSORY_FLAG
ACCESSORY_CROWN
ACCESSORY_TIARA
ACCESSORY_COMET
ACCESSORY_COMET
ACCESSORY_COUNT

View File

@ -16,3 +16,4 @@ BACKDROP_SEAFLOOR
BACKDROP_UNDERGROUND
BACKDROP_SKY
BACKDROP_THEATER
BACKDROP_COUNT

View File

@ -0,0 +1,9 @@
#ifndef POKEPLATINUM_CONSTANTS_ACCESSORIES_H
#define POKEPLATINUM_CONSTANTS_ACCESSORIES_H
#include "generated/accessories.h"
#define MAX_NON_UNIQUE_ACCESSORIES_PER_TYPE 9
#define MAX_UNIQUE_ACCESSORIES_PER_TYPE 1
#endif // POKEPLATINUM_CONSTANTS_ACCESSORIES_H

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_SCRCMD_H
#define POKEPLATINUM_CONSTANTS_SCRCMD_H
#include "generated/accessories.h"
#include "constants/accessories.h"
#include "generated/backdrops.h"
#define BERRY_WATERING_START 0

View File

@ -3,7 +3,7 @@
#include "constants/heap.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_defs/fashion_case.h"
#include "bag.h"
#include "bg_window.h"
@ -113,7 +113,7 @@ typedef struct AccessoryShop {
enum AccessoryShopState state;
enum AccessoryShopState nextState;
SaveData *saveData;
UnkStruct_02029D04 *unk_0C;
FashionCase *fashionCase;
Bag *bag;
BgConfig *bgConfig;
enum HeapID heapID;

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_OV17_02252A70_H
#define POKEPLATINUM_OV17_02252A70_H
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/struct_02029C88.h"
u32 ov17_02252A70(const UnkStruct_02029C88 *param0, const u8 *param1);
u8 *ov17_02252A9C(u32 param0, u32 param1);

View File

@ -1,11 +1,11 @@
#ifndef POKEPLATINUM_OV22_0225894C_H
#define POKEPLATINUM_OV22_0225894C_H
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_defs/fashion_case.h"
#include "overlay022/struct_ov22_0225899C.h"
void ov22_0225894C(const UnkStruct_02029D04 *param0, UnkStruct_ov22_0225899C *param1);
void ov22_0225894C(const FashionCase *fashionCase, UnkStruct_ov22_0225899C *param1);
u32 ov22_0225899C(const UnkStruct_ov22_0225899C *param0, u32 param1);
u32 ov22_022589B0(const UnkStruct_ov22_0225899C *param0, u32 param1);
u32 ov22_022589BC(const UnkStruct_ov22_0225899C *param0, u32 param1);

View File

@ -19,7 +19,7 @@ int ov22_022591E0(UnkStruct_020298D8 *param0);
void ov22_022591EC(UnkStruct_020298D8 *param0, int param1, int param2);
BOOL ov22_02259238(UnkStruct_020298D8 *param0);
BOOL ov22_02259244(UnkStruct_020298D8 *param0, int param1, int param2);
void ov22_02259250(UnkStruct_020298D8 *param0, int *param1, int *param2);
void ov22_02259250(UnkStruct_020298D8 *param0, int *xCenter, int *yCenter);
void ov22_02259270(UnkStruct_020298D8 *param0, int *param1, int *param2);
BOOL ov22_02259278(UnkStruct_020298D8 *param0, int *param1, int *param2, NNSG2dCharacterData *param3);
BOOL ov22_022592F0(UnkStruct_020298D8 *param0, int param1, int param2, NNSG2dCharacterData *param3);

View File

@ -3,13 +3,13 @@
#include <nitro/gx.h>
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02029C88.h"
#include "overlay022/struct_ov22_0225AF8C.h"
#include "overlay022/struct_ov22_0225B1BC_decl.h"
UnkStruct_ov22_0225B1BC *ov22_0225AF8C(const UnkStruct_ov22_0225AF8C *param0, const UnkStruct_02029C68 *param1);
UnkStruct_ov22_0225B1BC *ov22_0225AF8C(const UnkStruct_ov22_0225AF8C *param0, const DressUpPhoto *photo);
UnkStruct_ov22_0225B1BC *ov22_0225AFB0(const UnkStruct_ov22_0225AF8C *param0, const UnkStruct_02029C88 *param1);
UnkStruct_ov22_0225B1BC *ov22_0225AFD4(const UnkStruct_ov22_0225AF8C *param0, const UnkStruct_02029C88 *param1);
void ov22_0225AFF8(UnkStruct_ov22_0225B1BC *param0);

View File

@ -1,9 +1,11 @@
#ifndef POKEPLATINUM_STRUCT_OV22_0225899C_H
#define POKEPLATINUM_STRUCT_OV22_0225899C_H
#include "generated/accessories.h"
#include "generated/backdrops.h"
typedef struct {
u32 unk_00[100];
u32 unk_190[18];
u32 accessoryCounts[ACCESSORY_COUNT];
u32 backdropCounts[BACKDROP_COUNT];
} UnkStruct_ov22_0225899C;
#endif // POKEPLATINUM_STRUCT_OV22_0225899C_H

View File

@ -2,8 +2,8 @@
#define POKEPLATINUM_OV61_0222AE60_H
#include "struct_decls/pc_boxes_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02030A80_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "overlay061/struct_ov61_0222AE80.h"
#include "overlay061/struct_ov61_0222AFC0.h"
@ -12,8 +12,8 @@
#include "savedata.h"
void ov61_0222AE60(SaveData *saveData, const UnkStruct_02029C68 *param1, UnkStruct_ov61_0222AE80 *param2);
void ov61_0222AE80(const UnkStruct_ov61_0222AE80 *param0, UnkStruct_02029C68 *param1);
void ov61_0222AE60(SaveData *saveData, const DressUpPhoto *photo, UnkStruct_ov61_0222AE80 *param2);
void ov61_0222AE80(const UnkStruct_ov61_0222AE80 *param0, DressUpPhoto *photo);
void ov61_0222AE88(SaveData *saveData, const PCBoxes *pcBoxes, int boxID, UnkStruct_ov62_02239DA4 *param3, enum HeapID heapID);
void ov61_0222AF88(SaveData *saveData, UnkStruct_ov62_02239DA4 *param1, int param2);
void ov61_0222AFA4(SaveData *saveData, const UnkStruct_02030A80 *param1, UnkStruct_ov61_0222AFC0 *param2);

View File

@ -2,8 +2,8 @@
#define POKEPLATINUM_OV61_0222B008_H
#include "struct_decls/pc_boxes_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02030A80_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "overlay061/struct_ov61_0222B2D8.h"
#include "overlay062/struct_ov62_022349A8.h"
@ -12,7 +12,7 @@
int ov61_0222B008(UnkStruct_ov62_022349A8 *param0, const UnkStruct_ov62_02241130 *param1);
void ov61_0222B0F0(UnkStruct_ov62_022349A8 *param0);
int ov61_0222B1B4(UnkStruct_ov62_022349A8 *param0, UnkStruct_02030A80 *param1, UnkStruct_02029C68 *param2);
int ov61_0222B1B4(UnkStruct_ov62_022349A8 *param0, UnkStruct_02030A80 *param1, DressUpPhoto *photo);
int ov61_0222B1FC(UnkStruct_ov62_022349A8 *param0, int param1);
int ov61_0222B224(UnkStruct_ov62_022349A8 *param0, int param1, UnkStruct_02030A80 *param2, const PCBoxes *pcBoxes, int param4);
int ov61_0222B290(UnkStruct_ov62_022349A8 *param0, int param1);

View File

@ -1,16 +1,17 @@
#ifndef POKEPLATINUM_STRUCT_OV61_0222AE80_H
#define POKEPLATINUM_STRUCT_OV61_0222AE80_H
#include "struct_defs/sentence.h"
#include "overlay061/struct_ov61_0222AE80_sub1.h"
#include "overlay061/struct_ov61_0222AE80_sub2.h"
#include "overlay061/struct_ov61_0222BED8_sub2_sub1_sub1_sub1.h"
#include "overlay062/struct_ov62_02239DA4_sub1.h"
typedef struct {
u32 unk_00;
u32 integrity;
UnkStruct_ov61_0222AE80_sub1 unk_04;
u32 unk_24;
UnkStruct_ov61_0222BED8_sub2_sub1_sub1_sub1 unk_28;
Sentence title;
UnkStruct_ov61_0222AE80_sub2 unk_30[10];
u8 unk_58;
u8 unk_59;

View File

@ -1,15 +1,17 @@
#ifndef POKEPLATINUM_STRUCT_OV61_0222AE80_SUB1_H
#define POKEPLATINUM_STRUCT_OV61_0222AE80_SUB1_H
#include "constants/string.h"
typedef struct {
u32 unk_00;
u32 unk_04;
u16 unk_08;
u16 unk_0A[8];
s8 unk_1A;
u8 unk_1B;
u8 unk_1C;
u8 unk_1D;
u32 personality;
u32 otID;
u16 species;
u16 trainerName[TRAINER_NAME_LEN + 1];
s8 priority;
u8 xPos;
u8 yPos;
u8 form;
} UnkStruct_ov61_0222AE80_sub1;
#endif // POKEPLATINUM_STRUCT_OV61_0222AE80_SUB1_H

View File

@ -1,7 +1,8 @@
#ifndef POKEPLATINUM_STRUCT_OV61_0222AFC0_H
#define POKEPLATINUM_STRUCT_OV61_0222AFC0_H
#include "overlay061/struct_ov61_0222BED8_sub2_sub1_sub1_sub1.h"
#include "struct_defs/sentence.h"
#include "overlay062/struct_ov62_02239DA4_sub1.h"
typedef struct {
@ -20,7 +21,7 @@ typedef struct {
u8 unk_1E;
u8 unk_1F;
union {
UnkStruct_ov61_0222BED8_sub2_sub1_sub1_sub1 unk_20_val1;
Sentence unk_20_val1;
u16 unk_20_val2[40];
};
u8 unk_70[12];

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_H
#define POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_H
#include "overlay061/struct_ov61_0222BED8_sub2_sub1_sub1_sub1.h"
#include "struct_defs/sentence.h"
typedef struct {
u8 unk_00;
@ -12,8 +12,8 @@ typedef struct {
u32 unk_0C;
u32 unk_10;
u16 unk_14[8];
UnkStruct_ov61_0222BED8_sub2_sub1_sub1_sub1 unk_24;
UnkStruct_ov61_0222BED8_sub2_sub1_sub1_sub1 unk_2C;
Sentence unk_24;
Sentence unk_2C;
} UnkStruct_ov61_0222BED8_sub2_sub1_sub1;
#endif // POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_H

View File

@ -1,10 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_SUB1_H
#define POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_SUB1_H
typedef struct {
u16 unk_00;
u16 unk_02;
u16 unk_04[2];
} UnkStruct_ov61_0222BED8_sub2_sub1_sub1_sub1;
#endif // POKEPLATINUM_STRUCT_OV61_0222BED8_SUB2_SUB1_SUB1_SUB1_H

View File

@ -1,13 +1,15 @@
#ifndef POKEPLATINUM_STRUCT_WORLD_EXCHANGE_TRAINER_H
#define POKEPLATINUM_STRUCT_WORLD_EXCHANGE_TRAINER_H
#include "constants/string.h"
typedef struct WorldExchangeTrainer {
u8 gameCode;
u8 languageCode;
u8 country;
u8 unk_03;
u32 trainerId;
u16 trainerName[8];
u16 trainerName[TRAINER_NAME_LEN + 1];
u32 unk_10;
u8 macAddress[6];
u8 unk_1A[2];

View File

@ -10,7 +10,7 @@ BOOL ScrCmd_ClearAmitySquareStepCount(ScriptContext *ctx);
BOOL ScrCmd_GetAmitySquareStepCount(ScriptContext *ctx);
BOOL ScrCmd_CalcAmitySquareFoundAccessory(ScriptContext *ctx);
BOOL ScrCmd_CalcAmitySquareBerryAndAccessoryManOptionID(ScriptContext *ctx);
BOOL ScrCmd_CheckAmitySquareManGiftIsAccesory(ScriptContext *ctx);
BOOL ScrCmd_CheckAmitySquareManGiftIsAccessory(ScriptContext *ctx);
BOOL ScrCmd_GetAmitySquareBerryOrAccessoryIDFromMan(ScriptContext *ctx);
#endif // POKEPLATINUM_SCRCMD_AMITY_SQUARE_H

View File

@ -38,7 +38,7 @@ typedef struct StringTemplate {
StringTemplate *StringTemplate_Default(u32 heapID);
StringTemplate *StringTemplate_New(u32 maxArgs, u32 maxLen, u32 heapID);
void StringTemplate_Free(StringTemplate *template);
void StringTemplate_SetString(StringTemplate *template, u32 idx, const String *argVal, u32 unused3, BOOL unused4, u32 unused5);
void StringTemplate_SetString(StringTemplate *template, u32 idx, const String *argVal, u32 unused_gender, BOOL unused4, u32 unused_language);
void StringTemplate_SetPlayerName(StringTemplate *template, u32 idx, const TrainerInfo *playerInfo);
void StringTemplate_SetRivalName(StringTemplate *template, u32 idx, const SaveData *saveData);
void StringTemplate_SetCounterpartName(StringTemplate *template, u32 idx, const SaveData *saveData);

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02029C68_DECL_H
#define POKEPLATINUM_STRUCT_02029C68_DECL_H
typedef struct UnkStruct_02029C68_t UnkStruct_02029C68;
#endif // POKEPLATINUM_STRUCT_02029C68_DECL_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02029C88_DECL_H
#define POKEPLATINUM_STRUCT_02029C88_DECL_H
typedef struct UnkStruct_02029C88_t UnkStruct_02029C88;
#endif // POKEPLATINUM_STRUCT_02029C88_DECL_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02029D04_DECL_H
#define POKEPLATINUM_STRUCT_02029D04_DECL_H
typedef struct UnkStruct_02029D04_t UnkStruct_02029D04;
#endif // POKEPLATINUM_STRUCT_02029D04_DECL_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_0202A138_DECL_H
#define POKEPLATINUM_STRUCT_0202A138_DECL_H
typedef struct UnkStruct_0202A138_t UnkStruct_0202A138;
#endif // POKEPLATINUM_STRUCT_0202A138_DECL_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_0202A150_DECL_H
#define POKEPLATINUM_STRUCT_0202A150_DECL_H
typedef struct UnkStruct_0202A150_t UnkStruct_0202A150;
#endif // POKEPLATINUM_STRUCT_0202A150_DECL_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_0202A750_DECL_H
#define POKEPLATINUM_STRUCT_0202A750_DECL_H
typedef struct UnkStruct_0202A750_t UnkStruct_0202A750;
#endif // POKEPLATINUM_STRUCT_0202A750_DECL_H

View File

@ -0,0 +1,20 @@
#ifndef POKEPLATINUM_STRUCT_DRESS_UP_PHOTO_H
#define POKEPLATINUM_STRUCT_DRESS_UP_PHOTO_H
#include "struct_defs/photo_accessory.h"
#include "struct_defs/photo_pokemon.h"
#include "struct_defs/sentence.h"
#define PHOTO_ACCESSORY_COUNT 10
typedef struct DressUpPhoto {
u32 integrity;
PhotoPokemon photoMon;
u32 unk_3C;
Sentence title;
PhotoAccessory accessories[PHOTO_ACCESSORY_COUNT];
u8 unk_70;
u8 language;
} DressUpPhoto;
#endif // POKEPLATINUM_STRUCT_DRESS_UP_PHOTO_H

View File

@ -0,0 +1,10 @@
#ifndef POKEPLATINUM_STRUCT_FASHION_CASE_H
#define POKEPLATINUM_STRUCT_FASHION_CASE_H
typedef struct FashionCase {
u32 nonUniqueAccessoryFlags[8];
u32 uniqueAccessoryFlags[2];
u32 backdropFlags[6];
} FashionCase;
#endif // POKEPLATINUM_STRUCT_FASHION_CASE_H

View File

@ -0,0 +1,16 @@
#ifndef POKEPLATINUM_STRUCT_IMAGE_CLIPS_H
#define POKEPLATINUM_STRUCT_IMAGE_CLIPS_H
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/fashion_case.h"
#include "struct_defs/struct_02029C88.h"
#define SAVED_PHOTOS_COUNT 11
typedef struct ImageClips {
DressUpPhoto savedPhotos[SAVED_PHOTOS_COUNT];
UnkStruct_02029C88 unk_4C8[5];
FashionCase fashionCase;
} ImageClips;
#endif // POKEPLATINUM_STRUCT_IMAGE_CLIPS_H

View File

@ -0,0 +1,11 @@
#ifndef POKEPLATINUM_STRUCT_PHOTO_ACCESSORY_H
#define POKEPLATINUM_STRUCT_PHOTO_ACCESSORY_H
typedef struct PhotoAccessory {
u8 unk_00;
u8 xPos;
u8 yPos;
s8 priority;
} PhotoAccessory;
#endif // POKEPLATINUM_STRUCT_PHOTO_ACCESSORY_H

View File

@ -0,0 +1,19 @@
#ifndef POKEPLATINUM_STRUCT_PHOTO_POKEMON_H
#define POKEPLATINUM_STRUCT_PHOTO_POKEMON_H
#include "constants/string.h"
typedef struct PhotoPokemon {
u32 personality;
u32 otID;
u16 species;
u16 nickname[MON_NAME_LEN + 1];
u16 trainerName[TRAINER_NAME_LEN + 1];
s8 priority;
u8 xPos;
u8 yPos;
u8 form;
u8 trainerGender;
} PhotoPokemon;
#endif // POKEPLATINUM_STRUCT_PHOTO_POKEMON_H

View File

@ -0,0 +1,16 @@
#ifndef POKEPLATINUM_STRUCT_02029C88_DECL_H
#define POKEPLATINUM_STRUCT_02029C88_DECL_H
#include "struct_defs/photo_accessory.h"
#include "struct_defs/photo_pokemon.h"
typedef struct UnkStruct_02029C88_t {
u32 integrity;
u32 unk_04;
PhotoPokemon photoMon;
u32 unk_40;
PhotoAccessory accessories[20];
u8 unk_94;
} UnkStruct_02029C88;
#endif // POKEPLATINUM_STRUCT_02029C88_DECL_H

View File

@ -1,8 +1,8 @@
#ifndef POKEPLATINUM_STRUCT_0203DA00_H
#define POKEPLATINUM_STRUCT_0203DA00_H
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/fashion_case.h"
#include "game_options.h"
#include "game_records.h"
@ -11,8 +11,8 @@
typedef struct {
Pokemon *unk_00;
UnkStruct_02029C68 *unk_04;
const UnkStruct_02029D04 *unk_08;
DressUpPhoto *photo;
const FashionCase *fashionCase;
const Options *options;
GameRecords *records;
const TrainerInfo *unk_14;

View File

@ -1,10 +1,10 @@
#ifndef POKEPLATINUM_STRUCT_02041DC8_H
#define POKEPLATINUM_STRUCT_02041DC8_H
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/image_clips.h"
typedef struct {
UnkStruct_0202A750 *unk_00;
ImageClips *imageClips;
u32 unk_04;
u32 unk_08;
} UnkStruct_02041DC8;

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_02093800_H
#define POKEPLATINUM_STRUCT_02093800_H
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/image_clips.h"
#include "game_options.h"
#include "pokemon.h"
@ -20,7 +20,7 @@ typedef struct {
Pokemon *unk_08;
const String *unk_0C;
const TrainerInfo *unk_10;
UnkStruct_0202A750 *unk_14;
ImageClips *imageClips;
const Options *options;
SaveData *saveData;
void *unk_20;

View File

@ -1,8 +1,8 @@
#ifndef POKEPLATINUM_STRUCT_02093BBC_H
#define POKEPLATINUM_STRUCT_02093BBC_H
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_defs/fashion_case.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_02095C60.h"
#include "game_options.h"
@ -16,7 +16,7 @@ typedef struct {
int unk_0C;
int unk_10;
int unk_14;
const UnkStruct_02029D04 *unk_18;
const FashionCase *fashionCase;
UnkStruct_02095C60 *unk_1C;
const Options *options;
const TrainerInfo *unk_24;

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_02095C48_H
#define POKEPLATINUM_STRUCT_02095C48_H
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/struct_02094A58.h"
#include "struct_defs/struct_02095C48_sub1.h"
#include "struct_defs/struct_02095C60.h"
@ -39,7 +39,7 @@ typedef struct {
u8 isGameCompleted;
u8 isNatDexObtained;
u8 padding_197F;
UnkStruct_0202A750 *unk_1980;
ImageClips *imageClips;
UnkStruct_02095C60 unk_1984;
void *unk_199C;
UnkStruct_02094A58 *unk_19A0;

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_02095C48_SUB1_H
#define POKEPLATINUM_STRUCT_02095C48_SUB1_H
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_020954F0.h"
#include "struct_defs/struct_02095C48_sub1_sub1.h"
@ -23,8 +23,8 @@ typedef struct {
u8 unk_10C;
u8 unk_10D;
u8 unk_10E;
u8 unk_10F;
u8 unk_110;
u8 contestType;
u8 contestRank;
u8 unk_111;
u8 unk_112;
u8 unk_113;

View File

@ -15,14 +15,14 @@ String *sub_02014B34(const Sentence *sentence, enum HeapID heapID);
String *sub_02014BA0(const Sentence *sentence, u32 param1);
BOOL sub_02014BBC(const Sentence *sentence);
BOOL sub_02014BD0(const Sentence *sentence);
u16 sub_02014C78(const Sentence *sentence, int param1);
u16 Sentence_GetWord(const Sentence *sentence, int slot);
u32 sub_02014C80(const Sentence *sentence);
u32 sub_02014C84(const Sentence *sentence);
BOOL sub_02014C88(const Sentence *param0, const Sentence *param1);
void sub_02014CC0(Sentence *param0, const Sentence *param1);
u32 sub_02014CD4(u32 param0);
void sub_02014CE0(Sentence *sentence, u32 param1, u32 param2);
void sub_02014CF8(Sentence *sentence, u32 index, u16 word);
void Sentence_SetWord(Sentence *sentence, u32 index, u16 word);
void sub_02014D10(Sentence *sentence);
#endif // POKEPLATINUM_UNK_02014A84_H

View File

@ -1,13 +1,12 @@
#ifndef POKEPLATINUM_UNK_020298BC_H
#define POKEPLATINUM_UNK_020298BC_H
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_decls/struct_0202A138_decl.h"
#include "struct_decls/struct_0202A150_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/photo_accessory.h"
#include "struct_defs/photo_pokemon.h"
#include "struct_defs/struct_020298D8.h"
#include "struct_defs/struct_02029C88.h"
#include "overlay022/struct_ov22_02255040.h"
#include "overlay061/struct_ov61_0222AE80.h"
@ -16,44 +15,44 @@
#include "savedata.h"
#include "string_gf.h"
void ImageClip_Init(UnkStruct_0202A750 *param0);
int ImageClip_SaveSize(void);
int sub_02029C60(void);
void ImageClips_Init(ImageClips *imageClips);
int ImageClips_SaveSize(void);
int DressUpPhoto_Size(void);
int sub_02029C64(void);
UnkStruct_02029C68 *sub_02029C68(u32 heapID);
DressUpPhoto *DressUpPhoto_New(u32 heapID);
UnkStruct_02029C88 *sub_02029C88(u32 heapID);
UnkStruct_02029C68 *sub_02029CA8(UnkStruct_0202A750 *param0, int param1);
UnkStruct_02029C88 *sub_02029CD0(UnkStruct_0202A750 *param0, int param1);
UnkStruct_02029D04 *sub_02029D04(UnkStruct_0202A750 *param0);
BOOL sub_02029D10(const UnkStruct_0202A750 *param0, int param1);
BOOL sub_02029D2C(const UnkStruct_0202A750 *param0, int param1);
BOOL sub_02029D50(const UnkStruct_02029D04 *param0, u32 param1, u32 param2);
BOOL sub_02029D80(const UnkStruct_02029D04 *param0, u32 param1);
u32 sub_02029D94(const UnkStruct_02029D04 *param0, u32 param1);
u32 sub_02029DD4(const UnkStruct_02029D04 *param0, u32 param1);
u32 sub_02029DF0(const UnkStruct_02029D04 *param0);
u32 sub_02029E0C(const UnkStruct_02029D04 *param0);
void sub_02029E2C(UnkStruct_02029D04 *param0, u32 param1, u32 param2);
void sub_02029EA0(UnkStruct_02029D04 *param0, u32 param1, u32 param2);
void sub_02029EFC(UnkStruct_02029D04 *param0, u32 param1);
BOOL sub_02029F34(const UnkStruct_02029C68 *param0);
void sub_02029F5C(UnkStruct_02029C68 *param0);
void sub_02029F84(UnkStruct_02029C68 *param0);
void sub_02029FAC(UnkStruct_02029C68 *param0, Pokemon *param1, UnkStruct_020298D8 *param2);
void sub_02029FD0(UnkStruct_02029C68 *param0, const UnkStruct_ov22_02255040 *param1, int param2);
void sub_0202A084(UnkStruct_02029C68 *param0, u8 param1);
void sub_0202A0A0(UnkStruct_02029C68 *param0, u16 param1);
void sub_0202A0CC(UnkStruct_02029C68 *param0, const UnkStruct_02029C68 *param1);
void sub_0202A0EC(UnkStruct_02029C68 *param0, const String *param1, int param2);
BOOL sub_0202A110(const UnkStruct_02029C68 *param0, int param1);
const UnkStruct_0202A138 *sub_0202A138(const UnkStruct_02029C68 *param0);
const UnkStruct_0202A150 *sub_0202A150(const UnkStruct_02029C68 *param0, int param1);
u16 sub_0202A184(const UnkStruct_02029C68 *param0);
void sub_0202A1A0(const UnkStruct_02029C68 *param0, String *param1);
u32 sub_0202A1C0(const UnkStruct_02029C68 *param0);
u8 sub_0202A1DC(const UnkStruct_02029C68 *param0);
u16 sub_0202A1F4(const UnkStruct_02029C68 *param0);
u8 sub_0202A200(const UnkStruct_02029C68 *param0);
DressUpPhoto *ImageClips_GetDressUpPhoto(ImageClips *imageClips, int slot);
UnkStruct_02029C88 *sub_02029CD0(ImageClips *imageClips, int param1);
FashionCase *ImageClips_GetFashionCase(ImageClips *imageClips);
BOOL ImageClips_DressUpPhotoHasData(const ImageClips *imageClips, int slot);
BOOL sub_02029D2C(const ImageClips *imageClips, int param1);
BOOL FashionCase_CanFitAccessoryCount(const FashionCase *fashionCase, u32 accessoryID, u32 count);
BOOL FashionCase_HasBackdrop(const FashionCase *fashionCase, u32 backdropID);
u32 FashionCase_GetAccessoryCount(const FashionCase *fashionCase, u32 accessoryID);
u32 FashionCase_GetBackdropCount(const FashionCase *fashionCase, u32 backdropID);
u32 FashionCase_GetTotalAccessories(const FashionCase *fashionCase);
u32 FashionCase_GetTotalBackdrops(const FashionCase *fashionCase);
void FashionCase_AddAccessory(FashionCase *fashionCase, u32 accessoryID, u32 amount);
void FashionCase_RemoveAccessory(FashionCase *fashionCase, u32 accessoryID, u32 amount);
void FashionCase_AddBackdrop(FashionCase *fashionCase, u32 backdropID);
BOOL DressUpPhoto_HasData(const DressUpPhoto *photo);
void DressUpPhoto_SetLanguageAndMagic(DressUpPhoto *photo);
void DressUpPhoto_Init(DressUpPhoto *photo);
void sub_02029FAC(DressUpPhoto *photo, Pokemon *mon, UnkStruct_020298D8 *param2);
void sub_02029FD0(DressUpPhoto *photo, const UnkStruct_ov22_02255040 *param1, int param2);
void sub_0202A084(DressUpPhoto *photo, u8 param1);
void DressUpPhoto_SetTitle(DressUpPhoto *photo, u16 word);
void DressUpPhoto_Copy(DressUpPhoto *dest, const DressUpPhoto *src);
void DressUpPhoto_SetTrainerNameAndGender(DressUpPhoto *photo, const String *name, int gender);
BOOL sub_0202A110(const DressUpPhoto *photo, int param1);
const PhotoPokemon *DressUpPhoto_GetPhotoMon(const DressUpPhoto *photo);
const PhotoAccessory *sub_0202A150(const DressUpPhoto *photo, int param1);
u16 DressUpPhoto_GetMonSpecies(const DressUpPhoto *photo);
void DressUpPhoto_SetTrainerName(const DressUpPhoto *photo, String *name);
u32 DressUpPhoto_GetTrainerGender(const DressUpPhoto *photo);
u8 sub_0202A1DC(const DressUpPhoto *photo);
u16 DressUpPhoto_GetTitleWord(const DressUpPhoto *photo);
u8 DressUpPhoto_GetLanguage(const DressUpPhoto *photo);
BOOL sub_0202A218(const UnkStruct_02029C88 *param0);
void sub_0202A240(UnkStruct_02029C88 *param0);
void sub_0202A25C(UnkStruct_02029C88 *param0);
@ -62,32 +61,32 @@ void sub_0202A2A8(UnkStruct_02029C88 *param0, const UnkStruct_ov22_02255040 *par
void sub_0202A35C(UnkStruct_02029C88 *param0, u8 param1);
void sub_0202A378(UnkStruct_02029C88 *param0, u32 param1);
void sub_0202A390(UnkStruct_02029C88 *param0, const UnkStruct_02029C88 *param1);
void sub_0202A3B0(UnkStruct_02029C88 *param0, Pokemon *param1, s8 param2);
void sub_0202A3EC(UnkStruct_02029C88 *param0, u32 param1, u8 param2, u8 param3, u8 param4, s8 param5);
void sub_0202A3B0(UnkStruct_02029C88 *param0, Pokemon *mon, s8 param2);
void sub_0202A3EC(UnkStruct_02029C88 *param0, u32 param1, u8 param2, u8 xPos, u8 yPos, s8 priority);
BOOL sub_0202A488(const UnkStruct_02029C88 *param0, int param1);
void sub_0202A4B4(UnkStruct_02029C88 *param0, const String *param1, int param2);
const UnkStruct_0202A138 *sub_0202A4D8(const UnkStruct_02029C88 *param0);
const UnkStruct_0202A150 *sub_0202A4F0(const UnkStruct_02029C88 *param0, int param1);
const PhotoPokemon *sub_0202A4D8(const UnkStruct_02029C88 *param0);
const PhotoAccessory *sub_0202A4F0(const UnkStruct_02029C88 *param0, int param1);
void sub_0202A524(const UnkStruct_02029C88 *param0, String *param1);
u32 sub_0202A544(const UnkStruct_02029C88 *param0);
void sub_0202A560(const UnkStruct_02029C88 *param0, Pokemon *param1);
u8 sub_0202A580(const UnkStruct_02029C88 *param0, int param1);
u8 sub_0202A5B8(const UnkStruct_02029C88 *param0);
u32 sub_0202A5D0(const UnkStruct_02029C88 *param0);
u16 sub_0202A5E8(const UnkStruct_0202A138 *param0);
void sub_0202A5EC(const UnkStruct_0202A138 *param0, String *param1);
u32 sub_0202A5FC(const UnkStruct_0202A138 *param0);
s8 sub_0202A604(const UnkStruct_0202A138 *param0);
u8 sub_0202A60C(const UnkStruct_0202A138 *param0);
u8 sub_0202A614(const UnkStruct_0202A138 *param0);
void sub_0202A61C(const UnkStruct_0202A138 *param0, Pokemon *param1);
u8 sub_0202A624(const UnkStruct_0202A150 *param0);
u8 sub_0202A628(const UnkStruct_0202A150 *param0);
u8 sub_0202A62C(const UnkStruct_0202A150 *param0);
s8 sub_0202A630(const UnkStruct_0202A150 *param0);
void sub_0202A6A8(u8 param0, int param1, UnkStruct_0202A750 *param2, const void **param3);
UnkStruct_0202A750 *sub_0202A750(SaveData *saveData);
void sub_0202A75C(const UnkStruct_02029C68 *param0, UnkStruct_ov61_0222AE80 *param1);
void sub_0202A824(const UnkStruct_ov61_0222AE80 *param0, UnkStruct_02029C68 *param1);
u16 PhotoPokemon_GetSpecies(const PhotoPokemon *photoMon);
void PhotoPokemon_SetTrainerName(const PhotoPokemon *photoMon, String *name);
u32 PhotoPokemon_GetTrainerGender(const PhotoPokemon *photoMon);
s8 PhotoPokemon_GetPriority(const PhotoPokemon *photoMon);
u8 PhotoPokemon_GetXPos(const PhotoPokemon *photoMon);
u8 PhotoPokemon_GetYPos(const PhotoPokemon *photoMon);
void PhotoPokemon_CopyToPokemon(const PhotoPokemon *photoMon, Pokemon *mon);
u8 sub_0202A624(const PhotoAccessory *accessory);
u8 PhotoAccessory_GetXPos(const PhotoAccessory *accessory);
u8 PhotoAccessory_GetYPos(const PhotoAccessory *accessory);
s8 PhotoAccessory_GetPriority(const PhotoAccessory *accessory);
void sub_0202A6A8(u8 param0, int param1, ImageClips *imageClips, const void **param3);
ImageClips *SaveData_GetImageClips(SaveData *saveData);
void sub_0202A75C(const DressUpPhoto *photo, UnkStruct_ov61_0222AE80 *param1);
void sub_0202A824(const UnkStruct_ov61_0222AE80 *param0, DressUpPhoto *photo);
#endif // POKEPLATINUM_UNK_020298BC_H

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_UNK_02095AF0_H
#define POKEPLATINUM_UNK_02095AF0_H
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_02095C48.h"
#include "struct_defs/struct_02095C60.h"

View File

@ -6,7 +6,7 @@
#define LOCALID_ITEM_OR_ACCESSORY_ID VAR_0x8004
#define LOCALID_COUNT VAR_0x8005
#define PICKUP_TYPE_ITEM 0
#define PICKUP_TYPE_ACCESORY 1
#define PICKUP_TYPE_ACCESSORY 1
ScriptEntry _00B6
@ -290,7 +290,7 @@ AmitySquare_FollowerMon_SetNextPickUpType_Item:
Return
AmitySquare_FollowerMon_SetNextPickUpType_Accessory:
SetVar VAR_FOLLOWER_MON_NEXT_PICKUP_TYPE, PICKUP_TYPE_ACCESORY
SetVar VAR_FOLLOWER_MON_NEXT_PICKUP_TYPE, PICKUP_TYPE_ACCESSORY
Return
AmitySquare_FollowerMon_SetPickupItemVar:
@ -976,7 +976,7 @@ AmitySquare_GiftMan:
GoToIfSet FLAG_AMITY_SQUARE_MAN_GIFT_RECEIVED, AmitySquare_GiftMan_ReceivedGift
Message AmitySquare_Text_HelloHowDoYouDoILoveThisPark
GetAmitySquareBerryOrAccessoryIDFromMan VAR_AMITY_SQUARE_GIFT_ID, LOCALID_ITEM_OR_ACCESSORY_ID
GoToIfAmitySquareManGiftIsNotAccesory VAR_AMITY_SQUARE_GIFT_ID, AmitySquare_GiftMan_ItemGift
GoToIfAmitySquareManGiftIsNotAccessory VAR_AMITY_SQUARE_GIFT_ID, AmitySquare_GiftMan_ItemGift
GoTo AmitySquare_GiftMan_AccessoryGift
End

View File

@ -181,7 +181,7 @@ _02C7:
FadeScreenIn
WaitFadeScreen
GoToIfEq VAR_RESULT, 0, _0328
ScrCmd_130 VAR_0x8004
SetDressUpPhotoTitle VAR_0x8004
IncrementGameRecord RECORD_UNK_054
ScrCmd_316
ScrCmd_245 0, VAR_0x8004

View File

@ -6,7 +6,7 @@
#include "generated/string_padding_mode.h"
#include "generated/text_banks.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/seal_case.h"
#include "bag.h"
@ -122,14 +122,16 @@ static u32 CalcTotalBallSeals(SaveData *saveData)
static u32 GetNumAccessories(SaveData *saveData)
{
UnkStruct_02029D04 *v0 = sub_02029D04(sub_0202A750(saveData));
return sub_02029DF0(v0);
ImageClips *imageClips = SaveData_GetImageClips(saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
return FashionCase_GetTotalAccessories(fashionCase);
}
static u32 GetNumBackdrops(SaveData *saveData)
{
UnkStruct_02029D04 *v0 = sub_02029D04(sub_0202A750(saveData));
return sub_02029E0C(v0);
ImageClips *imageClips = SaveData_GetImageClips(saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
return FashionCase_GetTotalBackdrops(fashionCase);
}
static u32 GetNumBattlePoints(SaveData *saveData)

View File

@ -151,8 +151,8 @@ static void GetStringFromSentence(ScriptMessage *msgData, u16 sentenceType, u16
sub_02014A84(&sentence);
sub_02014CE0(&sentence, sentenceType, sentenceID);
sub_02014CF8(&sentence, 0, word1);
sub_02014CF8(&sentence, 1, word2);
Sentence_SetWord(&sentence, 0, word1);
Sentence_SetWord(&sentence, 1, word2);
string = sub_02014B34(&sentence, HEAP_ID_FIELD3);

View File

@ -3,9 +3,9 @@
#include <nitro.h>
#include <string.h>
#include "constants/accessories.h"
#include "constants/field/window.h"
#include "constants/scrcmd.h"
#include "generated/accessories.h"
#include "overlay007/shop_menu.h"
@ -81,10 +81,10 @@ static void AccessoryShop_DeleteYesNoChoice(AccessoryShopYesNoChoice *yesNoChoic
static u32 AccessoryShop_SelectYesNoChoice(AccessoryShopYesNoChoice *yesNoChoice);
static void AccessoryShop_SetDataPointers(AccessoryShopDataPtrs *dataPtr, AccessoryShopDescBox *descBox, const AccessoryShopItem *items, Bag *bag, enum HeapID heapID, BgConfig *bgConfig);
static void AccessoryShop_Update(void *ptr, u32 cursorPos);
static BOOL AccessoryShop_HasAllAccessories(const UnkStruct_02029D04 *param0, const AccessoryShopItem *items, u32 maxItems);
static BOOL AccessoryShop_HasAllAccessories(const FashionCase *fashionCase, const AccessoryShopItem *items, u32 maxItems);
static BOOL AccessoryShop_HasEnoughBerries(Bag *bag, const AccessoryShopItem *items, u32 idx, enum HeapID heapID);
static BOOL ov7_0224CCE4(const UnkStruct_02029D04 *param0, const AccessoryShopItem *items, u32 idx);
static void AccessoryShop_DoPurchase(UnkStruct_02029D04 *param0, Bag *bag, const AccessoryShopItem *items, u32 idx, enum HeapID heapID);
static BOOL ov7_0224CCE4(const FashionCase *fashionCase, const AccessoryShopItem *items, u32 idx);
static void AccessoryShop_DoPurchase(FashionCase *fashionCase, Bag *bag, const AccessoryShopItem *items, u32 idx, enum HeapID heapID);
AccessoryShop *AccessoryShop_New(enum HeapID heapID, SaveData *saveData, BgConfig *bgConfig)
{
@ -95,7 +95,7 @@ AccessoryShop *AccessoryShop_New(enum HeapID heapID, SaveData *saveData, BgConfi
shop->heapID = heapID;
shop->bgConfig = bgConfig;
shop->saveData = saveData;
shop->unk_0C = sub_02029D04(sub_0202A750(shop->saveData));
shop->fashionCase = ImageClips_GetFashionCase(SaveData_GetImageClips(shop->saveData));
shop->bag = SaveData_GetBag(saveData);
shop->msgLoader = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_FLOWER_SHOP, shop->heapID);
@ -132,7 +132,7 @@ BOOL AccessoryShop_Main(AccessoryShop *shop)
shop->nextState = ACCESSORY_SHOP_STATE_INIT_ITEM_LIST;
break;
case ACCESSORY_SHOP_STATE_INIT_ITEM_LIST:
if (AccessoryShop_HasAllAccessories(shop->unk_0C, sAccessoryShop_ItemLists, ACCESSORY_SHOP_ITEM_LIST_COUNT)) {
if (AccessoryShop_HasAllAccessories(shop->fashionCase, sAccessoryShop_ItemLists, ACCESSORY_SHOP_ITEM_LIST_COUNT)) {
string = MessageLoader_GetNewString(shop->msgLoader, FlowerShop_Text_Thanks);
AccessoryShop_PrintStringToMsgBox(&shop->msgbox, string, shop->heapID);
String_Free(string);
@ -195,7 +195,7 @@ BOOL AccessoryShop_Main(AccessoryShop *shop)
break;
}
if (ov7_0224CCE4(shop->unk_0C, sAccessoryShop_ItemLists, shop->itemList.cursorPos) == FALSE) {
if (ov7_0224CCE4(shop->fashionCase, sAccessoryShop_ItemLists, shop->itemList.cursorPos) == FALSE) {
string = MessageLoader_GetNewString(shop->msgLoader, FlowerShop_Text_CantCarryMoreAccessories);
AccessoryShop_PrintStringToMsgBox(&shop->msgbox, string, shop->heapID);
String_Free(string);
@ -218,10 +218,10 @@ BOOL AccessoryShop_Main(AccessoryShop *shop)
}
break;
case ACCESSORY_SHOP_STATE_CONFIRM_PURCHASE:
AccessoryShop_DoPurchase(shop->unk_0C, shop->bag, sAccessoryShop_ItemLists, shop->itemList.cursorPos, shop->heapID);
AccessoryShop_DoPurchase(shop->fashionCase, shop->bag, sAccessoryShop_ItemLists, shop->itemList.cursorPos, shop->heapID);
AccessoryShop_LoadSuccessfulPurchaseMsg(&shop->msgbox, shop->msgLoader, shop->heapID, sAccessoryShop_ItemLists, shop->itemList.cursorPos);
if (AccessoryShop_HasAllAccessories(shop->unk_0C, sAccessoryShop_ItemLists, ACCESSORY_SHOP_ITEM_LIST_COUNT)) {
if (AccessoryShop_HasAllAccessories(shop->fashionCase, sAccessoryShop_ItemLists, ACCESSORY_SHOP_ITEM_LIST_COUNT)) {
shop->state = ACCESSORY_SHOP_STATE_WAIT_AB_INPUT;
shop->nextState = ACCESSORY_SHOP_STATE_LOAD_SHOCKED_MSG;
} else {
@ -718,10 +718,10 @@ static u32 AccessoryShop_SelectYesNoChoice(AccessoryShopYesNoChoice *yesNoChoice
return Menu_ProcessInputAndHandleExit(yesNoChoice->menu, yesNoChoice->heapID);
}
static BOOL AccessoryShop_HasAllAccessories(const UnkStruct_02029D04 *param0, const AccessoryShopItem *items, u32 maxItems)
static BOOL AccessoryShop_HasAllAccessories(const FashionCase *fashionCase, const AccessoryShopItem *items, u32 maxItems)
{
for (int i = 0; i < maxItems; i++) {
if (sub_02029D50(param0, items[i].accessoryID, 1) == TRUE) {
if (FashionCase_CanFitAccessoryCount(fashionCase, items[i].accessoryID, 1) == TRUE) {
return FALSE;
}
}
@ -740,19 +740,19 @@ static BOOL AccessoryShop_HasEnoughBerries(Bag *bag, const AccessoryShopItem *it
return FALSE;
}
static BOOL ov7_0224CCE4(const UnkStruct_02029D04 *param0, const AccessoryShopItem *items, u32 idx)
static BOOL ov7_0224CCE4(const FashionCase *fashionCase, const AccessoryShopItem *items, u32 idx)
{
return sub_02029D50(param0, items[idx].accessoryID, 1);
return FashionCase_CanFitAccessoryCount(fashionCase, items[idx].accessoryID, 1);
}
static void AccessoryShop_DoPurchase(UnkStruct_02029D04 *param0, Bag *bag, const AccessoryShopItem *items, u32 idx, enum HeapID heapID)
static void AccessoryShop_DoPurchase(FashionCase *fashionCase, Bag *bag, const AccessoryShopItem *items, u32 idx, enum HeapID heapID)
{
u32 accessoryID = items[idx].accessoryID;
u32 itemId = items[idx].itemBerryID + FIRST_BERRY_IDX;
u32 count = items[idx].totalAmount;
BOOL res;
sub_02029E2C(param0, accessoryID, 1);
FashionCase_AddAccessory(fashionCase, accessoryID, 1);
res = Bag_TryRemoveItem(bag, itemId, count, heapID);
GF_ASSERT(res == TRUE);

View File

@ -755,7 +755,7 @@ static int ov17_0223BDCC(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_0223BCE
if (sub_0209590C(param0->unk_00) == 1) {
param0->unk_304.unk_C6.unk_0C = 45;
} else {
param0->unk_304.unk_C6.unk_0C = ov17_02243944(param0->unk_00->unk_00.unk_10F);
param0->unk_304.unk_C6.unk_0C = ov17_02243944(param0->unk_00->unk_00.contestType);
}
param0->unk_304.unk_C6.unk_0E = 0;

View File

@ -686,8 +686,8 @@ static BOOL ov17_0223E3CC(UnkStruct_ov17_0224DF54 *param0, int *param1, int *par
*param2 = 0;
return 1;
} else {
*param1 = Unk_ov17_0225312C[param0->unk_00->unk_00.unk_110][param0->unk_00->unk_00.unk_10F].unk_00;
*param2 = Unk_ov17_0225312C[param0->unk_00->unk_00.unk_110][param0->unk_00->unk_00.unk_10F].unk_04;
*param1 = Unk_ov17_0225312C[param0->unk_00->unk_00.contestRank][param0->unk_00->unk_00.contestType].unk_00;
*param2 = Unk_ov17_0225312C[param0->unk_00->unk_00.contestRank][param0->unk_00->unk_00.contestType].unk_04;
return 0;
}
}
@ -905,7 +905,7 @@ static int ov17_0223E8AC(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0223E83
param0->unk_A6C.unk_37 = 0;
param0->unk_A6C.unk_38 = 0;
param0->unk_A6C.unk_30.unk_00 = param0->unk_00->unk_00.unk_113;
param0->unk_A6C.unk_30.unk_04 = ov17_0224C57C(param0->unk_00->unk_00.unk_110);
param0->unk_A6C.unk_30.unk_04 = ov17_0224C57C(param0->unk_00->unk_00.contestRank);
if (sub_0209590C(param0->unk_00) == 1) {
param0->unk_A6C.unk_36 = 2;
@ -1093,7 +1093,7 @@ static int ov17_0223ED1C(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0223E83
}
param0->unk_A6C.unk_30.unk_00 = param0->unk_A3C.unk_05[1];
param0->unk_A6C.unk_30.unk_04 = ov17_0224C57C(param0->unk_00->unk_00.unk_110);
param0->unk_A6C.unk_30.unk_04 = ov17_0224C57C(param0->unk_00->unk_00.contestRank);
param0->unk_A6C.unk_36 = 0;
if (ov17_0224F30C(&param0->unk_109C, param0, 6, &param0->unk_A6C) == 1) {

View File

@ -212,7 +212,7 @@ void ov17_0223F374(UnkStruct_02095C48 *param0)
v5 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_HELD_ITEM, NULL);
v6 = 100;
switch (param0->unk_00.unk_10F) {
switch (param0->unk_00.contestType) {
case 0:
v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL);
v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL);

View File

@ -794,8 +794,8 @@ BOOL ov17_0223FBC0(UnkStruct_ov17_0223F7E4 *param0)
static void ov17_0223FBD4(UnkStruct_ov17_0223F7E4 *param0, int param1, int param2)
{
String *v0, *v1;
u32 v2 = sub_02095848(param0->unk_04->unk_00->unk_110, param0->unk_04->unk_00->unk_111, param0->unk_00->isLinkContest);
u32 v3 = sub_020958C4(param0->unk_04->unk_00->unk_10F, param0->unk_04->unk_00->unk_111);
u32 v2 = sub_02095848(param0->unk_04->unk_00->contestRank, param0->unk_04->unk_00->unk_111, param0->unk_00->isLinkContest);
u32 v3 = sub_020958C4(param0->unk_04->unk_00->contestType, param0->unk_04->unk_00->unk_111);
v0 = MessageLoader_GetNewString(param0->unk_04->unk_38, v2);
v1 = MessageLoader_GetNewString(param0->unk_04->unk_38, v3);
@ -804,7 +804,7 @@ static void ov17_0223FBD4(UnkStruct_ov17_0223F7E4 *param0, int param1, int param
String_Free(v0);
String_Free(v1);
PaletteData_LoadBufferFromFile(param0->unk_04->unk_50, 45, 38, 21, 1, 0x20, 2 * 16, 16 * param0->unk_04->unk_00->unk_10F);
PaletteData_LoadBufferFromFile(param0->unk_04->unk_50, 45, 38, 21, 1, 0x20, 2 * 16, 16 * param0->unk_04->unk_00->contestType);
}
static void ov17_0223FCAC(UnkStruct_ov17_0223F7E4 *param0, int param1, int param2)

View File

@ -310,7 +310,7 @@ void ov17_022463C4(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_02246540 *par
param3->unk_0D = 0;
v1 = param0->unk_220.unk_0E[param2];
v2 = ov17_02243AF0(param0->unk_00->unk_00.unk_10F, param1->unk_00[param2].unk_00, v1, param0->unk_00->unk_00.unk_10E);
v2 = ov17_02243AF0(param0->unk_00->unk_00.contestType, param1->unk_00[param2].unk_00, v1, param0->unk_00->unk_00.unk_10E);
if ((v2 > 0) && (param1->unk_00[param2].unk_28_1 == 0)) {
param1->unk_B3[v1] += v2;
@ -532,7 +532,7 @@ static int ov17_022467CC(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_0224654
int v1;
v0 = param1->unk_00[param3].unk_03;
v1 = ov17_02243AF0(param0->unk_00->unk_00.unk_10F, param1->unk_00[param3].unk_00, v0, param0->unk_00->unk_00.unk_10E);
v1 = ov17_02243AF0(param0->unk_00->unk_00.contestType, param1->unk_00[param3].unk_00, v0, param0->unk_00->unk_00.unk_10E);
if ((v1 > 0) && (param1->unk_00[param3].unk_28_1 == 0)) {
param1->unk_00[param3].unk_1E += (10 * 2);
@ -784,8 +784,8 @@ static int ov17_02246CDC(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_0224654
return 0;
}
v1 = ov17_02243AF0(param0->unk_00->unk_00.unk_10F, param1->unk_00[param3].unk_00, param1->unk_00[param3].unk_03, param0->unk_00->unk_00.unk_10E);
v2 = ov17_02243AF0(param0->unk_00->unk_00.unk_10F, param1->unk_00[v0].unk_00, param1->unk_00[v0].unk_03, param0->unk_00->unk_00.unk_10E);
v1 = ov17_02243AF0(param0->unk_00->unk_00.contestType, param1->unk_00[param3].unk_00, param1->unk_00[param3].unk_03, param0->unk_00->unk_00.unk_10E);
v2 = ov17_02243AF0(param0->unk_00->unk_00.contestType, param1->unk_00[v0].unk_00, param1->unk_00[v0].unk_03, param0->unk_00->unk_00.unk_10E);
if ((v2 > 0) && (v1 > 0)) {
param1->unk_00[param3].unk_1E += (10 * 3);

View File

@ -1313,7 +1313,7 @@ static void ov17_02246F9C(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_02246F
v7[v4] = 0;
}
v2 = Unk_ov17_02253BBC[Unk_ov17_02253C30[v1].unk_01](v5, param2, param1, v7, param0->unk_00->unk_00.unk_10F);
v2 = Unk_ov17_02253BBC[Unk_ov17_02253C30[v1].unk_01](v5, param2, param1, v7, param0->unk_00->unk_00.contestType);
if (v2 == 1) {
switch (Unk_ov17_02253C30[v1].unk_03) {
@ -1340,7 +1340,7 @@ static void ov17_02246F9C(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_02246F
switch (Unk_ov17_02253C30[v1].unk_02) {
case 240:
for (v3 = 0; v3 < 4; v3++) {
if (param0->unk_00->unk_00.unk_10F == param1->unk_00[v3].unk_0B) {
if (param0->unk_00->unk_00.contestType == param1->unk_00[v3].unk_0B) {
param1->unk_00[v3].unk_02 += v6;
for (v4 = 0; v4 < (1 + 2); v4++) {
@ -1435,7 +1435,7 @@ static void ov17_02246F9C(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_02246F
v18 = sub_02094E98(param0->unk_00) & 0xff;
if (v18 < v20[param0->unk_00->unk_00.unk_110]) {
if (v18 < v20[param0->unk_00->unk_00.contestRank]) {
v19 = param0->unk_220.unk_0E[param0->unk_00->unk_00.unk_113];
param1->unk_00[v15].unk_04[v19] -= 100;
}

View File

@ -372,7 +372,7 @@ static void ov17_022493DC(UnkStruct_ov17_022492DC *param0)
Heap_Free(v2);
LoadPaletteFromFile(NARC_INDEX_CONTEST__GRAPHIC__CONTEST_BG, 31, HEAP_ID_23, 0x200, 0, param0->unk_E0[0]);
LoadPaletteFromFile(NARC_INDEX_CONTEST__GRAPHIC__CONTEST_BG, 38, HEAP_ID_23, 32, 16 * param0->unk_04->unk_00->unk_10F, &param0->unk_E0[0][2 * 16]);
LoadPaletteFromFile(NARC_INDEX_CONTEST__GRAPHIC__CONTEST_BG, 38, HEAP_ID_23, 32, 16 * param0->unk_04->unk_00->contestType, &param0->unk_E0[0][2 * 16]);
LoadPaletteFromFile(NARC_INDEX_CONTEST__GRAPHIC__CONTEST_BG, 33, HEAP_ID_23, 0x200, 0, param0->unk_E0[1]);
}
@ -515,8 +515,8 @@ static void ov17_02249828(UnkStruct_ov17_022492DC *param0)
String *v0, *v1;
u32 v2, v3;
MessageLoader *v4 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_CONTEST_TEXT, HEAP_ID_23);
v2 = sub_02095848(param0->unk_04->unk_00->unk_110, param0->unk_04->unk_00->unk_111, param0->unk_00->isLinkContest);
v3 = sub_020958C4(param0->unk_04->unk_00->unk_10F, param0->unk_04->unk_00->unk_111);
v2 = sub_02095848(param0->unk_04->unk_00->contestRank, param0->unk_04->unk_00->unk_111, param0->unk_00->isLinkContest);
v3 = sub_020958C4(param0->unk_04->unk_00->contestType, param0->unk_04->unk_00->unk_111);
v0 = MessageLoader_GetNewString(v4, v2);
v1 = MessageLoader_GetNewString(v4, v3);

View File

@ -1879,7 +1879,7 @@ static void ov17_0224C0C0(UnkStruct_ov17_0224DF54 *param0, int param1, const Unk
StringTemplate_SetNickname(param0->unk_14.unk_88, 0, Pokemon_GetBoxPokemon(param0->unk_14.unk_00->unk_00[param2->unk_00]));
break;
case 2:
v0 = sub_02095848(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
v0 = sub_02095848(param0->unk_00->unk_00.contestRank, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
StringTemplate_SetContestRankName(param0->unk_14.unk_88, 0, v0);
break;
case 3:
@ -1894,7 +1894,7 @@ static void ov17_0224C0C0(UnkStruct_ov17_0224DF54 *param0, int param1, const Unk
StringTemplate_SetNumber(param0->unk_14.unk_88, 1, param2->unk_04, 1, 0, 1);
break;
case 6:
v0 = sub_02095848(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
v0 = sub_02095848(param0->unk_00->unk_00.contestRank, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
StringTemplate_SetContestRankName(param0->unk_14.unk_88, 0, v0);
StringTemplate_SetNumber(param0->unk_14.unk_88, 1, param2->unk_04, 1, 0, 1);
StringTemplate_SetString(param0->unk_14.unk_88, 2, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE);

View File

@ -77,7 +77,7 @@ void ov17_0224E990(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0224E958 *par
v9 = (param3 / 6 + 10000 / 2) / 10000;
}
switch (param0->unk_00->unk_00.unk_110) {
switch (param0->unk_00->unk_00.contestRank) {
case 0:
case 1:
v8 = 0;
@ -135,7 +135,7 @@ void ov17_0224E990(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0224E958 *par
}
}
v4 = ov17_0224EBE0(param0->unk_00->unk_00.unk_110, param1->unk_39);
v4 = ov17_0224EBE0(param0->unk_00->unk_00.contestRank, param1->unk_39);
for (v0 = 0; v0 < param0->unk_A3C.unk_2E; v0++) {
s32 v11;
@ -157,7 +157,7 @@ void ov17_0224E990(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0224E958 *par
{
int v12;
v12 = Unk_ov17_02254A84[param0->unk_00->unk_00.unk_110];
v12 = Unk_ov17_02254A84[param0->unk_00->unk_00.contestRank];
param1->unk_00_val1.unk_20[0] = 0 + (sub_02094EA0(param1->unk_30, &param1->unk_30) % 4);
for (v0 = 1; v0 < param0->unk_A3C.unk_2E; v0++) {
@ -397,8 +397,8 @@ static void ov17_0224EE90(UnkStruct_ov17_0224DF54 *param0, UnkStruct_ov17_0224E9
v9 = param0->unk_1AD4[param1->unk_36 - 1].unk_03;
}
v6 = ov17_0224EC24(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_10F, param1->unk_39, v1->unk_06, v10, param0->unk_A3C.unk_2F, param0->unk_1B26);
v7 = ov17_0224ECC4(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_10F, param1->unk_39, v1->unk_06, v10, v1->unk_03, v9, param0->unk_1B26);
v6 = ov17_0224EC24(param0->unk_00->unk_00.contestRank, param0->unk_00->unk_00.contestType, param1->unk_39, v1->unk_06, v10, param0->unk_A3C.unk_2F, param0->unk_1B26);
v7 = ov17_0224ECC4(param0->unk_00->unk_00.contestRank, param0->unk_00->unk_00.contestType, param1->unk_39, v1->unk_06, v10, v1->unk_03, v9, param0->unk_1B26);
v4 = (v1->unk_06 * v2 + 10000 / 2) / 10000;
v5 = (sub_02094EA0(param1->unk_30, &param1->unk_30) % (2 + v6)) - (1 + v6 / 2);

View File

@ -217,7 +217,7 @@ static void ov17_022507F0(UnkStruct_ov17_0224FCA0 *param0, int param1, const Unk
case 0:
break;
case 1:
v0 = sub_02095848(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
v0 = sub_02095848(param0->unk_00->unk_00.contestRank, param0->unk_00->unk_00.unk_111, param0->unk_00->isLinkContest);
StringTemplate_SetContestRankName(param0->unk_10.unk_B8, 0, v0);
break;
case 2:

View File

@ -3,7 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/struct_02029C88.h"
#include "graphics.h"
#include "unk_020298BC.h"

View File

@ -1053,7 +1053,7 @@ static BOOL ov20_021D1BB0(UnkStruct_ov20_021D16E8 *param0)
param0->unk_10[param0->unk_4E] = v1;
break;
case 2:
sub_02014CF8(&param0->unk_08, param0->unk_4E, v1);
Sentence_SetWord(&param0->unk_08, param0->unk_4E, v1);
break;
}
@ -1302,7 +1302,7 @@ u32 ov20_021D1F9C(const UnkStruct_ov20_021D16E8 *param0)
u16 ov20_021D1FA8(const UnkStruct_ov20_021D16E8 *param0, int param1)
{
if (param0->unk_04 == 2) {
return sub_02014C78(&param0->unk_08, param1);
return Sentence_GetWord(&param0->unk_08, param1);
} else {
return param0->unk_10[param1];
}

View File

@ -6,9 +6,9 @@
#include "generated/trainer_score_events.h"
#include "struct_decls/struct_02015920_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02015958.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_0203DA00.h"
#include "struct_defs/struct_02093BBC.h"
#include "struct_defs/struct_02095C60.h"
@ -155,7 +155,7 @@ static void ov22_02256C70(SysTask *param0, void *param1);
static void ov22_02256DB8(UnkStruct_ov22_02255D44 *param0, BOOL *param1);
static void ov22_02256DE0(SysTask *param0, void *param1);
static BOOL ov22_02257098(UnkStruct_ov22_02256C48 *param0, int param1, int param2, int param3);
static void ov22_02256F38(UnkStruct_02029C68 *param0, UnkStruct_ov22_02257964 *param1, const TrainerInfo *param2);
static void ov22_02256F38(DressUpPhoto *photo, UnkStruct_ov22_02257964 *param1, const TrainerInfo *info);
static void ov22_02256FD8(UnkStruct_02029C88 *param0, UnkStruct_ov22_02257964 *param1, int param2, const TrainerInfo *param3);
static void ov22_02257104(UnkStruct_ov22_02255D44 *param0);
static void ov22_0225718C(UnkStruct_ov22_02255D44 *param0);
@ -212,7 +212,7 @@ int ov22_02255D44(ApplicationManager *appMan, int *param1)
(void)0;
}
ov22_0225894C(v2->unk_08, &v0->unk_1E8);
ov22_0225894C(v2->fashionCase, &v0->unk_1E8);
ov22_022566C0(v0);
ov22_02259484(&v0->unk_3C0, (700 + 1 + 18), HEAP_ID_13);
@ -363,7 +363,7 @@ int ov22_02256098(ApplicationManager *appMan, int *param1)
if (v0->unk_71C == 1) {
GameRecords_IncrementTrainerScore(v2->records, TRAINER_SCORE_EVENT_UNK_07);
ov22_02256F38(v2->unk_04, &v0->unk_458, v2->unk_14);
ov22_02256F38(v2->photo, &v0->unk_458, v2->unk_14);
}
if (v2->unk_18 != NULL) {
@ -433,7 +433,7 @@ int ov22_02256174(ApplicationManager *appMan, int *param1)
(void)0;
}
ov22_0225894C(v2->unk_18, &v0->unk_1E8);
ov22_0225894C(v2->fashionCase, &v0->unk_1E8);
ov22_022566C0(v0);
SpriteList_SetActive(v0->unk_00.unk_44, 0);
@ -1124,21 +1124,21 @@ static void ov22_02256DE0(SysTask *param0, void *param1)
}
}
static void ov22_02256F38(UnkStruct_02029C68 *param0, UnkStruct_ov22_02257964 *param1, const TrainerInfo *param2)
static void ov22_02256F38(DressUpPhoto *photo, UnkStruct_ov22_02257964 *param1, const TrainerInfo *info)
{
UnkStruct_ov22_02259560 *v0;
int v1;
String *v2;
int v3;
String *name;
int gender;
sub_02029F84(param0);
sub_02029FAC(param0, param1->unk_2C.unk_4C.unk_0C, &param1->unk_2C.unk_4C);
DressUpPhoto_Init(photo);
sub_02029FAC(photo, param1->unk_2C.unk_4C.unk_0C, &param1->unk_2C.unk_4C);
if (param2) {
v2 = TrainerInfo_NameNewString(param2, 13);
v3 = TrainerInfo_Gender(param2);
sub_0202A0EC(param0, v2, v3);
String_Free(v2);
if (info != NULL) {
name = TrainerInfo_NameNewString(info, HEAP_ID_13);
gender = TrainerInfo_Gender(info);
DressUpPhoto_SetTrainerNameAndGender(photo, name, gender);
String_Free(name);
}
v1 = 0;
@ -1146,7 +1146,7 @@ static void ov22_02256F38(UnkStruct_02029C68 *param0, UnkStruct_ov22_02257964 *p
while (v0 != &param1->unk_00.unk_14) {
if (v0->unk_04 == 0) {
sub_02029FD0(param0, v0->unk_00, v1);
sub_02029FD0(photo, v0->unk_00, v1);
v1++;
}
@ -1157,15 +1157,15 @@ static void ov22_02256F38(UnkStruct_02029C68 *param0, UnkStruct_ov22_02257964 *p
while (v0 != &param1->unk_00.unk_04) {
if (v0->unk_04 == 0) {
sub_02029FD0(param0, v0->unk_00, v1);
sub_02029FD0(photo, v0->unk_00, v1);
v1++;
}
v0 = v0->unk_08;
}
sub_0202A084(param0, param1->unk_2C.unk_48);
sub_02029F5C(param0);
sub_0202A084(photo, param1->unk_2C.unk_48);
DressUpPhoto_SetLanguageAndMagic(photo);
}
static void ov22_02256FD8(UnkStruct_02029C88 *param0, UnkStruct_ov22_02257964 *param1, int param2, const TrainerInfo *param3)

View File

@ -3,30 +3,31 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02029D04_decl.h"
#include "generated/accessories.h"
#include "generated/backdrops.h"
#include "overlay022/struct_ov22_0225899C.h"
#include "unk_020298BC.h"
void ov22_0225894C(const UnkStruct_02029D04 *param0, UnkStruct_ov22_0225899C *param1)
void ov22_0225894C(const FashionCase *fashionCase, UnkStruct_ov22_0225899C *param1)
{
int v0;
int i;
u32 v1;
for (v0 = 0; v0 < 100; v0++) {
param1->unk_00[v0] = sub_02029D94(param0, v0);
for (i = 0; i < ACCESSORY_COUNT; i++) {
param1->accessoryCounts[i] = FashionCase_GetAccessoryCount(fashionCase, i);
}
for (v0 = 0; v0 < 18; v0++) {
param1->unk_190[v0] = 18;
for (i = 0; i < BACKDROP_COUNT; i++) {
param1->backdropCounts[i] = BACKDROP_COUNT;
}
for (v0 = 0; v0 < 18; v0++) {
v1 = sub_02029DD4(param0, v0);
for (i = 0; i < BACKDROP_COUNT; i++) {
v1 = FashionCase_GetBackdropCount(fashionCase, i);
if (v1 != 18) {
param1->unk_190[v1] = v0;
if (v1 != BACKDROP_COUNT) {
param1->backdropCounts[v1] = i;
}
}
}
@ -34,12 +35,12 @@ void ov22_0225894C(const UnkStruct_02029D04 *param0, UnkStruct_ov22_0225899C *pa
u32 ov22_0225899C(const UnkStruct_ov22_0225899C *param0, u32 param1)
{
GF_ASSERT(param1 < 100);
return param0->unk_00[param1];
return param0->accessoryCounts[param1];
}
u32 ov22_022589B0(const UnkStruct_ov22_0225899C *param0, u32 param1)
{
return param0->unk_190[param1];
return param0->backdropCounts[param1];
}
u32 ov22_022589BC(const UnkStruct_ov22_0225899C *param0, u32 param1)
@ -47,7 +48,7 @@ u32 ov22_022589BC(const UnkStruct_ov22_0225899C *param0, u32 param1)
int v0;
for (v0 = 0; v0 < 18; v0++) {
if (param0->unk_190[v0] == param1) {
if (param0->backdropCounts[v0] == param1) {
return v0;
}
}

View File

@ -121,10 +121,10 @@ BOOL ov22_02259244(UnkStruct_020298D8 *param0, int param1, int param2)
return TouchScreen_IsTouchInHitTable(&param0->unk_04, param1, param2);
}
void ov22_02259250(UnkStruct_020298D8 *param0, int *param1, int *param2)
void ov22_02259250(UnkStruct_020298D8 *param0, int *xCenter, int *yCenter)
{
*param1 = PokemonSprite_GetAttribute(param0->unk_00, MON_SPRITE_X_CENTER);
*param2 = PokemonSprite_GetAttribute(param0->unk_00, MON_SPRITE_Y_CENTER);
*xCenter = PokemonSprite_GetAttribute(param0->unk_00, MON_SPRITE_X_CENTER);
*yCenter = PokemonSprite_GetAttribute(param0->unk_00, MON_SPRITE_Y_CENTER);
}
void ov22_02259270(UnkStruct_020298D8 *param0, int *param1, int *param2)

View File

@ -3,10 +3,10 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_decls/struct_0202A138_decl.h"
#include "struct_decls/struct_0202A150_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/photo_accessory.h"
#include "struct_defs/photo_pokemon.h"
#include "struct_defs/struct_02029C88.h"
#include "overlay022/ov22_02254DE0.h"
#include "overlay022/ov22_02255094.h"
@ -52,8 +52,8 @@ typedef struct UnkStruct_ov22_0225B1BC_t {
} UnkStruct_ov22_0225B1BC;
typedef struct {
const UnkStruct_0202A138 *unk_00;
const UnkStruct_0202A150 *unk_04[20];
const PhotoPokemon *photoMon;
const PhotoAccessory *unk_04[20];
int unk_54;
BgConfig *unk_58;
int unk_5C;
@ -73,17 +73,17 @@ static void ov22_0225B464(UnkStruct_ov22_0225B1BC *param0);
static void ov22_0225B480(UnkStruct_ov22_0225B1BC *param0);
static void ov22_0225B490(UnkStruct_ov22_0225B1BC *param0, const UnkStruct_ov22_0225B4E4 *param1);
static void ov22_0225B4E4(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_ov22_0225AF8C *param1);
static void ov22_0225B4F8(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_02029C68 *param1);
static void ov22_0225B4F8(UnkStruct_ov22_0225B4E4 *param0, const DressUpPhoto *photo);
static void ov22_0225B540(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_02029C88 *param1);
static void ov22_0225B588(UnkStruct_ov22_0225A0E4 *param0, UnkStruct_ov22_02255CB8 *param1, const UnkStruct_ov22_0225B4E4 *param2, enum HeapID heapID);
static void ov22_0225B5A8(UnkStruct_ov22_0225A0E4 *param0, UnkStruct_ov22_02255CB8 *param1, const UnkStruct_ov22_0225B4E4 *param2, enum HeapID heapID);
UnkStruct_ov22_0225B1BC *ov22_0225AF8C(const UnkStruct_ov22_0225AF8C *param0, const UnkStruct_02029C68 *param1)
UnkStruct_ov22_0225B1BC *ov22_0225AF8C(const UnkStruct_ov22_0225AF8C *param0, const DressUpPhoto *photo)
{
UnkStruct_ov22_0225B4E4 v0;
ov22_0225B4E4(&v0, param0);
ov22_0225B4F8(&v0, param1);
ov22_0225B4F8(&v0, photo);
return ov22_0225B1BC(&v0);
}
@ -242,7 +242,7 @@ static UnkStruct_ov22_0225B1BC *ov22_0225B1BC(const UnkStruct_ov22_0225B4E4 *par
v0->unk_29C = param0->heapID;
v0->unk_298 = Pokemon_New(param0->heapID);
sub_0202A61C(param0->unk_00, v0->unk_298);
PhotoPokemon_CopyToPokemon(param0->photoMon, v0->unk_298);
ov22_0225B2D4(v0, param0);
ov22_022554A8(&v0->unk_00, param0->unk_58, param0->heapID);
@ -273,7 +273,7 @@ static UnkStruct_ov22_0225B1BC *ov22_0225B258(const UnkStruct_ov22_0225B4E4 *par
v0->unk_29C = param0->heapID;
v0->unk_298 = Pokemon_New(param0->heapID);
sub_0202A61C(param0->unk_00, v0->unk_298);
PhotoPokemon_CopyToPokemon(param0->photoMon, v0->unk_298);
ov22_0225B2D4(v0, param0);
ov22_02259484(&v0->unk_1E8, 21, param0->heapID);
@ -328,7 +328,7 @@ static void ov22_0225B35C(UnkStruct_ov22_0225B1BC *param0)
static void ov22_0225B388(UnkStruct_ov22_0225B1BC *param0, const UnkStruct_ov22_0225B4E4 *param1)
{
UnkStruct_ov22_0225B388 v0;
int v1, v2, v3;
int xPos, yPos, priority;
memset(&v0, 0, sizeof(UnkStruct_ov22_0225B388));
@ -344,15 +344,13 @@ static void ov22_0225B388(UnkStruct_ov22_0225B1BC *param0, const UnkStruct_ov22_
ov22_022578F4(&param0->unk_1F4, &v0);
{
PokemonSpriteTemplate v4;
PokemonSpriteTemplate v4;
v1 = sub_0202A60C(param1->unk_00);
v2 = sub_0202A614(param1->unk_00);
v3 = sub_0202A604(param1->unk_00);
xPos = PhotoPokemon_GetXPos(param1->photoMon);
yPos = PhotoPokemon_GetYPos(param1->photoMon);
priority = PhotoPokemon_GetPriority(param1->photoMon);
ov22_02257964(&param0->unk_1F4, param0->unk_298, &v4, v1, v2, v3, param1->heapID);
}
ov22_02257964(&param0->unk_1F4, param0->unk_298, &v4, xPos, yPos, priority, param1->heapID);
{
int v5;
@ -362,9 +360,9 @@ static void ov22_0225B388(UnkStruct_ov22_0225B1BC *param0, const UnkStruct_ov22_
for (v5 = 0; v5 < param1->unk_54; v5++) {
v8 = sub_0202A624(param1->unk_04[v5]);
v6 = sub_0202A628(param1->unk_04[v5]);
v7 = sub_0202A62C(param1->unk_04[v5]);
v9 = sub_0202A630(param1->unk_04[v5]);
v6 = PhotoAccessory_GetXPos(param1->unk_04[v5]);
v7 = PhotoAccessory_GetYPos(param1->unk_04[v5]);
v9 = PhotoAccessory_GetPriority(param1->unk_04[v5]);
ov22_022579FC(&param0->unk_1F4, v8, v6, v7, v9);
}
@ -411,28 +409,28 @@ static void ov22_0225B4E4(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_ov22_
param0->heapID = param1->heapID;
}
static void ov22_0225B4F8(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_02029C68 *param1)
static void ov22_0225B4F8(UnkStruct_ov22_0225B4E4 *param0, const DressUpPhoto *photo)
{
int v0;
int i;
param0->unk_00 = sub_0202A138(param1);
param0->photoMon = DressUpPhoto_GetPhotoMon(photo);
param0->unk_54 = 0;
for (v0 = 0; v0 < (11 - 1); v0++) {
if (sub_0202A110(param1, v0)) {
param0->unk_04[param0->unk_54] = sub_0202A150(param1, v0);
for (i = 0; i < (11 - 1); i++) {
if (sub_0202A110(photo, i)) {
param0->unk_04[param0->unk_54] = sub_0202A150(photo, i);
param0->unk_54++;
}
}
param0->unk_5C = sub_0202A1DC(param1);
param0->unk_5C = sub_0202A1DC(photo);
}
static void ov22_0225B540(UnkStruct_ov22_0225B4E4 *param0, const UnkStruct_02029C88 *param1)
{
int v0;
param0->unk_00 = sub_0202A4D8(param1);
param0->photoMon = sub_0202A4D8(param1);
param0->unk_54 = 0;
for (v0 = 0; v0 < (21 - 1); v0++) {

View File

@ -5,8 +5,8 @@
#include "constants/graphics.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_02041DC8.h"
#include "overlay022/ov22_02255094.h"
@ -34,7 +34,7 @@
#include "unk_02094EDC.h"
typedef struct {
const UnkStruct_02029C68 *unk_00;
const DressUpPhoto *photo;
const UnkStruct_02029C88 *unk_04;
u32 unk_08;
u32 unk_0C;
@ -72,9 +72,9 @@ int ov22_0225B660(ApplicationManager *appMan, int *param1)
v1 = ApplicationManager_Args(appMan);
if (v1->unk_08 == 0) {
v0->unk_00 = sub_02029CA8(v1->unk_00, v1->unk_04);
v0->photo = ImageClips_GetDressUpPhoto(v1->imageClips, v1->unk_04);
} else {
v0->unk_04 = sub_02029CD0(v1->unk_00, v1->unk_04);
v0->unk_04 = sub_02029CD0(v1->imageClips, v1->unk_04);
}
v0->unk_08 = v1->unk_04;
@ -94,7 +94,7 @@ int ov22_0225B660(ApplicationManager *appMan, int *param1)
v2.heapID = HEAP_ID_14;
if (v0->unk_0C == 0) {
v0->unk_10 = ov22_0225AF8C(&v2, v0->unk_00);
v0->unk_10 = ov22_0225AF8C(&v2, v0->photo);
} else {
v0->unk_10 = ov22_0225AFB0(&v2, v0->unk_04);
}
@ -272,7 +272,7 @@ static void ov22_0225BB00(UnkStruct_ov22_0225B85C *param0)
VecFx32 v0;
int v1, v2;
int v3;
u16 v4;
u16 word;
StringTemplate *v5;
String *v6;
String *v7;
@ -287,7 +287,7 @@ static void ov22_0225BB00(UnkStruct_ov22_0225B85C *param0)
Sprite_SetPosition(param0->unk_1FC, &v0);
v7 = String_Init(12, HEAP_ID_13);
sub_0202A1A0(param0->unk_00, v7);
DressUpPhoto_SetTrainerName(param0->photo, v7);
v3 = Font_CalcStringWidth(FONT_SYSTEM, v7, 0);
v1 = 128 - (v3 / 2);
@ -296,8 +296,8 @@ static void ov22_0225BB00(UnkStruct_ov22_0225B85C *param0)
Text_AddPrinterWithParamsAndColor(param0->unk_200, FONT_SYSTEM, v7, v1, v2, TEXT_SPEED_INSTANT, TEXT_COLOR(1, 2, 0), NULL);
String_Free(v7);
v4 = sub_0202A1F4(param0->unk_00);
StringTemplate_SetCustomMessageWord(v5, 0, v4);
word = DressUpPhoto_GetTitleWord(param0->photo);
StringTemplate_SetCustomMessageWord(v5, 0, word);
v7 = String_Init(200, HEAP_ID_13);
v6 = MessageLoader_GetNewString(v8, 45);

View File

@ -4,9 +4,9 @@
#include <string.h>
#include "struct_decls/struct_0202440C_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_decls/struct_0202E8C0_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/image_clips.h"
#include "overlay059/ov59_021D2A2C.h"
#include "overlay059/ov59_021D2B44.h"
@ -68,26 +68,26 @@ static void ov59_021D2FBC(const UnkStruct_ov59_021D2FBC *param0)
static u32 ov59_021D2FD4(SaveData *saveData)
{
UnkStruct_0202A750 *v0 = sub_0202A750(saveData);
return sub_02029C60();
ImageClips *imageClips = SaveData_GetImageClips(saveData);
return DressUpPhoto_Size();
}
static void *ov59_021D2FE0(SaveData *saveData, enum HeapID heapID, u32 param2)
{
UnkStruct_02029C68 *v0;
UnkStruct_0202A750 *v1 = sub_0202A750(saveData);
DressUpPhoto *photo;
ImageClips *imageClips = SaveData_GetImageClips(saveData);
void *v2 = Heap_AllocAtEnd(heapID, param2);
v0 = sub_02029CA8(v1, 0);
MI_CpuCopyFast(v0, v2, param2);
photo = ImageClips_GetDressUpPhoto(imageClips, 0);
MI_CpuCopyFast(photo, v2, param2);
return v2;
}
static void ov59_021D300C(const UnkStruct_ov59_021D2FBC *param0)
{
UnkStruct_0202A750 *v0 = sub_0202A750(param0->saveData);
sub_0202A6A8(param0->unk_08, param0->unk_0C, v0, param0->unk_10);
ImageClips *imageClips = SaveData_GetImageClips(param0->saveData);
sub_0202A6A8(param0->unk_08, param0->unk_0C, imageClips, param0->unk_10);
}
static void ov59_021D3028(const UnkStruct_ov59_021D2FBC *param0)

View File

@ -6,7 +6,7 @@
#include "constants/species.h"
#include "struct_decls/pc_boxes_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02030A80.h"
#include "overlay061/struct_ov61_0222AE80.h"
@ -20,15 +20,15 @@
#include "string_gf.h"
#include "unk_020298BC.h"
void ov61_0222AE60(SaveData *saveData, const UnkStruct_02029C68 *param1, UnkStruct_ov61_0222AE80 *param2)
void ov61_0222AE60(SaveData *saveData, const DressUpPhoto *photo, UnkStruct_ov61_0222AE80 *param2)
{
sub_0202A75C(param1, param2);
sub_0202A75C(photo, param2);
param2->unk_5C.unk_00 = SaveData_CalculateChecksum(saveData, param2, sizeof(UnkStruct_ov61_0222AE80) - (sizeof(UnkStruct_ov62_02239DA4_sub1)));
}
void ov61_0222AE80(const UnkStruct_ov61_0222AE80 *param0, UnkStruct_02029C68 *param1)
void ov61_0222AE80(const UnkStruct_ov61_0222AE80 *param0, DressUpPhoto *photo)
{
sub_0202A824(param0, param1);
sub_0202A824(param0, photo);
}
void ov61_0222AE88(SaveData *saveData, const PCBoxes *pcBoxes, int boxID, UnkStruct_ov62_02239DA4 *param3, enum HeapID heapID)

View File

@ -5,7 +5,7 @@
#include <string.h>
#include "struct_decls/pc_boxes_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02030A80.h"
#include "overlay004/ov4_021D0D80.h"
@ -163,14 +163,14 @@ static int ov61_0222B190(UnkStruct_ov62_022349A8 *param0, UnkStruct_ov61_0222B13
return 0;
}
int ov61_0222B1B4(UnkStruct_ov62_022349A8 *param0, UnkStruct_02030A80 *param1, UnkStruct_02029C68 *param2)
int ov61_0222B1B4(UnkStruct_ov62_022349A8 *param0, UnkStruct_02030A80 *param1, DressUpPhoto *photo)
{
if (ov61_0222BBBC(param0) == 0) {
return 0;
}
ov61_0222AFA4(param0->saveData, param1, &param0->unk_190.unk_00_val1.unk_00);
ov61_0222AE60(param0->saveData, param2, &param0->unk_190.unk_00_val1.unk_80);
ov61_0222AE60(param0->saveData, photo, &param0->unk_190.unk_00_val1.unk_80);
param0->unk_40E = 60;
param0->unk_3E8 = 20000;

View File

@ -3,7 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_0208B284.h"
#include "struct_defs/struct_0208C06C.h"
#include "struct_defs/struct_02099F80.h"
@ -697,10 +697,10 @@ BOOL ov62_0222FD3C(UnkStruct_0208C06C *param0)
break;
case 5:
if (v0 == 0) {
UnkStruct_02029C68 *v2 = sub_02029CA8(sub_0202A750(param0->saveData), v0);
v1 = sub_02029F34(v2);
DressUpPhoto *photo = ImageClips_GetDressUpPhoto(SaveData_GetImageClips(param0->saveData), v0);
v1 = DressUpPhoto_HasData(photo);
if (v1 == 0) {
if (v1 == FALSE) {
ov62_0223197C(param0, 290);
}
}

View File

@ -4,7 +4,7 @@
#include <string.h>
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/struct_02030A80.h"
#include "struct_defs/struct_0208C06C.h"
@ -57,7 +57,7 @@ FS_EXTERN_OVERLAY(overlay22);
typedef struct {
int unk_00;
int unk_04;
UnkStruct_02029C68 *unk_08;
DressUpPhoto *photo;
UnkStruct_ov61_0222BC90 *unk_0C[5];
} UnkStruct_ov62_02237D24_sub1;
@ -77,7 +77,7 @@ typedef struct {
UnkStruct_ov62_02248CDC unk_1EC;
UnkStruct_ov22_0225AF8C unk_218;
UnkStruct_ov22_0225B1BC *unk_228;
UnkStruct_02029C68 *unk_22C;
DressUpPhoto *photo;
UnkStruct_ov62_02237D24_sub1 unk_230;
UnkStruct_ov62_022323B8 unk_250;
UnkStruct_02030A80 *unk_2DC;
@ -217,7 +217,7 @@ static BOOL ov62_02237D24(UnkStruct_0208C06C *param0)
}
{
v0->unk_230.unk_08 = sub_02029C68(HEAP_ID_102);
v0->unk_230.photo = DressUpPhoto_New(HEAP_ID_102);
v0->unk_250.unk_00 = sub_02030A80(HEAP_ID_102);
}
@ -295,10 +295,10 @@ static BOOL ov62_02237F08(UnkStruct_0208C06C *param0)
GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG3, 1);
ov62_02234540(param0, 1);
v0->unk_22C = sub_02029CA8(sub_0202A750(param0->saveData), 0);
v0->photo = ImageClips_GetDressUpPhoto(SaveData_GetImageClips(param0->saveData), 0);
if (v0->unk_228 == NULL) {
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_22C);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->photo);
ov22_0225B074(v0->unk_228, 1);
}
@ -381,7 +381,7 @@ static BOOL ov62_022380B0(UnkStruct_0208C06C *param0)
Bg_SetPriority(BG_LAYER_SUB_3, 1);
{
Heap_Free(v0->unk_230.unk_08);
Heap_Free(v0->unk_230.photo);
sub_02030A98(v0->unk_250.unk_00);
}
@ -417,7 +417,7 @@ static BOOL ov62_022380B0(UnkStruct_0208C06C *param0)
param0->unk_08++;
break;
case 3:
if (ov61_0222B1B4(ov62_0224112C(param0), v0->unk_2DC, v0->unk_22C) == 1) {
if (ov61_0222B1B4(ov62_0224112C(param0), v0->unk_2DC, v0->photo) == 1) {
sub_02030A98(v0->unk_2DC);
param0->unk_08++;
}
@ -505,7 +505,7 @@ static BOOL ov62_022383E4(UnkStruct_0208C06C *param0)
Bg_SetPriority(BG_LAYER_SUB_3, 1);
{
Heap_Free(v0->unk_230.unk_08);
Heap_Free(v0->unk_230.photo);
sub_02030A98(v0->unk_250.unk_00);
}
@ -756,7 +756,7 @@ static BOOL ov62_0223896C(UnkStruct_0208C06C *param0)
Bg_SetPriority(BG_LAYER_SUB_3, 1);
{
Heap_Free(v0->unk_230.unk_08);
Heap_Free(v0->unk_230.photo);
sub_02030A98(v0->unk_250.unk_00);
}
@ -906,8 +906,8 @@ static BOOL ov62_02238D04(UnkStruct_0208C06C *param0)
case 0:
v0->unk_0C = 0;
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.unk_08);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.unk_08);
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.photo);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.photo);
ov22_0225B074(v0->unk_228, 0);
ov62_02239518();
@ -1088,8 +1088,8 @@ static BOOL ov62_0223900C(UnkStruct_0208C06C *param0)
ov62_02234540(param0, 0);
ov62_022343B8(param0, 80, 3);
} else {
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.unk_08);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.unk_08);
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.photo);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.photo);
ov22_0225B074(v0->unk_228, 0);
ov62_02239518();
ov62_022343B8(param0, 35, 3);
@ -1175,8 +1175,8 @@ static BOOL ov62_0223921C(UnkStruct_0208C06C *param0)
ov62_02234540(param0, 1);
if (v0->unk_0C == 0) {
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.unk_08);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.unk_08);
ov61_0222AE80(&v0->unk_230.unk_0C[v0->unk_230.unk_04]->unk_80, v0->unk_230.photo);
v0->unk_228 = ov22_0225AF8C(&v0->unk_218, v0->unk_230.photo);
ov22_0225B074(v0->unk_228, 0);
ov62_02239518();
ov62_022343B8(param0, 35, 3);
@ -1362,7 +1362,7 @@ static void ov62_02239724(UnkStruct_0208C06C *param0)
String *v3;
StringTemplate *v4;
UnkStruct_ov62_02237D24 *v5 = param0->unk_860;
u16 v6;
u16 word;
u32 v7;
int v8, v9;
@ -1380,12 +1380,12 @@ static void ov62_02239724(UnkStruct_0208C06C *param0)
v2 = MessageLoader_GetNewString(param0->unk_14.unk_34, 56);
v1 = String_Init(255, HEAP_ID_102);
sub_0202A1A0(v5->unk_22C, v1);
DressUpPhoto_SetTrainerName(v5->photo, v1);
ov62_022349A8(param0, v1);
v6 = sub_0202A1F4(v5->unk_22C);
word = DressUpPhoto_GetTitleWord(v5->photo);
StringTemplate_SetString(v4, 0, v1, 0, 1, 2);
StringTemplate_SetCustomMessageWord(v4, 1, v6);
StringTemplate_SetCustomMessageWord(v4, 1, word);
StringTemplate_Format(v4, v3, v2);
v7 = String_NumLines(v3);
@ -1411,7 +1411,7 @@ static void ov62_02239854(UnkStruct_0208C06C *param0, int param1)
String *v3;
StringTemplate *v4;
UnkStruct_ov62_02237D24 *v5 = param0->unk_860;
u16 v6;
u16 word;
u32 v7;
int v8, v9;
@ -1429,12 +1429,12 @@ static void ov62_02239854(UnkStruct_0208C06C *param0, int param1)
v2 = MessageLoader_GetNewString(param0->unk_14.unk_34, 56);
v1 = String_Init(255, HEAP_ID_102);
sub_0202A1A0(v5->unk_230.unk_08, v1);
DressUpPhoto_SetTrainerName(v5->unk_230.photo, v1);
ov62_022349A8(param0, v1);
v6 = sub_0202A1F4(v5->unk_230.unk_08);
word = DressUpPhoto_GetTitleWord(v5->unk_230.photo);
StringTemplate_SetString(v4, 0, v1, 0, 1, 2);
StringTemplate_SetCustomMessageWord(v4, 1, v6);
StringTemplate_SetCustomMessageWord(v4, 1, word);
StringTemplate_Format(v4, v3, v2);
v7 = String_NumLines(v3);

View File

@ -201,8 +201,8 @@ static void ov104_022320FC(String *param0, u16 param1, u16 param2, u16 param3, u
sub_02014A84(&v0);
sub_02014CE0(&v0, param1, param2);
sub_02014CF8(&v0, 0, param3);
sub_02014CF8(&v0, 1, param4);
Sentence_SetWord(&v0, 0, param3);
Sentence_SetWord(&v0, 1, param4);
v1 = sub_02014B34(&v0, HEAP_ID_FIELD3);
String_Copy(param0, v1);

View File

@ -60,7 +60,7 @@ const SaveTableEntry gSaveTable[] = {
{ SAVE_TABLE_ENTRY_FIELD_OVERWORLD_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOverworldSave_Size, (SaveEntryInitFunc)FieldOverworldSave_Init },
{ SAVE_TABLE_ENTRY_UNDERGROUND, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Underground_SaveSize, (SaveEntryInitFunc)Underground_Init },
{ SAVE_TABLE_ENTRY_REGULATION_BATTLES, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)BattleRegulation_SaveSize, (SaveEntryInitFunc)RegulationBattles_Init },
{ SAVE_TABLE_ENTRY_IMAGE_CLIPS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)ImageClip_SaveSize, (SaveEntryInitFunc)ImageClip_Init },
{ SAVE_TABLE_ENTRY_IMAGE_CLIPS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)ImageClips_SaveSize, (SaveEntryInitFunc)ImageClips_Init },
{ SAVE_TABLE_ENTRY_MAILBOX, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Mailbox_SaveSize, (SaveEntryInitFunc)Mailbox_Init },
{ SAVE_TABLE_ENTRY_POFFINS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)PoffinCase_SaveSize, (SaveEntryInitFunc)PoffinCase_Init },
{ SAVE_TABLE_ENTRY_RECORD_MIXED_RNG, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)RecordMixedRNG_SaveSize, (SaveEntryInitFunc)RecordMixedRNG_Init },

View File

@ -4,6 +4,7 @@
#include <nitro/code16.h>
#include <string.h>
#include "constants/accessories.h"
#include "constants/battle.h"
#include "constants/daycare.h"
#include "constants/field/dynamic_map_features.h"
@ -14,7 +15,6 @@
#include "constants/scrcmd.h"
#include "constants/species.h"
#include "constants/string.h"
#include "generated/accessories.h"
#include "generated/comm_club_ret_codes.h"
#include "generated/first_arrival_to_zones.h"
#include "generated/journal_location_events.h"
@ -27,10 +27,6 @@
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_02014EC4_decl.h"
#include "struct_decls/struct_0202440C_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_decls/struct_0203A790_decl.h"
#include "struct_decls/struct_0205C22C_decl.h"
#include "struct_decls/struct_0205E884_decl.h"
@ -39,9 +35,12 @@
#include "struct_defs/battle_tower.h"
#include "struct_defs/choose_starter_data.h"
#include "struct_defs/daycare.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/mail.h"
#include "struct_defs/seal_case.h"
#include "struct_defs/special_encounter.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_0203E608.h"
#include "struct_defs/struct_02041DC8.h"
#include "struct_defs/underground.h"
@ -384,7 +383,7 @@ static BOOL ScrCmd_0A7(ScriptContext *ctx);
static BOOL ScrCmd_0A8(ScriptContext *ctx);
static BOOL ScrCmd_12E(ScriptContext *ctx);
static BOOL ScrCmd_12F(ScriptContext *ctx);
static BOOL ScrCmd_130(ScriptContext *ctx);
static BOOL ScrCmd_SetDressUpPhotoTitle(ScriptContext *ctx);
static BOOL ScrCmd_OpenSealCapsuleEditor(ScriptContext *ctx);
static BOOL ScrCmd_OpenRegionMap(ScriptContext *ctx);
static BOOL ScrCmd_1D7(ScriptContext *ctx);
@ -657,7 +656,7 @@ static BOOL ScrCmd_SetHiddenLocation(ScriptContext *ctx);
static BOOL ScrCmd_BufferContestBackdropName(ScriptContext *ctx);
static BOOL ScrCmd_CheckBonusRoundStreak(ScriptContext *ctx);
static BOOL ScrCmd_GetDailyRandomLevel(ScriptContext *ctx);
static BOOL ScrCmd_Unused_279(ScriptContext *ctx);
static BOOL ScrCmd_RemoveAccessory(ScriptContext *ctx);
static BOOL ScrCmd_27A(ScriptContext *ctx);
static BOOL ScrCmd_InitDailyRandomLevel(ScriptContext *ctx);
static BOOL ScrCmd_27D(ScriptContext *ctx);
@ -1073,7 +1072,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_TrySaveGame,
ScrCmd_12E,
ScrCmd_12F,
ScrCmd_130,
ScrCmd_SetDressUpPhotoTitle,
ScrCmd_131,
ScrCmd_132,
ScrCmd_RegisterPoketchApp,
@ -1402,7 +1401,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_CanAddCoins,
ScrCmd_GetDailyRandomLevel,
ScrCmd_GetPartyMonLevel,
ScrCmd_Unused_279,
ScrCmd_RemoveAccessory,
ScrCmd_27A,
ScrCmd_InitDailyRandomLevel,
ScrCmd_27C,
@ -1505,7 +1504,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_FindPartySlotWithSpecies,
ScrCmd_2DE,
ScrCmd_CalcAmitySquareBerryAndAccessoryManOptionID,
ScrCmd_CheckAmitySquareManGiftIsAccesory,
ScrCmd_CheckAmitySquareManGiftIsAccessory,
ScrCmd_GetAmitySquareBerryOrAccessoryIDFromMan,
ScrCmd_2E2,
ScrCmd_2E3,
@ -3780,14 +3779,14 @@ static BOOL ScrCmd_WaitForTransition(ScriptContext *ctx)
static BOOL sub_02041D98(FieldSystem *fieldSystem, int param1, int param2)
{
UnkStruct_0202A750 *v0 = sub_0202A750(fieldSystem->saveData);
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
if (param1 == 0) {
if (!sub_02029D10(v0, param2)) {
if (!ImageClips_DressUpPhotoHasData(imageClips, param2)) {
return FALSE;
}
} else {
if (!sub_02029D2C(v0, param2)) {
if (!sub_02029D2C(imageClips, param2)) {
return FALSE;
}
}
@ -3797,7 +3796,7 @@ static BOOL sub_02041D98(FieldSystem *fieldSystem, int param1, int param2)
static UnkStruct_02041DC8 *sub_02041DC8(enum HeapID heapID, FieldSystem *fieldSystem, int param2, int param3)
{
UnkStruct_0202A750 *v3 = sub_0202A750(fieldSystem->saveData);
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
if (!sub_02041D98(fieldSystem, param2, param3)) {
return NULL;
@ -3806,7 +3805,7 @@ static UnkStruct_02041DC8 *sub_02041DC8(enum HeapID heapID, FieldSystem *fieldSy
UnkStruct_02041DC8 *v0 = Heap_Alloc(heapID, sizeof(UnkStruct_02041DC8));
memset(v0, 0, sizeof(UnkStruct_02041DC8));
v0->unk_00 = v3;
v0->imageClips = imageClips;
v0->unk_08 = param2;
v0->unk_04 = param3;
@ -4039,13 +4038,13 @@ static BOOL ScrCmd_12F(ScriptContext *ctx)
return TRUE;
}
static BOOL ScrCmd_130(ScriptContext *ctx)
static BOOL ScrCmd_SetDressUpPhotoTitle(ScriptContext *ctx)
{
u16 v0 = ScriptContext_GetVar(ctx);
UnkStruct_0202A750 *v1 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029C68 *v2 = sub_02029CA8(v1, 0);
u16 word = ScriptContext_GetVar(ctx);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
DressUpPhoto *photo = ImageClips_GetDressUpPhoto(imageClips, 0);
sub_0202A0A0(v2, v0);
DressUpPhoto_SetTitle(photo, word);
return TRUE;
}
@ -5929,10 +5928,10 @@ static BOOL ScrCmd_AddAccessory(ScriptContext *ctx)
u16 accessoryID = ScriptContext_GetVar(ctx);
u16 amount = ScriptContext_GetVar(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
sub_02029E2C(v1, accessoryID, amount);
FashionCase_AddAccessory(fashionCase, accessoryID, amount);
return FALSE;
}
@ -5942,9 +5941,9 @@ static BOOL ScrCmd_CanFitAccessory(ScriptContext *ctx)
u16 count = ScriptContext_GetVar(ctx);
u16 *destVar = ScriptContext_GetVarPointer(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
*destVar = sub_02029D50(v1, accessory, count);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
*destVar = FashionCase_CanFitAccessoryCount(fashionCase, accessory, count);
return FALSE;
}
@ -5955,10 +5954,10 @@ static BOOL ScrCmd_Unused_1D4(ScriptContext *ctx)
u16 v3 = ScriptContext_GetVar(ctx);
u16 *v4 = ScriptContext_GetVarPointer(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
if (v3 <= sub_02029D94(v1, v2)) {
if (v3 <= FashionCase_GetAccessoryCount(fashionCase, v2)) {
*v4 = 1;
} else {
*v4 = 0;
@ -5969,12 +5968,12 @@ static BOOL ScrCmd_Unused_1D4(ScriptContext *ctx)
static BOOL ScrCmd_ObtainContestBackdrop(ScriptContext *ctx)
{
u16 v2 = ScriptContext_GetVar(ctx);
u16 backdropID = ScriptContext_GetVar(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
sub_02029EFC(v1, v2);
FashionCase_AddBackdrop(fashionCase, backdropID);
return FALSE;
}
@ -5983,9 +5982,9 @@ static BOOL ScrCmd_CheckBackdrop(ScriptContext *ctx)
u16 backdrop = ScriptContext_GetVar(ctx);
u16 *destVar = ScriptContext_GetVarPointer(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
*destVar = sub_02029D80(v1, backdrop);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
*destVar = FashionCase_HasBackdrop(fashionCase, backdrop);
return FALSE;
}
@ -6737,13 +6736,13 @@ static BOOL ScrCmd_TryGetRandomMassageGirlAccessory(ScriptContext *ctx)
int i;
u16 *destAccessoryID = ScriptContext_GetVarPointer(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
int unobtainedAccessoryCount = 0;
for (i = 0; i < NUM_MASSAGE_GIRL_ACCESSORIES; i++) {
if (sub_02029D50(v1, ACCESSORY_PRETTY_DEWDROP + i, 1) == TRUE) {
if (FashionCase_CanFitAccessoryCount(fashionCase, ACCESSORY_PRETTY_DEWDROP + i, 1) == TRUE) {
hasAccessory[i] = TRUE;
unobtainedAccessoryCount++;
}
@ -6833,15 +6832,15 @@ static BOOL ScrCmd_GetDailyRandomLevel(ScriptContext *ctx)
return FALSE;
}
static BOOL ScrCmd_Unused_279(ScriptContext *ctx)
static BOOL ScrCmd_RemoveAccessory(ScriptContext *ctx)
{
u16 v2 = ScriptContext_GetVar(ctx);
u16 v3 = ScriptContext_GetVar(ctx);
u16 accessoryID = ScriptContext_GetVar(ctx);
u16 amount = ScriptContext_GetVar(ctx);
UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData);
UnkStruct_02029D04 *v1 = sub_02029D04(v0);
ImageClips *imageClips = SaveData_GetImageClips(ctx->fieldSystem->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
sub_02029EA0(v1, v2, v3);
FashionCase_RemoveAccessory(fashionCase, accessoryID, amount);
return FALSE;
}

View File

@ -3,8 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/accessories.h"
#include "constants/species.h"
#include "generated/accessories.h"
#include "field_script_context.h"
#include "inlines.h"
@ -145,7 +145,7 @@ BOOL ScrCmd_CalcAmitySquareFoundAccessory(ScriptContext *ctx)
return FALSE;
}
static const u16 sBerryAndAccesoryManOptions[] = {
static const u16 sBerryAndAccessoryManOptions[] = {
ITEM_MAGOST_BERRY,
ITEM_CORNN_BERRY,
ITEM_RABUTA_BERRY,
@ -168,11 +168,11 @@ BOOL ScrCmd_CalcAmitySquareBerryAndAccessoryManOptionID(ScriptContext *ctx)
{
u16 *destBerryAndAccessoryManOptionID = ScriptContext_GetVarPointer(ctx);
*destBerryAndAccessoryManOptionID = LCRNG_Next() % (NELEMS(sBerryAndAccesoryManOptions));
*destBerryAndAccessoryManOptionID = LCRNG_Next() % (NELEMS(sBerryAndAccessoryManOptions));
return FALSE;
}
BOOL ScrCmd_CheckAmitySquareManGiftIsAccesory(ScriptContext *ctx)
BOOL ScrCmd_CheckAmitySquareManGiftIsAccessory(ScriptContext *ctx)
{
u16 giftID = ScriptContext_GetVar(ctx);
u16 *destVar = ScriptContext_GetVarPointer(ctx);
@ -191,6 +191,6 @@ BOOL ScrCmd_GetAmitySquareBerryOrAccessoryIDFromMan(ScriptContext *ctx)
u16 berryAndAccessoryManOptionID = ScriptContext_GetVar(ctx);
u16 *destBerryOrAccessoryID = ScriptContext_GetVarPointer(ctx);
*destBerryOrAccessoryID = sBerryAndAccesoryManOptions[berryAndAccessoryManOptionID];
*destBerryOrAccessoryID = sBerryAndAccessoryManOptions[berryAndAccessoryManOptionID];
return FALSE;
}

View File

@ -484,10 +484,10 @@ static void GiveCosmetic(FieldSystem *fieldSystem, GiftData *dummy)
GiveOrTakeSeal(SaveData_GetSealCase(fieldSystem->saveData), id, 1);
break;
case MG_COSMETICS_ACCESSORY:
sub_02029E2C(sub_02029D04(sub_0202A750(fieldSystem->saveData)), id, 1);
FashionCase_AddAccessory(ImageClips_GetFashionCase(SaveData_GetImageClips(fieldSystem->saveData)), id, 1);
break;
case MG_COSMETICS_BACKDROP:
sub_02029EFC(sub_02029D04(sub_0202A750(fieldSystem->saveData)), id);
FashionCase_AddBackdrop(ImageClips_GetFashionCase(SaveData_GetImageClips(fieldSystem->saveData)), id);
break;
}
}

View File

@ -7,7 +7,7 @@
#include "generated/trainer_score_events.h"
#include "struct_decls/struct_0202440C_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/struct_0202E7D8.h"
#include "struct_defs/struct_0202E7E4.h"
#include "struct_defs/struct_0202E7F0.h"
@ -327,8 +327,8 @@ static BOOL sub_02049368(FieldSystem *fieldSystem)
static BOOL sub_02049378(FieldSystem *fieldSystem)
{
UnkStruct_0202A750 *v0 = sub_0202A750(fieldSystem->saveData);
return sub_02029D10(v0, 0);
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
return ImageClips_DressUpPhotoHasData(imageClips, 0);
}
static BOOL sub_02049388(FieldSystem *fieldSystem)

View File

@ -136,7 +136,7 @@ static inline MessageLoader *InitMessageLoader(u32 bankID, u32 heapID)
return MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, bankID, heapID);
}
void StringTemplate_SetString(StringTemplate *template, u32 idx, const String *argVal, u32 unused3, BOOL unused4, u32 unused5)
void StringTemplate_SetString(StringTemplate *template, u32 idx, const String *argVal, u32 unused_gender, BOOL unused4, u32 unused_language)
{
SetStringTemplateArg(template, idx, argVal, NULL);
}

View File

@ -14,8 +14,8 @@
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_0202440C_decl.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/special_encounter.h"
#include "struct_defs/struct_0202E7D8.h"
#include "struct_defs/struct_0202E7E4.h"
@ -1772,10 +1772,10 @@ void FieldSystem_SaveTVEpisodeSegment_RightOnPhotoCorner(FieldSystem *fieldSyste
rightOnPhotoCorner->customMessageWord = customMessageWord;
UnkStruct_0202A750 *v2 = sub_0202A750(fieldSystem->saveData);
UnkStruct_02029C68 *v3 = sub_02029CA8(v2, 0);
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
DressUpPhoto *photo = ImageClips_GetDressUpPhoto(imageClips, 0);
rightOnPhotoCorner->species = sub_0202A184(v3);
rightOnPhotoCorner->species = DressUpPhoto_GetMonSpecies(photo);
FieldSystem_SaveTVEpisodeSegment(fieldSystem, TV_PROGRAM_TYPE_INTERVIEWS, TV_PROGRAM_SEGMENT_RIGHT_ON_PHOTO_CORNER, rightOnPhotoCorner);
}
@ -2583,37 +2583,37 @@ static BOOL TVEpisodeSegment_IsEligible_RoamerNewsFlash(FieldSystem *fieldSystem
return FALSE;
}
static int sub_0206EE9C(UnkStruct_0202A750 *param0)
static int ImageClips_CountDressUpPhotosWithData(ImageClips *imageClips)
{
int v0, v1;
int i, count;
for (v0 = 0, v1 = 0; v0 < 11; v0++) {
if (sub_02029D10(param0, v0) == 1) {
v1++;
for (i = 0, count = 0; i < SAVED_PHOTOS_COUNT; i++) {
if (ImageClips_DressUpPhotoHasData(imageClips, i) == TRUE) {
count++;
}
}
return v1;
return count;
}
static int sub_0206EEBC(FieldSystem *fieldSystem, StringTemplate *param1, UnkStruct_ov6_022465F4 *param2)
{
UnkStruct_02029C68 *v0;
int v1, v2, v3, v4;
UnkStruct_0202A750 *v5 = sub_0202A750(fieldSystem->saveData);
DressUpPhoto *photo;
int i, count, v3, v4;
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
v2 = sub_0206EE9C(v5);
count = ImageClips_CountDressUpPhotosWithData(imageClips);
if (v2 > 1) {
v3 = MTRNG_Next() % v2;
if (count > 1) {
v3 = MTRNG_Next() % count;
} else {
v3 = 0;
}
for (v1 = 0; v1 < 11; v1++) {
if (sub_02029D10(v5, v1) == 1) {
for (i = 0; i < SAVED_PHOTOS_COUNT; i++) {
if (ImageClips_DressUpPhotoHasData(imageClips, i) == TRUE) {
if (v3 == 0) {
v4 = v1;
v4 = i;
break;
} else {
v3--;
@ -2621,30 +2621,28 @@ static int sub_0206EEBC(FieldSystem *fieldSystem, StringTemplate *param1, UnkStr
}
}
GF_ASSERT(v1 < 11);
v0 = sub_02029CA8(v5, v4);
GF_ASSERT(i < SAVED_PHOTOS_COUNT);
photo = ImageClips_GetDressUpPhoto(imageClips, v4);
{
u16 v6;
String *v7 = String_Init(7 + 1, HEAP_ID_FIELD1);
int v8 = sub_0202A1C0(v0);
u16 word;
String *v7 = String_Init(7 + 1, HEAP_ID_FIELD1);
int gender = DressUpPhoto_GetTrainerGender(photo);
sub_0202A1A0(v0, v7);
StringTemplate_SetString(param1, 0, v7, v8, 1, sub_0202A200(v0));
String_Free(v7);
DressUpPhoto_SetTrainerName(photo, v7);
StringTemplate_SetString(param1, 0, v7, gender, 1, DressUpPhoto_GetLanguage(photo));
String_Free(v7);
v6 = sub_0202A1F4(v0);
StringTemplate_SetCustomMessageWord(param1, 1, v6);
}
word = DressUpPhoto_GetTitleWord(photo);
StringTemplate_SetCustomMessageWord(param1, 1, word);
return 52;
}
static BOOL sub_0206EF64(FieldSystem *fieldSystem, UnkStruct_ov6_022465F4 *param1)
{
UnkStruct_0202A750 *v0 = sub_0202A750(fieldSystem->saveData);
ImageClips *imageClips = SaveData_GetImageClips(fieldSystem->saveData);
if (sub_0206EE9C(v0) != 0) {
if (ImageClips_CountDressUpPhotosWithData(imageClips) != 0) {
return 1;
} else {
return 0;

View File

@ -165,9 +165,9 @@ static u32 sub_02014C00(u32 param0, u32 param1)
return v2;
}
u16 sub_02014C78(const Sentence *sentence, int param1)
u16 Sentence_GetWord(const Sentence *sentence, int slot)
{
return sentence->words[param1];
return sentence->words[slot];
}
u32 sub_02014C80(const Sentence *sentence)
@ -219,7 +219,7 @@ void sub_02014CE0(Sentence *sentence, u32 param1, u32 param2)
sentence->id = param2;
}
void sub_02014CF8(Sentence *sentence, u32 index, u16 word)
void Sentence_SetWord(Sentence *sentence, u32 index, u16 word)
{
GF_ASSERT(index < 2);
sentence->words[index] = word;

File diff suppressed because it is too large Load Diff

View File

@ -8,13 +8,12 @@
#include "generated/pokemon_contest_types.h"
#include "generated/trainer_score_events.h"
#include "struct_decls/struct_02029C68_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_decls/struct_0209747C_decl.h"
#include "struct_defs/choose_starter_data.h"
#include "struct_defs/clear_game_player_info.h"
#include "struct_defs/dress_up_photo.h"
#include "struct_defs/gts_player_data.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/struct_0203DA00.h"
#include "struct_defs/struct_0203DDFC.h"
#include "struct_defs/struct_0203DE34.h"
@ -822,9 +821,9 @@ static UnkStruct_0203DA00 *sub_0203DA00(enum HeapID heapID, SaveData *saveData,
UnkStruct_0203DA00 *v0;
Pokemon *v1;
int v2;
UnkStruct_0202A750 *v3;
UnkStruct_02029C68 *v4;
UnkStruct_02029D04 *v5;
ImageClips *imageClips;
DressUpPhoto *photo;
FashionCase *fashionCase;
v0 = Heap_Alloc(heapID, sizeof(UnkStruct_0203DA00));
memset(v0, 0, sizeof(UnkStruct_0203DA00));
@ -832,12 +831,12 @@ static UnkStruct_0203DA00 *sub_0203DA00(enum HeapID heapID, SaveData *saveData,
v0->unk_00 = v1;
v3 = sub_0202A750(saveData);
v4 = sub_02029CA8(v3, 0);
v5 = sub_02029D04(v3);
imageClips = SaveData_GetImageClips(saveData);
photo = ImageClips_GetDressUpPhoto(imageClips, 0);
fashionCase = ImageClips_GetFashionCase(imageClips);
v0->unk_04 = v4;
v0->unk_08 = v5;
v0->photo = photo;
v0->fashionCase = fashionCase;
v0->options = SaveData_GetOptions(saveData);
v0->records = SaveData_GetGameRecords(saveData);
v0->unk_14 = SaveData_GetTrainerInfo(saveData);

View File

@ -79,7 +79,7 @@ BOOL ScrCmd_0FA(ScriptContext *param0)
v8.unk_08 = v1;
v8.unk_0C = v0;
v8.unk_10 = v3;
v8.unk_14 = sub_0202A750(param0->fieldSystem->saveData);
v8.imageClips = SaveData_GetImageClips(param0->fieldSystem->saveData);
v8.options = SaveData_GetOptions(param0->fieldSystem->saveData);
v8.saveData = param0->fieldSystem->saveData;
v8.unk_20 = SaveData_GetChatotCry(param0->fieldSystem->saveData);

View File

@ -1226,7 +1226,7 @@ int sub_0205BF44(UnkStruct_0205B43C *param0, StringTemplate *param1)
v2 = 0;
}
if ((v3 = sub_02014C78(&param0->unk_178, 0)) != 0xffff) {
if ((v3 = Sentence_GetWord(&param0->unk_178, 0)) != 0xffff) {
StringTemplate_SetCustomMessageWord(param1, 0, v3);
}

View File

@ -4,15 +4,15 @@
#include <string.h>
#include "constants/heap.h"
#include "generated/accessories.h"
#include "generated/game_records.h"
#include "generated/pokemon_contest_ranks.h"
#include "generated/trainer_score_events.h"
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_0202440C_decl.h"
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_decls/struct_02029D04_decl.h"
#include "struct_decls/struct_0202A750_decl.h"
#include "struct_defs/image_clips.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_02093800.h"
#include "struct_defs/struct_02093BBC.h"
#include "struct_defs/struct_02094A58.h"
@ -411,15 +411,15 @@ UnkStruct_02095C48 *sub_02093800(const UnkStruct_02093800 *param0)
sub_02094E7C(v0);
v0->unk_00.unk_10F = param0->unk_00;
v0->unk_00.unk_110 = param0->unk_01;
v0->unk_00.contestType = param0->unk_00;
v0->unk_00.contestRank = param0->unk_01;
v0->unk_00.unk_111 = param0->unk_02;
v0->unk_00.unk_112 = sub_02095A74(param0->unk_01, 0);
v0->unk_00.unk_10C = v0->unk_00.unk_113;
v0->unk_00.unk_115 = 110;
v0->unk_00.unk_10D = v0->unk_00.unk_115;
v0->unk_00.unk_10E = 1;
v0->unk_1980 = param0->unk_14;
v0->imageClips = param0->imageClips;
v0->options = param0->options;
v0->saveData = param0->saveData;
v0->unk_1974 = param0->unk_08;
@ -432,7 +432,7 @@ UnkStruct_02095C48 *sub_02093800(const UnkStruct_02093800 *param0)
v0->unk_00.unk_E8[v2] = sub_02029C88(HEAP_ID_20);
}
sub_020954F0(v0, HEAP_ID_FIELD2, v0->unk_00.unk_10E, v0->unk_00.unk_10F, v0->unk_00.unk_110);
sub_020954F0(v0, HEAP_ID_FIELD2, v0->unk_00.unk_10E, v0->unk_00.contestType, v0->unk_00.contestRank);
v0->unk_148 = Party_New(HEAP_ID_20);
for (v2 = 0; v2 < 4; v2++) {
@ -452,7 +452,7 @@ UnkStruct_02095C48 *sub_02093800(const UnkStruct_02093800 *param0)
v0->unk_00.unk_F8[0] = TrainerInfo_Gender(param0->unk_10);
v0->unk_00.unk_FC[0] = 0;
v0->unk_00.unk_100[0] = sub_02093B2C(v0->unk_00.unk_00[0], v0->unk_00.unk_10F);
v0->unk_00.unk_100[0] = sub_02093B2C(v0->unk_00.unk_00[0], v0->unk_00.contestType);
if (sub_0209590C(v0) == 0) {
if (TrainerInfo_Gender(param0->unk_10) == 0) {
@ -489,7 +489,7 @@ static void sub_020939E0(UnkStruct_02095C48 *param0, int param1, int param2)
int v0 = 4 - 1;
int v1;
sub_02094F04(param0, HEAP_ID_FIELD2, v0, param0->unk_00.unk_10F, param0->unk_00.unk_110, param0->unk_00.unk_111, param1, param2);
sub_02094F04(param0, HEAP_ID_FIELD2, v0, param0->unk_00.contestType, param0->unk_00.contestRank, param0->unk_00.unk_111, param1, param2);
for (v1 = 1; v1 < 4; v1++) {
sub_02095380(&param0->unk_00.unk_10[v1], param0->unk_00.unk_00[v1], HEAP_ID_20);
@ -594,12 +594,12 @@ void sub_02093BBC(UnkStruct_02095C48 *param0)
if (param0->isLinkContest == TRUE) {
v0->unk_0C = CONTEST_RANK_LINK;
} else {
v0->unk_0C = param0->unk_00.unk_110;
v0->unk_0C = param0->unk_00.contestRank;
}
v0->unk_10 = param0->unk_00.unk_111;
v0->unk_14 = param0->unk_00.unk_10F;
v0->unk_18 = sub_02029D04(param0->unk_1980);
v0->unk_14 = param0->unk_00.contestType;
v0->fashionCase = ImageClips_GetFashionCase(param0->imageClips);
v0->unk_1C = &param0->unk_1984;
v0->options = param0->options;
v0->unk_24 = param0->unk_1978;
@ -1031,7 +1031,7 @@ BOOL sub_020943B0(UnkStruct_02095C48 *param0)
param0->unk_00.unk_117 = connectionCount;
param0->unk_00.unk_113 = netID;
param0->unk_00.unk_115 = 110;
param0->unk_00.unk_112 = sub_02095A74(param0->unk_00.unk_110, TRUE);
param0->unk_00.unk_112 = sub_02095A74(param0->unk_00.contestRank, TRUE);
sub_02095AF0(param0);
@ -1145,13 +1145,13 @@ void sub_02094680(UnkStruct_02095C48 *param0, int param1, StringTemplate *param2
void sub_020946A4(UnkStruct_02095C48 *param0, StringTemplate *param1, u32 param2)
{
u32 v0 = sub_02095848(param0->unk_00.unk_110, param0->unk_00.unk_111, param0->isLinkContest);
u32 v0 = sub_02095848(param0->unk_00.contestRank, param0->unk_00.unk_111, param0->isLinkContest);
StringTemplate_SetContestRankName(param1, param2, v0);
}
void sub_020946CC(UnkStruct_02095C48 *param0, StringTemplate *param1, u32 param2)
{
u32 v0 = sub_020958C4(param0->unk_00.unk_10F, param0->unk_00.unk_111);
u32 v0 = sub_020958C4(param0->unk_00.contestType, param0->unk_00.unk_111);
StringTemplate_SetContestTypeName(param1, param2, v0);
}
@ -1280,8 +1280,8 @@ int sub_02094804(UnkStruct_02095C48 *param0)
void sub_02094828(UnkStruct_02095C48 *param0, u16 *param1, u16 *param2, u16 *param3, u16 *param4)
{
*param1 = param0->unk_00.unk_110;
*param2 = param0->unk_00.unk_10F;
*param1 = param0->unk_00.contestRank;
*param2 = param0->unk_00.contestType;
*param3 = param0->unk_00.unk_111;
*param4 = param0->unk_197C;
}
@ -1298,7 +1298,7 @@ void sub_02094860(UnkStruct_02095C48 *param0)
BOOL sub_02094868(UnkStruct_02095C48 *param0)
{
u32 v0 = CalcMonDataRibbon(param0->unk_00.unk_110, param0->unk_00.unk_10F);
u32 v0 = CalcMonDataRibbon(param0->unk_00.contestRank, param0->unk_00.contestType);
if (Pokemon_GetValue(param0->unk_1974, v0, NULL) == 0) {
return 0;
@ -1311,21 +1311,21 @@ void sub_02094898(UnkStruct_02095C48 *param0, StringTemplate *param1, u32 param2
{
u32 v0, v1;
switch (param0->unk_00.unk_10F) {
switch (param0->unk_00.contestType) {
case 0:
v0 = 33 + param0->unk_00.unk_110;
v0 = 33 + param0->unk_00.contestRank;
break;
case 1:
v0 = 37 + param0->unk_00.unk_110;
v0 = 37 + param0->unk_00.contestRank;
break;
case 2:
v0 = 41 + param0->unk_00.unk_110;
v0 = 41 + param0->unk_00.contestRank;
break;
case 3:
v0 = 45 + param0->unk_00.unk_110;
v0 = 45 + param0->unk_00.contestRank;
break;
case 4:
v0 = 49 + param0->unk_00.unk_110;
v0 = 49 + param0->unk_00.contestRank;
break;
default:
GF_ASSERT(0);
@ -1338,110 +1338,105 @@ void sub_02094898(UnkStruct_02095C48 *param0, StringTemplate *param1, u32 param2
u32 sub_02094904(UnkStruct_02095C48 *param0)
{
u32 v0 = 100;
u32 accessoryID = ACCESSORY_COUNT;
if (param0->unk_00.unk_118[param0->unk_00.unk_113].unk_08 > 0) {
return 0xffff;
}
switch (param0->unk_00.unk_10F) {
case 0:
switch (param0->unk_00.unk_110) {
case 0:
v0 = 73;
switch (param0->unk_00.contestType) {
case CONTEST_TYPE_COOL:
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
accessoryID = ACCESSORY_RED_BARRETTE;
break;
case 1:
v0 = 78;
case CONTEST_RANK_GREAT:
accessoryID = ACCESSORY_RED_BALLOONS;
break;
case 2:
v0 = 83;
case CONTEST_RANK_ULTRA:
accessoryID = ACCESSORY_TOP_HAT;
break;
case 3:
v0 = 88;
case CONTEST_RANK_MASTER:
accessoryID = ACCESSORY_GOLD_PEDESTAL;
break;
}
break;
case 1:
switch (param0->unk_00.unk_110) {
case 0:
v0 = 74;
case CONTEST_TYPE_BEAUTY:
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
accessoryID = ACCESSORY_BLUE_BARRETTE;
break;
case 1:
v0 = 79;
case CONTEST_RANK_GREAT:
accessoryID = ACCESSORY_BLUE_BALLOONS;
break;
case 2:
v0 = 84;
case CONTEST_RANK_ULTRA:
accessoryID = ACCESSORY_SILK_VEIL;
break;
case 3:
v0 = 89;
case CONTEST_RANK_MASTER:
accessoryID = ACCESSORY_GLASS_STAGE;
break;
}
break;
case 2:
switch (param0->unk_00.unk_110) {
case 0:
v0 = 72;
case CONTEST_TYPE_CUTE:
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
accessoryID = ACCESSORY_PINK_BARRETTE;
break;
case 1:
v0 = 77;
case CONTEST_RANK_GREAT:
accessoryID = ACCESSORY_PINK_BALLOON;
break;
case 2:
v0 = 82;
case CONTEST_RANK_ULTRA:
accessoryID = ACCESSORY_LACE_HEADDRESS;
break;
case 3:
v0 = 87;
case CONTEST_RANK_MASTER:
accessoryID = ACCESSORY_FLOWER_STAGE;
break;
}
break;
case 3:
switch (param0->unk_00.unk_110) {
case 0:
v0 = 76;
case CONTEST_TYPE_SMART:
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
accessoryID = ACCESSORY_GREEN_BARRETTE;
break;
case 1:
v0 = 81;
case CONTEST_RANK_GREAT:
accessoryID = ACCESSORY_GREEN_BALLOONS;
break;
case 2:
v0 = 86;
case CONTEST_RANK_ULTRA:
accessoryID = ACCESSORY_PROFESSOR_HAT;
break;
case 3:
v0 = 91;
case CONTEST_RANK_MASTER:
accessoryID = ACCESSORY_CUBE_STAGE;
break;
}
break;
case 4:
switch (param0->unk_00.unk_110) {
case 0:
v0 = 75;
case CONTEST_TYPE_TOUGH:
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
accessoryID = ACCESSORY_YELLOW_BARRETTE;
break;
case 1:
v0 = 80;
case CONTEST_RANK_GREAT:
accessoryID = ACCESSORY_YELLOW_BALLOONS;
break;
case 2:
v0 = 85;
case CONTEST_RANK_ULTRA:
accessoryID = ACCESSORY_HEROIC_HEADBAND;
break;
case 3:
v0 = 90;
case CONTEST_RANK_MASTER:
accessoryID = ACCESSORY_AWARD_PODIUM;
break;
}
break;
}
GF_ASSERT(v0 != 100);
GF_ASSERT(accessoryID != ACCESSORY_COUNT);
{
UnkStruct_0202A750 *v1;
UnkStruct_02029D04 *v2;
ImageClips *imageClips = SaveData_GetImageClips(param0->saveData);
FashionCase *fashionCase = ImageClips_GetFashionCase(imageClips);
v1 = sub_0202A750(param0->saveData);
v2 = sub_02029D04(v1);
if (sub_02029D50(v2, v0, 1) == 0) {
return 0xffff;
}
if (!FashionCase_CanFitAccessoryCount(fashionCase, accessoryID, 1)) {
return 0xffff;
}
return v0;
return accessoryID;
}
void sub_02094A58(UnkStruct_02095C48 *param0, int param1)
@ -1462,7 +1457,7 @@ void sub_02094A58(UnkStruct_02095C48 *param0, int param1)
if (param0->isLinkContest == TRUE) {
v0->unk_04 = Unk_020F55D0[v1];
} else {
switch (param0->unk_00.unk_110) {
switch (param0->unk_00.contestRank) {
case CONTEST_RANK_NORMAL:
v0->unk_04 = Unk_020F55B4[v1];
break;
@ -1581,14 +1576,14 @@ void sub_02094C44(UnkStruct_02095C48 *param0, SaveData *saveData, u32 param2, Jo
if (param0->isLinkContest == FALSE) {
VarsFlags *v1 = SaveData_GetVarsFlags(param0->saveData);
if (param0->unk_00.unk_111 == 2 && param0->unk_00.unk_110 >= 3 && sub_02094790(param0) == 0
&& SystemFlag_CheckContestMaster(v1, param0->unk_00.unk_10F) == 0) {
SystemFlag_SetContestMaster(v1, param0->unk_00.unk_10F);
if (param0->unk_00.unk_111 == 2 && param0->unk_00.contestRank >= 3 && sub_02094790(param0) == 0
&& SystemFlag_CheckContestMaster(v1, param0->unk_00.contestType) == 0) {
SystemFlag_SetContestMaster(v1, param0->unk_00.contestType);
}
if (sub_02094790(param0) == 0) {
u8 v3 = 1;
int v2 = CalcMonDataRibbon(param0->unk_00.unk_110, param0->unk_00.unk_10F);
int v2 = CalcMonDataRibbon(param0->unk_00.contestRank, param0->unk_00.contestType);
if (Pokemon_GetValue(param0->unk_1974, v2, NULL) == 0) {
v0 = 1;
@ -1599,7 +1594,7 @@ void sub_02094C44(UnkStruct_02095C48 *param0, SaveData *saveData, u32 param2, Jo
}
TVBroadcast *broadcast = SaveData_GetTVBroadcast(param0->saveData);
sub_0206CF14(broadcast, param0->unk_1974, param0->unk_00.unk_10F, param0->unk_00.unk_110, param0->unk_00.unk_118[param0->unk_00.unk_113].unk_08 + 1);
sub_0206CF14(broadcast, param0->unk_1974, param0->unk_00.contestType, param0->unk_00.contestRank, param0->unk_00.unk_118[param0->unk_00.unk_113].unk_08 + 1);
GameRecords *v5 = SaveData_GetGameRecords(param0->saveData);
GameRecords_IncrementRecordValue(v5, RECORD_UNK_090);
@ -1620,7 +1615,7 @@ void sub_02094C44(UnkStruct_02095C48 *param0, SaveData *saveData, u32 param2, Jo
Pokedex_Encounter(pokedex, param0->unk_00.unk_00[i]);
}
} else {
LinkContestRecords_IncrementSavaData(param0->saveData, param0->unk_00.unk_10F, param0->unk_00.unk_118[param0->unk_00.unk_113].unk_08);
LinkContestRecords_IncrementSavaData(param0->saveData, param0->unk_00.contestType, param0->unk_00.unk_118[param0->unk_00.unk_113].unk_08);
GameRecords *records = SaveData_GetGameRecords(param0->saveData);
GameRecords_IncrementRecordValue(records, RECORD_UNK_091);
@ -1637,8 +1632,8 @@ void sub_02094C44(UnkStruct_02095C48 *param0, SaveData *saveData, u32 param2, Jo
}
if (sub_02094790(param0) == 0) {
UnkStruct_0202A750 *v11 = sub_0202A750(param0->saveData);
UnkStruct_02029C88 *v12 = sub_02029CD0(v11, param0->unk_00.unk_10F);
ImageClips *imageClips = SaveData_GetImageClips(param0->saveData);
UnkStruct_02029C88 *v12 = sub_02029CD0(imageClips, param0->unk_00.contestType);
sub_0202A25C(v12);
sub_0202A390(v12, param0->unk_00.unk_E8[param0->unk_00.unk_113]);

View File

@ -606,7 +606,7 @@ void sub_020951B0(UnkStruct_02095C48 *param0, enum HeapID heapID)
}
sub_0202A35C(param0->unk_00.unk_E8[v0], v3->unk_52);
sub_0202A378(param0->unk_00.unk_E8[v0], param0->unk_00.unk_110);
sub_0202A378(param0->unk_00.unk_E8[v0], param0->unk_00.contestRank);
}
Heap_Free(v2);
@ -620,7 +620,7 @@ void sub_02095338(UnkStruct_02095C48 *param0)
sub_0202A25C(param0->unk_00.unk_E8[i]);
sub_0202A3B0(param0->unk_00.unk_E8[i], param0->unk_00.unk_00[i], -1);
sub_0202A35C(param0->unk_00.unk_E8[i], 0);
sub_0202A378(param0->unk_00.unk_E8[i], param0->unk_00.unk_110);
sub_0202A378(param0->unk_00.unk_E8[i], param0->unk_00.contestRank);
}
}
@ -955,7 +955,7 @@ int sub_02095928(UnkStruct_02095C48 *param0, int param1)
if (param0->isLinkContest == TRUE) {
v3 = v4[CONTEST_RANK_LINK];
} else {
v3 = v4[param0->unk_00.unk_110];
v3 = v4[param0->unk_00.contestRank];
}
for (v2 = 0; v2 < 8; v2++) {
@ -991,7 +991,7 @@ int sub_0209598C(UnkStruct_02095C48 *param0, int param1)
if (param0->isLinkContest == TRUE) {
v3 = v4[CONTEST_RANK_LINK];
} else {
v3 = v4[param0->unk_00.unk_110];
v3 = v4[param0->unk_00.contestRank];
}
v0 = 1;

View File

@ -3,7 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02029C88_decl.h"
#include "struct_defs/struct_02029C88.h"
#include "struct_defs/struct_02039A58.h"
#include "struct_defs/struct_02095B28.h"
#include "struct_defs/struct_02095C48.h"

View File

@ -218,7 +218,7 @@ static BOOL sub_0209AE14(FieldTask *param0)
break;
case 1:
default: {
u16 v1 = sub_02014C78(&v0->unk_48, 0);
u16 v1 = Sentence_GetWord(&v0->unk_48, 0);
sub_0209B27C(v0);
if (v1 != 0xffff) {