mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-12 11:06:58 -05:00
Transfer pokemon .rodata to C
This commit is contained in:
@@ -4,103 +4,11 @@
|
||||
|
||||
.extern gGameLanguage
|
||||
.extern gGameVersion
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global sItemOdds
|
||||
sItemOdds: ; 0x020F7ECC
|
||||
.short 0x002D, 0x005F
|
||||
.short 0x0014, 0x0050
|
||||
|
||||
.global sFriendshipModTable
|
||||
sFriendshipModTable: ; 0x020F7ED4
|
||||
.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
|
||||
.byte 3, 2, 1
|
||||
|
||||
.global sLegendaryMonsList
|
||||
sLegendaryMonsList: ; 0x020F7EF2
|
||||
.short SPECIES_MEWTWO
|
||||
.short SPECIES_MEW
|
||||
.short SPECIES_HO_OH
|
||||
.short SPECIES_LUGIA
|
||||
.short SPECIES_CELEBI
|
||||
.short SPECIES_KYOGRE
|
||||
.short SPECIES_GROUDON
|
||||
.short SPECIES_RAYQUAZA
|
||||
.short SPECIES_JIRACHI
|
||||
.short SPECIES_DEOXYS
|
||||
.short SPECIES_DIALGA
|
||||
.short SPECIES_PALKIA
|
||||
.short SPECIES_GIRATINA
|
||||
.short SPECIES_PHIONE
|
||||
.short SPECIES_MANAPHY
|
||||
.short SPECIES_DARKRAI
|
||||
.short SPECIES_SHAYMIN
|
||||
.short SPECIES_ARCEUS
|
||||
|
||||
.global UNK_020F7F16
|
||||
UNK_020F7F16: ; 0x020F7F16
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 1, 0, 0, 0, -1
|
||||
.byte 1, 0, -1, 0, 0
|
||||
.byte 1, -1, 0, 0, 0
|
||||
.byte 1, 0, 0, -1, 0
|
||||
.byte -1, 0, 0, 0, 1
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, 0, -1, 0, 1
|
||||
.byte 0, -1, 0, 0, 1
|
||||
.byte 0, 0, 0, -1, 1
|
||||
.byte -1, 0, 1, 0, 0
|
||||
.byte 0, 0, 1, 0, -1
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, -1, 1, 0, 0
|
||||
.byte 0, 0, 1, -1, 0
|
||||
.byte -1, 1, 0, 0, 0
|
||||
.byte 0, 1, 0, 0, -1
|
||||
.byte 0, 1, -1, 0, 0
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, 1, 0, -1, 0
|
||||
.byte -1, 0, 0, 1, 0
|
||||
.byte 0, 0, 0, 1, -1
|
||||
.byte 0, 0, -1, 1, 0
|
||||
.byte 0, -1, 0, 1, 0
|
||||
.byte 0, 0, 0, 0, 0
|
||||
|
||||
.global sNatureStatMods
|
||||
sNatureStatMods: ; 0x020F7F93
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 1, -1, 0, 0, 0
|
||||
.byte 1, 0, -1, 0, 0
|
||||
.byte 1, 0, 0, -1, 0
|
||||
.byte 1, 0, 0, 0, -1
|
||||
.byte -1, 1, 0, 0, 0
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, 1, -1, 0, 0
|
||||
.byte 0, 1, 0, -1, 0
|
||||
.byte 0, 1, 0, 0, -1
|
||||
.byte -1, 0, 1, 0, 0
|
||||
.byte 0, -1, 1, 0, 0
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, 0, 1, -1, 0
|
||||
.byte 0, 0, 1, 0, -1
|
||||
.byte -1, 0, 0, 1, 0
|
||||
.byte 0, -1, 0, 1, 0
|
||||
.byte 0, 0, -1, 1, 0
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.byte 0, 0, 0, 1, -1
|
||||
.byte -1, 0, 0, 0, 1
|
||||
.byte 0, -1, 0, 0, 1
|
||||
.byte 0, 0, -1, 0, 1
|
||||
.byte 0, 0, 0, -1, 1
|
||||
.byte 0, 0, 0, 0, 0
|
||||
.extern sItemOdds
|
||||
.extern sFriendshipModTable
|
||||
.extern sLegendaryMonsList
|
||||
.extern UNK_020F7F16
|
||||
.extern sNatureStatMods
|
||||
|
||||
.section .data
|
||||
|
||||
|
||||
@@ -31,6 +31,102 @@ int ApplyNatureModToStat(u8 nature, u16 statval, u32 statno);
|
||||
< 8u)
|
||||
#define CALC_UNOWN_LETTER(pid) ((u32)((((pid) & 0x3000000) >> 18) | (((pid) & 0x30000) >> 12) | (((pid) & 0x300) >> 6) | (((pid) & 0x3) >> 0)) % 28u)
|
||||
|
||||
const u16 sItemOdds[2][2] = {
|
||||
{ 45, 95 },
|
||||
{ 20, 80 },
|
||||
};
|
||||
|
||||
const s8 sFriendshipModTable[][3] = {
|
||||
{ 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 },
|
||||
{ 3, 2, 1 },
|
||||
};
|
||||
|
||||
const u16 sLegendaryMonsList[] = {
|
||||
SPECIES_MEWTWO,
|
||||
SPECIES_MEW,
|
||||
SPECIES_HO_OH,
|
||||
SPECIES_LUGIA,
|
||||
SPECIES_CELEBI,
|
||||
SPECIES_KYOGRE,
|
||||
SPECIES_GROUDON,
|
||||
SPECIES_RAYQUAZA,
|
||||
SPECIES_JIRACHI,
|
||||
SPECIES_DEOXYS,
|
||||
SPECIES_DIALGA,
|
||||
SPECIES_PALKIA,
|
||||
SPECIES_GIRATINA,
|
||||
SPECIES_PHIONE,
|
||||
SPECIES_MANAPHY,
|
||||
SPECIES_DARKRAI,
|
||||
SPECIES_SHAYMIN,
|
||||
SPECIES_ARCEUS,
|
||||
};
|
||||
|
||||
const s8 UNK_020F7F16[][5] = {
|
||||
// Atk, Def, Spd, SpA, SpD
|
||||
{ 0, 0, 0, 0, 0},
|
||||
{ 1, 0, 0, 0, -1},
|
||||
{ 1, 0, -1, 0, 0},
|
||||
{ 1, -1, 0, 0, 0},
|
||||
{ 1, 0, 0, -1, 0},
|
||||
{ -1, 0, 0, 0, 1},
|
||||
{ 0, 0, 0, 0, 0},
|
||||
{ 0, 0, -1, 0, 1},
|
||||
{ 0, -1, 0, 0, 1},
|
||||
{ 0, 0, 0, -1, 1},
|
||||
{ -1, 0, 1, 0, 0},
|
||||
{ 0, 0, 1, 0, -1},
|
||||
{ 0, 0, 0, 0, 0},
|
||||
{ 0, -1, 1, 0, 0},
|
||||
{ 0, 0, 1, -1, 0},
|
||||
{ -1, 1, 0, 0, 0},
|
||||
{ 0, 1, 0, 0, -1},
|
||||
{ 0, 1, -1, 0, 0},
|
||||
{ 0, 0, 0, 0, 0},
|
||||
{ 0, 1, 0, -1, 0},
|
||||
{ -1, 0, 0, 1, 0},
|
||||
{ 0, 0, 0, 1, -1},
|
||||
{ 0, 0, -1, 1, 0},
|
||||
{ 0, -1, 0, 1, 0},
|
||||
{ 0, 0, 0, 0, 0},
|
||||
};
|
||||
|
||||
const u8 sNatureStatMods[][5] = {
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
{ 1, -1, 0, 0, 0 },
|
||||
{ 1, 0, -1, 0, 0 },
|
||||
{ 1, 0, 0, -1, 0 },
|
||||
{ 1, 0, 0, 0, -1 },
|
||||
{ -1, 1, 0, 0, 0 },
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
{ 0, 1, -1, 0, 0 },
|
||||
{ 0, 1, 0, -1, 0 },
|
||||
{ 0, 1, 0, 0, -1 },
|
||||
{ -1, 0, 1, 0, 0 },
|
||||
{ 0, -1, 1, 0, 0 },
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
{ 0, 0, 1, -1, 0 },
|
||||
{ 0, 0, 1, 0, -1 },
|
||||
{ -1, 0, 0, 1, 0 },
|
||||
{ 0, -1, 0, 1, 0 },
|
||||
{ 0, 0, -1, 1, 0 },
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
{ 0, 0, 0, 1, -1 },
|
||||
{ -1, 0, 0, 0, 1 },
|
||||
{ 0, -1, 0, 0, 1 },
|
||||
{ 0, 0, -1, 0, 1 },
|
||||
{ 0, 0, 0, -1, 1 },
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
};
|
||||
|
||||
void ZeroMonData(struct Pokemon * pokemon)
|
||||
{
|
||||
MIi_CpuClearFast(0, pokemon, sizeof(struct Pokemon));
|
||||
|
||||
Reference in New Issue
Block a user