mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-23 02:44:45 -05:00
Decompile remaining Pokemon data into c objects
This commit is contained in:
@@ -1,95 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
gUnknown_08208238:: @ 8208238
|
||||
.byte 0x03, 0x0C, 0x30, 0xC0
|
||||
|
||||
gUnknown_0820823C:: @ 820823C
|
||||
.byte 0xFC, 0xF3, 0xCF, 0x3F
|
||||
|
||||
gUnknown_08208240:: @ 8208240
|
||||
.byte 0x01, 0x04, 0x10, 0x40
|
||||
|
||||
gStatStageRatios:: @ 8208244
|
||||
.byte 10, 40 @ -6
|
||||
.byte 10, 35 @ -5
|
||||
.byte 10, 30 @ -4
|
||||
.byte 10, 25 @ -3
|
||||
.byte 10, 20 @ -2
|
||||
.byte 10, 15 @ -1
|
||||
.byte 10, 10 @ 0
|
||||
.byte 15, 10 @ +1
|
||||
.byte 20, 10 @ +2
|
||||
.byte 25, 10 @ +3
|
||||
.byte 30, 10 @ +4
|
||||
.byte 35, 10 @ +5
|
||||
.byte 40, 10 @ +6
|
||||
|
||||
@ abbreviation of Game Freak
|
||||
.string "ゲーフリ$"
|
||||
|
||||
gHoldEffectToType:: @ 8208263
|
||||
.byte HOLD_EFFECT_BUG_POWER, TYPE_BUG
|
||||
.byte HOLD_EFFECT_STEEL_POWER, TYPE_STEEL
|
||||
.byte HOLD_EFFECT_GROUND_POWER, TYPE_GROUND
|
||||
.byte HOLD_EFFECT_ROCK_POWER, TYPE_ROCK
|
||||
.byte HOLD_EFFECT_GRASS_POWER, TYPE_GRASS
|
||||
.byte HOLD_EFFECT_DARK_POWER, TYPE_DARK
|
||||
.byte HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING
|
||||
.byte HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC
|
||||
.byte HOLD_EFFECT_WATER_POWER, TYPE_WATER
|
||||
.byte HOLD_EFFECT_FLYING_POWER, TYPE_FLYING
|
||||
.byte HOLD_EFFECT_POISON_POWER, TYPE_POISON
|
||||
.byte HOLD_EFFECT_ICE_POWER, TYPE_ICE
|
||||
.byte HOLD_EFFECT_GHOST_POWER, TYPE_GHOST
|
||||
.byte HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC
|
||||
.byte HOLD_EFFECT_FIRE_POWER, TYPE_FIRE
|
||||
.byte HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON
|
||||
.byte HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL
|
||||
.byte 0, 0
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8208288:: @ 8208288
|
||||
spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0
|
||||
spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
|
||||
spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0
|
||||
spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
|
||||
|
||||
gSecretBaseTrainerClasses:: @ 82082E8
|
||||
.byte TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOL_TRAINER_M
|
||||
.byte TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_F, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOL_TRAINER_F
|
||||
|
||||
gUnknown_082082F2:: @ 82082F2
|
||||
.byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x1E
|
||||
|
||||
gUnknown_082082F8:: @ 82082F8
|
||||
.byte 1, 1, 3, 2, 4, 6
|
||||
|
||||
gUnknown_082082FE:: @ 82082FE
|
||||
.byte 5, 3, 2
|
||||
.byte 5, 3, 2
|
||||
.byte 1, 1, 0
|
||||
.byte 3, 2, 1
|
||||
.byte 1, 1, 0
|
||||
.byte 1, 1, 1
|
||||
.byte -1, -1, -1
|
||||
.byte -5, -5, -10
|
||||
.byte -5, -5, -10
|
||||
|
||||
.align 1
|
||||
gHMMoves:: @ 820831A
|
||||
.2byte MOVE_CUT
|
||||
.2byte MOVE_FLY
|
||||
.2byte MOVE_SURF
|
||||
.2byte MOVE_STRENGTH
|
||||
.2byte MOVE_FLASH
|
||||
.2byte MOVE_ROCK_SMASH
|
||||
.2byte MOVE_WATERFALL
|
||||
.2byte MOVE_DIVE
|
||||
.2byte 0xFFFF
|
||||
|
||||
gJapaneseNidoranNames:: @ 820832C
|
||||
.string "ニドラン♂$", 11
|
||||
.string "ニドラン♀$", 11
|
||||
@@ -17,6 +17,15 @@ struct MonCoords
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
extern const struct OamData gOamData_81F96F0;
|
||||
extern const struct OamData gOamData_81F96E8;
|
||||
extern const struct SpriteFrameImage gSpriteImageTable_81E7A10[];
|
||||
extern const struct SpriteFrameImage gSpriteImageTable_81E7A30[];
|
||||
extern const struct SpriteFrameImage gSpriteImageTable_81E7A50[];
|
||||
extern const struct SpriteFrameImage gSpriteImageTable_81E7A70[];
|
||||
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7B70[];
|
||||
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7BEC[];
|
||||
|
||||
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7C18;
|
||||
extern const union AnimCmd *const gSpriteAnimTable_81E7C64[];
|
||||
extern struct MonCoords gMonFrontPicCoords[];
|
||||
|
||||
@@ -333,7 +333,6 @@ SECTIONS {
|
||||
data/main_menu.o(.rodata);
|
||||
data/data2.o(.rodata);
|
||||
src/pokemon_data.o(.rodata);
|
||||
data/pokemon.o(.rodata);
|
||||
. = ALIGN(4);
|
||||
data/trig.o(.rodata);
|
||||
data/util.o(.rodata);
|
||||
|
||||
@@ -41,7 +41,7 @@ extern struct BaseStats gBaseStats[];
|
||||
extern struct SpriteTemplate gSpriteTemplate_8208288[];
|
||||
extern u8 gTrainerClassToPicIndex[];
|
||||
extern u8 gTrainerClassToNameIndex[];
|
||||
extern u8 gSecretBaseTrainerClasses[];
|
||||
// extern u8 gSecretBaseTrainerClasses[];
|
||||
extern u8 gUnknown_08208238[];
|
||||
extern u8 gUnknown_0820823C[];
|
||||
extern u8 gStatStageRatios[];
|
||||
|
||||
@@ -42,7 +42,7 @@ extern const struct SpriteTemplate gSpriteTemplate_8208288[];
|
||||
//array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.)
|
||||
extern u8 gTrainerClassToPicIndex[];
|
||||
extern u8 gTrainerClassToNameIndex[];
|
||||
extern u8 gSecretBaseTrainerClasses[];
|
||||
extern u8 gSecretBaseTrainerClasses[][5];
|
||||
extern u8 gUnknown_08208238[];
|
||||
extern u8 gUnknown_0820823C[];
|
||||
extern u8 gStatStageRatios[][2];
|
||||
@@ -1191,13 +1191,13 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord)
|
||||
|
||||
u8 GetSecretBaseTrainerPicIndex(void)
|
||||
{
|
||||
u8 trainerClass = gSecretBaseTrainerClasses[(gSecretBaseRecord.trainerId[0] % 5) + (5 * gSecretBaseRecord.gender)];
|
||||
u8 trainerClass = gSecretBaseTrainerClasses[gSecretBaseRecord.gender][gSecretBaseRecord.trainerId[0] % 5];
|
||||
return gTrainerClassToPicIndex[trainerClass];
|
||||
}
|
||||
|
||||
u8 GetSecretBaseTrainerNameIndex(void)
|
||||
{
|
||||
u8 trainerClass = gSecretBaseTrainerClasses[(gSecretBaseRecord.trainerId[0] % 5) + (5 * gSecretBaseRecord.gender)];
|
||||
u8 trainerClass = gSecretBaseTrainerClasses[gSecretBaseRecord.gender][gSecretBaseRecord.trainerId[0] % 5];
|
||||
return gTrainerClassToNameIndex[trainerClass];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
#include "trainer.h"
|
||||
#include "abilities.h"
|
||||
#include "moves.h"
|
||||
#include "hold_effects.h"
|
||||
#include "items.h"
|
||||
#include "sprite.h"
|
||||
#include "data2.h"
|
||||
|
||||
#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move)
|
||||
|
||||
@@ -16921,3 +16924,107 @@ const u16 *const gLevelUpLearnsets[] = {
|
||||
gChimechoLevelUpLearnset
|
||||
};
|
||||
|
||||
const u8 gUnknown_08208238[] = { // Masks for getting PP Up count, also PP Max values
|
||||
0x03, 0x0c, 0x30, 0xc0
|
||||
};
|
||||
|
||||
const u8 gUnknown_0820823C[] = { // Masks for setting PP Up count
|
||||
0xFC, 0xF3, 0xCF, 0x3F
|
||||
};
|
||||
|
||||
const u8 gUnknown_08208240[] = { // Values added to PP Up count
|
||||
0x01, 0x04, 0x10, 0x40
|
||||
};
|
||||
|
||||
const u8 gStatStageRatios[][2] = {
|
||||
{10, 40}, // -6
|
||||
{10, 35}, // -5
|
||||
{10, 30}, // -4
|
||||
{10, 25}, // -3
|
||||
{10, 20}, // -2
|
||||
{10, 15}, // -1
|
||||
{10, 10}, // 0
|
||||
{15, 10}, // 1
|
||||
{20, 10}, // 2
|
||||
{25, 10}, // 3
|
||||
{30, 10}, // 4
|
||||
{35, 10}, // 5
|
||||
{40, 10} // 6
|
||||
};
|
||||
|
||||
const u8 unknownGameFreakAbbrev_820825E[] = _("ゲーフリ");
|
||||
|
||||
const u8 gHoldEffectToType[][2] = {
|
||||
{HOLD_EFFECT_BUG_POWER, TYPE_BUG},
|
||||
{HOLD_EFFECT_STEEL_POWER, TYPE_STEEL},
|
||||
{HOLD_EFFECT_GROUND_POWER, TYPE_GROUND},
|
||||
{HOLD_EFFECT_ROCK_POWER, TYPE_ROCK},
|
||||
{HOLD_EFFECT_GRASS_POWER, TYPE_GRASS},
|
||||
{HOLD_EFFECT_DARK_POWER, TYPE_DARK},
|
||||
{HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING},
|
||||
{HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC},
|
||||
{HOLD_EFFECT_WATER_POWER, TYPE_WATER},
|
||||
{HOLD_EFFECT_FLYING_POWER, TYPE_FLYING},
|
||||
{HOLD_EFFECT_POISON_POWER, TYPE_POISON},
|
||||
{HOLD_EFFECT_ICE_POWER, TYPE_ICE},
|
||||
{HOLD_EFFECT_GHOST_POWER, TYPE_GHOST},
|
||||
{HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC},
|
||||
{HOLD_EFFECT_FIRE_POWER, TYPE_FIRE},
|
||||
{HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON},
|
||||
{HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL}
|
||||
};
|
||||
|
||||
extern void sub_80105A0(struct Sprite *);
|
||||
extern void oac_poke_opponent(struct Sprite *);
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_8208288[] = {
|
||||
{0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
|
||||
{0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
|
||||
{0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
|
||||
{0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
|
||||
};
|
||||
|
||||
const u8 gSecretBaseTrainerClasses[][5] = {
|
||||
// male
|
||||
{TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOL_TRAINER_M},
|
||||
// female
|
||||
{TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_F, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOL_TRAINER_F}
|
||||
};
|
||||
|
||||
const u8 gUnknown_082082F2[] = {
|
||||
MON_DATA_HP_EV,
|
||||
MON_DATA_ATK_EV,
|
||||
MON_DATA_DEF_EV,
|
||||
MON_DATA_SPD_EV,
|
||||
MON_DATA_SPDEF_EV,
|
||||
MON_DATA_SPATK_EV
|
||||
};
|
||||
|
||||
const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6};
|
||||
|
||||
const s8 gUnknown_082082FE[][3] = {
|
||||
// Happiness deltas
|
||||
{ 5, 3, 2},
|
||||
{ 5, 3, 2},
|
||||
{ 1, 1, 0},
|
||||
{ 3, 2, 1},
|
||||
{ 1, 1, 0},
|
||||
{ 1, 1, 1},
|
||||
{-1, -1, -1},
|
||||
{-5, -5, -10},
|
||||
{-5, -5, -10}
|
||||
};
|
||||
|
||||
const u16 gHMMoves[] = {
|
||||
MOVE_CUT,
|
||||
MOVE_FLY,
|
||||
MOVE_SURF,
|
||||
MOVE_STRENGTH,
|
||||
MOVE_FLASH,
|
||||
MOVE_ROCK_SMASH,
|
||||
MOVE_WATERFALL,
|
||||
MOVE_DIVE,
|
||||
0xffff
|
||||
};
|
||||
|
||||
const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")};
|
||||
|
||||
Reference in New Issue
Block a user