Document Trainer Tower scripts
This commit is contained in:
@@ -33,8 +33,6 @@ void ValidateEReaderTrainer(void);
|
||||
u8 GetBattleTowerTrainerFrontSpriteId(void);
|
||||
u8 GetEreaderTrainerFrontSpriteId(void);
|
||||
void CopyEReaderTrainerName5(u8 *dest);
|
||||
void sub_815DC40(u8 *dest, u8 opponentIdx);
|
||||
void sub_815DBF4(u8 *dest, u8 opponentIdx);
|
||||
void GetBattleTowerTrainerName(u8 *text);
|
||||
u8 GetEreaderTrainerClassId(void);
|
||||
u8 GetBattleTowerTrainerClassNameId(void);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_CEREADER_TOOL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "constants/trainer_tower.h"
|
||||
|
||||
struct TrainerTowerTrainer
|
||||
{
|
||||
@@ -21,13 +22,13 @@ struct TrainerTowerFloor
|
||||
/* 0x001 */ u8 floorIdx;
|
||||
/* 0x002 */ u8 challengeType;
|
||||
/* 0x003 */ u8 prize;
|
||||
/* 0x004 */ struct TrainerTowerTrainer trainers[3];
|
||||
/* 0x004 */ struct TrainerTowerTrainer trainers[MAX_TRAINERS_PER_FLOOR];
|
||||
/* 0x3DC */ u32 checksum;
|
||||
};
|
||||
|
||||
struct EReaderTrainerHillSetSubstruct
|
||||
{
|
||||
u8 count;
|
||||
u8 numFloors;
|
||||
u8 id;
|
||||
u16 dummy;
|
||||
u32 checksum;
|
||||
@@ -35,11 +36,11 @@ struct EReaderTrainerHillSetSubstruct
|
||||
|
||||
struct EReaderTrainerHillSet
|
||||
{
|
||||
u8 count;
|
||||
u8 numFloors;
|
||||
u8 id;
|
||||
u16 dummy;
|
||||
u32 checksum;
|
||||
struct TrainerTowerFloor floors[8];
|
||||
struct TrainerTowerFloor floors[MAX_TRAINER_TOWER_FLOORS];
|
||||
};
|
||||
|
||||
bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata);
|
||||
|
||||
@@ -1415,7 +1415,7 @@
|
||||
#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST (SYS_FLAGS + 0xB7)
|
||||
#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (SYS_FLAGS + 0xB8)
|
||||
#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (SYS_FLAGS + 0xB9)
|
||||
#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
|
||||
#define FLAG_WORLD_MAP_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
|
||||
#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F (SYS_FLAGS + 0xBB)
|
||||
#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (SYS_FLAGS + 0xBC)
|
||||
#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH (SYS_FLAGS + 0xBD)
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
|
||||
#define QUEST_LOG_SCENE_COUNT 4
|
||||
|
||||
#define NUM_TOWER_CHALLENGE_TYPES 4
|
||||
|
||||
#define MALE 0
|
||||
#define FEMALE 1
|
||||
#define GENDER_COUNT 2
|
||||
|
||||
+27
-27
@@ -279,17 +279,17 @@
|
||||
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_1F 294
|
||||
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_B1F 295
|
||||
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_BACK 296
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 297
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F 298
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F 299
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F 300
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F 301
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F 302
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F 303
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F 304
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F 305
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF 306
|
||||
#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR 307
|
||||
#define LAYOUT_TRAINER_TOWER_LOBBY 297
|
||||
#define LAYOUT_TRAINER_TOWER_1F 298
|
||||
#define LAYOUT_TRAINER_TOWER_2F 299
|
||||
#define LAYOUT_TRAINER_TOWER_3F 300
|
||||
#define LAYOUT_TRAINER_TOWER_4F 301
|
||||
#define LAYOUT_TRAINER_TOWER_5F 302
|
||||
#define LAYOUT_TRAINER_TOWER_6F 303
|
||||
#define LAYOUT_TRAINER_TOWER_7F 304
|
||||
#define LAYOUT_TRAINER_TOWER_8F 305
|
||||
#define LAYOUT_TRAINER_TOWER_ROOF 306
|
||||
#define LAYOUT_TRAINER_TOWER_ELEVATOR 307
|
||||
#define LAYOUT_CERULEAN_CITY_HOUSE5 308
|
||||
#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_1F 309
|
||||
#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B1F 310
|
||||
@@ -348,22 +348,22 @@
|
||||
#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER 363
|
||||
#define LAYOUT_NAVEL_ROCK_B1F 364
|
||||
#define LAYOUT_NAVEL_ROCK_FORK 365
|
||||
#define LAYOUT_UNUSED_LAYOUT_834BC2C 366
|
||||
#define LAYOUT_UNUSED_LAYOUT_834BEB4 367
|
||||
#define LAYOUT_UNUSED_LAYOUT_834C13C 368
|
||||
#define LAYOUT_UNUSED_LAYOUT_834C3C4 369
|
||||
#define LAYOUT_UNUSED_LAYOUT_834C64C 370
|
||||
#define LAYOUT_UNUSED_LAYOUT_834C8D4 371
|
||||
#define LAYOUT_UNUSED_LAYOUT_834CB5C 372
|
||||
#define LAYOUT_UNUSED_LAYOUT_834CDE4 373
|
||||
#define LAYOUT_UNUSED_LAYOUT_834D06C 374
|
||||
#define LAYOUT_UNUSED_LAYOUT_834D2F4 375
|
||||
#define LAYOUT_UNUSED_LAYOUT_834D57C 376
|
||||
#define LAYOUT_UNUSED_LAYOUT_834D804 377
|
||||
#define LAYOUT_UNUSED_LAYOUT_834DA8C 378
|
||||
#define LAYOUT_UNUSED_LAYOUT_834DD14 379
|
||||
#define LAYOUT_UNUSED_LAYOUT_834DF9C 380
|
||||
#define LAYOUT_UNUSED_LAYOUT_834E224 381
|
||||
#define LAYOUT_TRAINER_TOWER_1F_DOUBLES 366
|
||||
#define LAYOUT_TRAINER_TOWER_2F_DOUBLES 367
|
||||
#define LAYOUT_TRAINER_TOWER_3F_DOUBLES 368
|
||||
#define LAYOUT_TRAINER_TOWER_4F_DOUBLES 369
|
||||
#define LAYOUT_TRAINER_TOWER_5F_DOUBLES 370
|
||||
#define LAYOUT_TRAINER_TOWER_6F_DOUBLES 371
|
||||
#define LAYOUT_TRAINER_TOWER_7F_DOUBLES 372
|
||||
#define LAYOUT_TRAINER_TOWER_8F_DOUBLES 373
|
||||
#define LAYOUT_TRAINER_TOWER_1F_KNOCKOUT 374
|
||||
#define LAYOUT_TRAINER_TOWER_2F_KNOCKOUT 375
|
||||
#define LAYOUT_TRAINER_TOWER_3F_KNOCKOUT 376
|
||||
#define LAYOUT_TRAINER_TOWER_4F_KNOCKOUT 377
|
||||
#define LAYOUT_TRAINER_TOWER_5F_KNOCKOUT 378
|
||||
#define LAYOUT_TRAINER_TOWER_6F_KNOCKOUT 379
|
||||
#define LAYOUT_TRAINER_TOWER_7F_KNOCKOUT 380
|
||||
#define LAYOUT_TRAINER_TOWER_8F_KNOCKOUT 381
|
||||
#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1 382
|
||||
#define LAYOUT_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA 383
|
||||
|
||||
|
||||
@@ -135,17 +135,17 @@
|
||||
|
||||
// Map Group 2
|
||||
#define MAP_NAVEL_ROCK_EXTERIOR (0 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_1F (1 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_2F (2 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_3F (3 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_4F (4 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_5F (5 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_6F (6 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_7F (7 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_8F (8 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF (9 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (10 | (2 << 8))
|
||||
#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR (11 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_1F (1 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_2F (2 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_3F (3 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_4F (4 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_5F (5 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_6F (6 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_7F (7 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_8F (8 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_ROOF (9 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_LOBBY (10 | (2 << 8))
|
||||
#define MAP_TRAINER_TOWER_ELEVATOR (11 | (2 << 8))
|
||||
#define MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (12 | (2 << 8))
|
||||
#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM1 (13 | (2 << 8))
|
||||
#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM2 (14 | (2 << 8))
|
||||
|
||||
@@ -40,4 +40,8 @@
|
||||
// gTileset_82D504C. Below metatile probably needs generic name
|
||||
#define METATILE_MtEmber_CaveEntrance 0x346
|
||||
|
||||
// Trainer Tower
|
||||
#define METATILE_TrainerTower_Floor_ShadeBottomLeft 0x287
|
||||
#define METATILE_TrainerTower_CounterBarrier 0x2B4
|
||||
|
||||
#endif // GUARD_METATILE_LABELS_H
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#ifndef GUARD_CONSTANTS_TRAINER_TOWER_H
|
||||
#define GUARD_CONSTANTS_TRAINER_TOWER_H
|
||||
|
||||
#define CHALLENGE_TYPE_SINGLE 0
|
||||
#define CHALLENGE_TYPE_DOUBLE 1
|
||||
#define CHALLENGE_TYPE_KNOCKOUT 2
|
||||
// Mixed challenges use one of the above 3 for each floor
|
||||
|
||||
#define CHALLENGE_STATUS_LOST 0
|
||||
#define CHALLENGE_STATUS_UNK 1 // Never set, possibly e-Card related
|
||||
#define CHALLENGE_STATUS_NORMAL 2 // Not started or ongoing
|
||||
|
||||
#define MAX_TRAINER_TOWER_FLOORS 8
|
||||
|
||||
#define MAX_TRAINERS_PER_FLOOR 3
|
||||
|
||||
#define TRAINER_TOWER_FUNC_INIT_FLOOR 0
|
||||
#define TRAINER_TOWER_FUNC_GET_SPEECH 1
|
||||
#define TRAINER_TOWER_FUNC_DO_BATTLE 2
|
||||
#define TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE 3
|
||||
#define TRAINER_TOWER_FUNC_CLEARED_FLOOR 4
|
||||
#define TRAINER_TOWER_FUNC_GET_FLOOR_BEATEN 5
|
||||
#define TRAINER_TOWER_FUNC_START_CHALLENGE 6
|
||||
#define TRAINER_TOWER_FUNC_GET_OWNER_STATE 7
|
||||
#define TRAINER_TOWER_FUNC_GIVE_PRIZE 8
|
||||
#define TRAINER_TOWER_FUNC_CHECK_FINAL_TIME 9
|
||||
#define TRAINER_TOWER_FUNC_RESUME_TIMER 10
|
||||
#define TRAINER_TOWER_FUNC_SET_LOST 11
|
||||
#define TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS 12
|
||||
#define TRAINER_TOWER_FUNC_GET_TIME 13
|
||||
#define TRAINER_TOWER_FUNC_SHOW_RESULTS 14
|
||||
#define TRAINER_TOWER_FUNC_CLOSE_RESULTS 15
|
||||
#define TRAINER_TOWER_FUNC_CHECK_DOUBLES 16
|
||||
#define TRAINER_TOWER_FUNC_GET_NUM_FLOORS 17
|
||||
#define TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER 18
|
||||
#define TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC 19
|
||||
#define TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE 20
|
||||
|
||||
#define TRAINER_TOWER_TEXT_INTRO 2
|
||||
#define TRAINER_TOWER_TEXT_PLAYER_LOST 3
|
||||
#define TRAINER_TOWER_TEXT_PLAYER_WON 4
|
||||
#define TRAINER_TOWER_TEXT_AFTER 5
|
||||
|
||||
#define TRAINER_TOWER_MAX_TIME 215999 // 60 * 60 * 60 - 1
|
||||
|
||||
#endif //GUARD_CONSTANTS_TRAINER_TOWER_H
|
||||
+11
-12
@@ -691,19 +691,18 @@ struct MEventBuffers
|
||||
/*0x344 0x3464*/ u32 unk_344[2][5];
|
||||
}; // 0x36C 0x348C
|
||||
|
||||
struct TrainerTowerLog
|
||||
struct TrainerTower
|
||||
{
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u8 unk8;
|
||||
u32 timer;
|
||||
u32 bestTime;
|
||||
u8 floorsCleared;
|
||||
u8 unk9;
|
||||
u8 unkA_0:1;
|
||||
u8 unkA_1:1;
|
||||
u8 unkA_2:1;
|
||||
u8 unkA_3:1;
|
||||
u8 receivedPrize:1;
|
||||
u8 checkedFinalTime:1;
|
||||
u8 spokeToOwner:1;
|
||||
u8 hasLost:1;
|
||||
u8 unkA_4:1;
|
||||
u8 unkA_5:1;
|
||||
u8 unkA_6:2;
|
||||
u8 validated:1;
|
||||
};
|
||||
|
||||
struct TrainerRematchState
|
||||
@@ -776,8 +775,8 @@ struct SaveBlock1
|
||||
/*0x3BA8*/ struct TrainerNameRecord trainerNameRecords[20];
|
||||
/*0x3C98*/ struct DaycareMon route5DayCareMon;
|
||||
/*0x3D24*/ u8 filler3D24[0x10];
|
||||
/*0x3D34*/ u32 unkArrayIdx;
|
||||
/*0x3D38*/ struct TrainerTowerLog unkArray[4];
|
||||
/*0x3D34*/ u32 towerChallengeId;
|
||||
/*0x3D38*/ struct TrainerTower trainerTower[NUM_TOWER_CHALLENGE_TYPES];
|
||||
};
|
||||
|
||||
struct MapPosition
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_RENEWABLE_HIDDEN_ITEMS_H
|
||||
#define GUARD_RENEWABLE_HIDDEN_ITEMS_H
|
||||
|
||||
bool32 sub_815D834(void);
|
||||
bool32 ReadTrainerHillAndValidate(void);
|
||||
void IncrementRenewableHiddenItemStepCounter(void);
|
||||
void TryRegenerateRenewableHiddenItems(void);
|
||||
void SetAllRenewableItemFlags(void);
|
||||
|
||||
@@ -6,7 +6,9 @@ void InitTrainerTowerBattleStruct(void);
|
||||
void FreeTrainerTowerBattleStruct(void);
|
||||
u8 GetTrainerTowerTrainerFrontSpriteId(void);
|
||||
void ResetTrainerTowerResults(void);
|
||||
void sub_815DA28(u8 *text);
|
||||
u8 sub_815DA10(void);
|
||||
void GetTrainerTowerOpponentWinText(u8 *dest, u8 opponentIdx);
|
||||
void GetTrainerTowerOpponentLoseText(u8 *dest, u8 opponentIdx);
|
||||
void GetTrainerTowerOpponentName(u8 *text);
|
||||
u8 GetTrainerTowerOpponentClass(void);
|
||||
|
||||
#endif //GUARD_TRAINER_TOWER_H
|
||||
|
||||
Reference in New Issue
Block a user