diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2016-01-07 18:45:32 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2016-01-07 18:45:32 -0500 |
commit | 61c4cfe7d7b49821fec4fcfad6b717ee96ff4c67 (patch) | |
tree | 9b0e4806e4b8f5a6d712e9b7208320f0077c5a0d /macros/wram.asm | |
parent | 69af99da5e4bcfa9cb90394531e531388f1399eb (diff) |
wram macros moved to new file
Diffstat (limited to 'macros/wram.asm')
-rwxr-xr-x | macros/wram.asm | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/macros/wram.asm b/macros/wram.asm new file mode 100755 index 000000000..8e5e55cba --- /dev/null +++ b/macros/wram.asm @@ -0,0 +1,212 @@ + +flag_array: MACRO + ds ((\1) + 7) / 8 +ENDM + +box_struct: MACRO +\1Species:: db +\1Item:: db +\1Moves:: ds NUM_MOVES +\1ID:: dw +\1Exp:: ds 3 +\1StatExp:: +\1HPExp:: dw +\1AtkExp:: dw +\1DefExp:: dw +\1SpdExp:: dw +\1SpcExp:: dw +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +\1Happiness:: db +\1PokerusStatus:: db +\1CaughtData:: +\1CaughtTime:: +\1CaughtLevel:: db +\1CaughtGender:: +\1CaughtLocation:: db +\1Level:: db +\1End:: +ENDM + +party_struct: MACRO + box_struct \1 +\1Status:: db +\1Unused:: db +\1HP:: dw +\1MaxHP:: dw +\1Stats:: ; big endian +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1SpclAtk:: dw +\1SpclDef:: dw +\1StatsEnd:: +ENDM + +red_box_struct: MACRO +\1Species:: db +\1HP:: dw +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1OTID:: dw +\1Exp:: ds 3 +\1HPExp:: dw +\1AttackExp:: dw +\1DefenseExp:: dw +\1SpeedExp:: dw +\1SpecialExp:: dw +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +ENDM + +red_party_struct: MACRO + red_box_struct \1 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +ENDM + + +battle_struct: MACRO +\1Species:: db +\1Item:: db +\1Moves:: ds NUM_MOVES +\1MovesEnd:: +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +\1Happiness:: db +\1Level:: db +\1Status:: ds 2 +\1HP:: dw +\1MaxHP:: dw +\1Stats:: ; big endian +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1SpclAtk:: dw +\1SpclDef:: dw +\1StatsEnd:: +\1Type:: +\1Type1:: db +\1Type2:: db +\1StructEnd:: +ENDM + +box: MACRO +\1:: +\1Count:: ds 1 +\1Species:: ds MONS_PER_BOX + 1 +\1Mons:: +\1Mon1:: box_struct \1Mon1 +\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX +- 1) +\1MonOT:: ds NAME_LENGTH * MONS_PER_BOX +\1MonNicknames:: ds PKMN_NAME_LENGTH * MONS_PER_BOX +\1MonNicknamesEnd:: +\1End:: ds 2 ; padding +ENDM + + +channel_struct: MACRO +; Addreses are Channel1 (c101). +\1MusicID:: dw +\1MusicBank:: db +\1Flags:: db ; 0:on/off 1:subroutine 3:sfx 4:noise 5:rest +\1Flags2:: db ; 0:vibrato on/off 2:duty 4:cry pitch +\1Flags3:: db ; 0:vibrato up/down +\1MusicAddress:: dw +\1LastMusicAddress:: dw + dw +\1NoteFlags:: db ; 5:rest +\1Condition:: db ; conditional jumps +\1DutyCycle:: db ; bits 6-7 (0:12.5% 1:25% 2:50% 3:75%) +\1Intensity:: db ; hi:pressure lo:velocity +\1Frequency:: ; 11 bits +\1FrequencyLo:: db +\1FrequencyHi:: db +\1Pitch:: db ; 0:rest 1-c:note +\1Octave:: db ; 7-0 (0 is highest) +\1StartingOctave:: db ; raises existing octaves (to repeat phrases) +\1NoteDuration:: db ; frames remaining for the current note +\1Field0x16:: ds 1 ; c117 + ds 1 ; c118 +\1LoopCount:: db +\1Tempo:: dw +\1Tracks:: db ; hi:left lo:right +\1Field0x1c:: ds 1 ; c11d +\1VibratoDelayCount:: db ; initialized by \1VibratoDelay +\1VibratoDelay:: db ; number of frames a note plays until vibrato starts +\1VibratoExtent:: db +\1VibratoRate:: db ; hi:frames for each alt lo:frames to the next alt +\1Field0x21:: ds 1 ; c122 +\1Field0x22:: ds 1 ; c123 +\1Field0x23:: ds 1 ; c124 +\1Field0x24:: ds 1 ; c125 +\1Field0x25:: ds 1 ; c126 + ds 1 ; c127 +\1CryPitch:: dw +\1Field0x29:: ds 1 +\1Field0x2a:: ds 2 +\1Field0x2c:: ds 1 +\1NoteLength:: db ; frames per 16th note +\1Field0x2e:: ds 1 ; c12f +\1Field0x2f:: ds 1 ; c130 +\1Field0x30:: ds 1 ; c131 + ds 1 ; c132 +ENDM + +battle_tower_struct: MACRO +\1Name:: ds NAME_LENGTH +- 1 +\1TrainerClass:: ds 1 +\1Pkmn1:: party_struct \1Pkmn1 +\1Pkmn1Name:: ds PKMN_NAME_LENGTH +\1Pkmn1NameEnd:: +\1Pkmn2:: party_struct \1Pkmn2 +\1Pkmn2Name:: ds PKMN_NAME_LENGTH +\1Pkmn2NameEnd:: +\1Pkmn3:: party_struct \1Pkmn3 +\1Pkmn3Name:: ds PKMN_NAME_LENGTH +\1Pkmn3NameEnd:: +\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH +\1TrainerEnd:: +endm + +mailmsg: MACRO +\1Message:: ds MAIL_MSG_LENGTH +\1MessageEnd:: ds 1 +\1Author:: ds PLAYER_NAME_LENGTH +\1AuthorNationality:: ds 2 +\1AuthorID:: ds 2 +\1Species:: ds 1 +\1Type:: ds 1 +\1End:: +endm + +hof_mon: MACRO +\1Species:: ds 1 +\1ID:: ds 2 +\1DVs:: ds 2 +\1Level:: ds 1 +\1Nickname:: ds PKMN_NAME_LENGTH +- 1 +\1End:: +endm + +hall_of_fame: MACRO +\1:: +\1WinCount:: ds 1 +\1Mon1:: hof_mon \1Mon1 +\1Mon2:: hof_mon \1Mon2 +\1Mon3:: hof_mon \1Mon3 +\1Mon4:: hof_mon \1Mon4 +\1Mon5:: hof_mon \1Mon5 +\1Mon6:: hof_mon \1Mon6 +\1End:: ds 1 +ENDM |