Commit Graph

98 Commits

Author SHA1 Message Date
Rangi efd1006917
Use {interpolation} to generate sequences of RAM labels
This makes the table_width/assert_table_length usages unnecessary, and also keeps the labels automatically up to date if the length constants change.
2021-04-27 12:11:39 -04:00
Rangi d132a20b7a Verify script command table sizes 2021-03-11 16:28:52 -05:00
Rangi 40902ffe24 Verify data table sizes with table_width and assert_table_length macros
This was discussed in #706

It also uncovered some off-by-one issues with defining some constants.

A few structs now use rsreset/_RS to define their offset constants, as discussed in #739
2021-03-04 00:15:03 -05:00
Rangi 4264d53eb6 Identify some more labels 2021-02-05 12:44:21 -05:00
Rangi 9b3c45b14d Resolve some "???" comments 2020-11-17 11:09:02 -05:00
Rangi 17894e5f39 Replace $0 with 0 for "ld l, a / ld h, 0" idiom 2020-11-09 15:20:40 -05:00
Rangi 03e149e559 Identify wBattleAnimTemp0-3 2020-11-09 15:05:14 -05:00
Rangi 9f62d7911b Identify some more uses of wBuffer1-6 2020-11-03 22:45:12 -05:00
Rangi 4a323cf591 UnusedSpriteAnimGFX was to sprite anims as AnimObjGFX is to battle anims 2020-10-30 17:41:03 -04:00
Rangi fe1a58deea Identify wSpriteAnimDict key constants 2020-10-30 15:39:08 -04:00
Rangi c85ba78b77 Use more assertions to ensure correct code and data 2020-10-26 22:24:38 -04:00
Rangi 9dcdad5e60 Comment, remove, or revise many unreferenced labels 2020-10-26 20:29:58 -04:00
Rangi b9a74ff777 Identify more sprite graphics and map object labels, and have consistent anonymous jumptable labels 2020-10-22 10:54:53 -04:00
Rangi 3a2932cec1 Identify remaining two battle anim BG effect functions 2020-10-21 22:51:24 -04:00
Rangi 2e90df15b7 Update battle anim bg function comments, and identify more unnamed labels 2020-10-06 18:09:33 -04:00
7Soul cf26f55985
Identify battle bg effects functions and constants (#773)
Identify battle bg effects functions and constants
2020-10-06 15:45:09 -04:00
Rangi 6b7ade66da Identify more unnamed labels 2020-10-05 16:15:57 -04:00
Rangi ff2d850219 Identify some more unnamed labels 2020-10-05 12:02:56 -04:00
Rangi d9603e3e33 Identify more unnamed labels 2020-10-04 22:34:50 -04:00
7Soul 2ffc5f907f
Identify battle animation functions (#771)
Identify battle animation functions
2020-10-03 21:54:02 -04:00
mid-kid 13c4a93cea Fix some constants surrounding sprite animations
Also commented the use of the field surrounding the struct
initialization functions.

SPRITEANIMSTRUCT_0C -> SPRITEANIMSTRUCT_VAR1
SPRITEANIMSTRUCT_0D -> SPRITEANIMSTRUCT_VAR2
SPRITEANIMSTRUCT_0E -> SPRITEANIMSTRUCT_VAR3
SPRITEANIMSTRUCT_0F -> SPRITEANIMSTRUCT_VAR4

BATTLEANIMSTRUCT_01 -> BATTLEANIMSTRUCT_OAMFLAGS
BATTLEANIMSTRUCT_ANON_JT_INDEX -> BATTLEANIMSTRUCT_JUMPTABLE_INDEX
BATTLEANIMSTRUCT_0F -> BATTLEANIMSTRUCT_VAR1
BATTLEANIMSTRUCT_10 -> BATTLEANIMSTRUCT_VAR2
2020-08-27 13:59:33 +02:00
mid-kid b6055b1944 Use TRUE for hCGBPalUpdate 2020-08-05 16:02:48 +02:00
Rangi 6ca82e5c86 Eliminate enum: use const instead, with case-by-case parallel const implementations 2020-07-08 15:30:23 -04:00
Rangi 91774f206e Replace "Unreferenced" labels with "; unreferenced" comments 2020-06-21 16:27:43 -04:00
Rangi cc460a17b0 Harmonize engine/{movie, pokemon} with pokegold (renames GetSRAMBank to OpenSRAM)
To do: engine/{menus, overworld}
2020-06-17 17:03:38 -04:00
Rangi f76dabedcc Harmonize engine/{battle, battle_anims, events, games} with pokegold 2020-06-16 19:32:36 -04:00
Rangi 75035a71a5 Label some mobile addresses, and revise some comments 2020-06-13 18:48:26 -04:00
Rangi abf3858fc4 Update some comments 2020-05-10 01:20:06 -04:00
Rangi 6a6ba10315 rgbds supports 'X - 1' instead of 'X + -1' 2020-03-21 14:01:05 -04:00
Rangi 5a5f5ececd Miscellaneous fixes from #694 2020-03-21 13:07:18 -04:00
Rangi 1d4c1aeef4 'and BANK' -> 'aka BANK' 2020-02-28 11:51:42 -05:00
Rangi 5cdf4f9ae0
Merge pull request #623 from mid-kid/patch-1
Create some battle tower SRAM labels
2019-04-13 11:50:43 -04:00
mid-kid c5a4c0bd2e Create some battle tower SRAM labels 2019-04-12 13:58:49 +02:00
mid-kid 3e78e5b2b6 TextBox -> Textbox
Homogenizing names.
2019-04-09 16:09:18 +02:00
Rangi 7c42452748 Standardize on $ff ^ X for bitwise negating 8-bit values 2019-02-16 13:52:19 -05:00
Rangi 96bcf72d96 Document the BattleAnimCmd_ClearObjs bug 2019-02-16 13:31:23 -05:00
Rangi 771d2efd65
Merge pull request #601 from mid-kid/master
Exciting adventures down battle animation street!
2019-02-16 13:23:17 -05:00
mid-kid 7d6befa181 Fix issues in review 2019-02-16 19:08:34 +01:00
Rangi af29f1f97c Eliminate some $xxxx values 2019-02-16 13:04:08 -05:00
mid-kid 80ece33e3e Document wBattleAnimFlags
`anim_clearsprites` was misnamed, so I renamed it to `anim_keepsprites`,
and documented it in docs/battle_anim_commands.md
2019-02-16 12:55:40 +01:00
mid-kid 7e93916c8a Add more constants for battle anim structs
Any access of the wram arrays for battle anim objects and background
effects use appropriate macros and constants, now.
2019-02-16 01:43:12 +01:00
mid-kid ee86b36766 wNumActiveBattleAnims → wLastAnimObjectIndex
This variable never decrements, it only increments to give each battle
animation a different, and incremental "index".
2019-02-15 17:21:51 +01:00
mid-kid 4154f191e0 Anotate more of the battle anim subsystem
The X and Y flip flags can be applied through the stack consisting of:
- Object attributes
- Animation frame attributes
- OAM Data
Each of these negate eachother.

Confused yet? The same stack is traversed to obtain the final tile ID,
with an added layer on top for the base GFX offset and the offset for
the dynamically loaded GFX requested by the object!

wBattleAnimDelay is populated with the values passed to `anim_wait`.
2019-02-15 03:01:59 +01:00
mid-kid ffeae953ea Document all possible values for ReinitBattleAnimFrameset
This is useful to know where a certain frameset is used, through `grep`
2019-02-06 10:16:40 +01:00
mid-kid bfedd89308 BATTLEANIMSTRUCT_0B -> BATTLEANIMSTRUCT_PARAM
This structure member is used for storing the parameter passed to
`anim_obj`.
2019-02-06 08:12:52 +01:00
mid-kid 930d285fab Fix comments around BANK() statements
Found a couple BANK()s that reference multiple labels.
2018-12-26 21:58:13 +01:00
mid-kid c4979d9770 Rename "feet and head follow" commands
The lot of these were rather misnamed, since they're used to replace
part of the player or enemy with objects for several background effects.
https://github.com/pret/pokecrystal/pull/578#issuecomment-440996244
2018-11-25 23:57:38 +01:00
mid-kid 41f39211ca Identified another user of wBattleAnimTemp
QueueBattleAnimation loads an object using these wram addresses. Usually
populated by the anim_obj command, but in a couple of cases also
manually.
2018-11-22 12:32:24 +01:00
mid-kid 2746288030 Define ANIM_GFX for PLAYER and ENEMY
These are used where the head or the feet of the player/enemy have to be
moved in an animation, and shouldn't overlap. These aren't actual GFX
and should be loaded with the proper commands, and they're always loaded
at the end of the VRAM area.

Furthermore, I've defined BATTLEANIM_BASE_TILE, which is the tile from
which battle animation graphics may start to load. This value was picked
to make sure at least an entire pokemon pic fits in the area before it,
even though it doesn't seem very used...
2018-11-21 23:44:31 +01:00
Rangi 3241c9cfaa Use 0/1/2/3 for palettes, and rgbds opt feature for battle transition graphic 2018-09-09 18:15:54 -04:00