diff options
author | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-29 19:35:36 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-29 19:35:36 -0400 |
commit | b9d4178dad95a396b3a7ca9e2bc5c4fc4b81630e (patch) | |
tree | 883456b5f2bd69d6c2484f74088f10882d42aea7 | |
parent | 71cb56a73e53fd8cb30b2bbd944d866cb6717e48 (diff) |
Start decoding trainer parties
-rw-r--r-- | constants.asm | 1 | ||||
-rw-r--r-- | constants/trainer_data_constants.asm | 54 | ||||
-rw-r--r-- | data/trainers/parties.asm | 17 | ||||
-rw-r--r-- | main.asm | 4 |
4 files changed, 75 insertions, 1 deletions
diff --git a/constants.asm b/constants.asm index 20b71d5..788d637 100644 --- a/constants.asm +++ b/constants.asm @@ -12,6 +12,7 @@ INCLUDE "constants/pokedex_constants.asm" INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/item_constants.asm" +INCLUDE "constants/trainer_data_constants.asm" INCLUDE "constants/battle_constants.asm" INCLUDE "constants/serial_constants.asm" diff --git a/constants/trainer_data_constants.asm b/constants/trainer_data_constants.asm new file mode 100644 index 0000000..00c1c6c --- /dev/null +++ b/constants/trainer_data_constants.asm @@ -0,0 +1,54 @@ +; TrainerClassAttributes struct members (see data/trainers/attributes.asm) + const_def + const TRNATTR_ITEM1 ; 0 + const TRNATTR_ITEM2 ; 1 + const TRNATTR_BASEMONEY ; 2 + const TRNATTR_AI_MOVE_WEIGHTS ; 3 + const TRNATTR_AI2 ; 4 + const TRNATTR_AI_ITEM_SWITCH ; 5 + const TRNATTR_AI4 ; 6 +NUM_TRAINER_ATTRIBUTES EQU const_value + +; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags) +; AIScoringPointers indexes (see engine/battle/ai/move.asm) + const_def + const NO_AI +const_value = 0 + shift_const AI_BASIC + shift_const AI_SETUP + shift_const AI_TYPES + shift_const AI_OFFENSIVE + shift_const AI_SMART + shift_const AI_OPPORTUNIST + shift_const AI_AGGRESSIVE + shift_const AI_CAUTIOUS + shift_const AI_STATUS + shift_const AI_RISKY + shift_const AI_10 + shift_const AI_11 + shift_const AI_12 + shift_const AI_13 + shift_const AI_14 + shift_const AI_15 + +; TRNATTR_AI_ITEM_SWITCH bit flags +CONTEXT_USE_F EQU 6 +UNKNOWN_USE_F EQU 5 +ALWAYS_USE_F EQU 4 +SWITCH_SOMETIMES_F EQU 2 +SWITCH_RARELY_F EQU 1 +SWITCH_OFTEN_F EQU 0 + +CONTEXT_USE EQU 1 << CONTEXT_USE_F +UNKNOWN_USE EQU 1 << UNKNOWN_USE_F +ALWAYS_USE EQU 1 << ALWAYS_USE_F +SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F +SWITCH_RARELY EQU 1 << SWITCH_RARELY_F +SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F + +; TrainerTypes indexes (see engine/battle/read_trainer_party.asm) + const_def + const TRAINERTYPE_NORMAL + const TRAINERTYPE_MOVES + const TRAINERTYPE_ITEM + const TRAINERTYPE_ITEM_MOVES diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm new file mode 100644 index 0000000..fb7402d --- /dev/null +++ b/data/trainers/parties.asm @@ -0,0 +1,17 @@ +; Trainer data structure: +; - db "NAME@", TRAINERTYPE_* constant +; - 1 to 6 Pokémon: +; * for TRAINERTYPE_NORMAL: db level, species +; * for TRAINERTYPE_ITEM: db level, species, item +; * for TRAINERTYPE_MOVES: db level, species, 4 moves +; * for TRAINERTYPE_ITEM_MOVES: db level, species, item, 4 moves +; - db -1 ; end + + +; TODO: decode data from the beginning +SECTION "Trainer Parties TEMPORARY 1", ROMX[$51BF],BANK[$E] + + ; BUG CATCHER BOY JUNICHI + db "じゅんいち@", TRAINERTYPE_ITEM_MOVES + db 7, DEX_PARAS, ITEM_NONE, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_NONE, MOVE_NONE + db -1 ; end @@ -10,7 +10,7 @@ SECTION "Predef pointers", ROMX[$62B0],BANK[$01] INCLUDE "engine/predef.asm" SECTION "Font GFX", ROMX[$4362], BANK[$3e] - INCBIN "gfx/font.1bpp" + INCBIN "gfx/font.1bpp" SECTION "Main Menu Definition", ROMX[$5418], BANK[$01] MainMenuHeader: @@ -41,6 +41,8 @@ INCLUDE "data/moves/tmhm_moves.asm" SECTION "Type Matchups", ROMX[$506D],BANK[$0D] INCLUDE "data/types/type_matchups.asm" +INCLUDE "data/trainers/parties.asm" + SECTION "Alphabetical Pokedex Order", ROMX[$4943],BANK[$10] INCLUDE "data/pokemon/dex_order_alpha.asm" |