Commit Graph

108 Commits

Author SHA1 Message Date
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
Rangi
a71901020b These are signed offsets, not addresses (thanks, PikalaxALT) 2018-08-25 14:43:02 -04:00
Rangi
7aa1c1f388 Remove HRAM label address comments 2018-08-25 14:39:24 -04:00
Rangi
1c0fff7668 hLabel - $ff00 -> LOW(hLabel) 2018-08-25 14:34:25 -04:00
Rangi
eb1e3636bb Use labels instead of constants for HRAM
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
2018-08-25 14:28:22 -04:00
mid-kid
04d0490c4c Fix anim_ret_command 2018-07-18 10:55:30 +02:00
Rangi
1caa50a647 No space between labels and bodies 2018-06-25 12:24:18 -04:00
Rangi
5693cc49cf Single newline at the end of files 2018-06-25 12:07:35 -04:00
Rangi
67d1364c7a Fix triple newlines left over from removing address comments 2018-06-24 23:22:50 -04:00
mid-kid
1d9a68dbdd Remove all address comments 2018-06-24 16:13:22 +02:00
Rangi
fbe82a7fe0 Note which labels are only needed for locating banks (relevant to issue #485) 2018-06-12 23:29:15 -04:00
mid-kid
80d437d565 Fix some uses of EFFECTIVE 2018-04-05 07:54:20 +02:00
mid-kid
d3cc861d33 Fix snake_case filenames
Renamed a bunch of files, most of them one-off functions, to better fit
the general snake_case naming scheme. Also renamed some awfully long filenames.
2018-04-04 22:26:07 +02:00
mid-kid
81fff9bb80 Fix file permissions
I have no idea why this was a thing (do people store this repo on FAT32
flash drives or something?), but quite a bit of files had a permission
of 755. This isn't really a problem, but it's inconsistent and weird.
2018-04-01 17:05:10 +02:00
Rangi
73ea7c6326 Macro factors out sine code, just like sine data, since it's used 5 times 2018-02-03 21:11:55 -05:00
Rangi
271aa20b73 Keep documentation in sync with new WRAM labels 2018-02-03 20:40:21 -05:00
Rangi
32ed487a47 Merge branch 'master' of https://github.com/pret/pokecrystal
# Conflicts:
#	audio/engine.asm
#	constants/gfx_constants.asm
#	constants/map_data_constants.asm
#	constants/pokemon_data_constants.asm
#	constants/sprite_constants.asm
#	constants/wram_constants.asm
#	data/maps/data.asm
#	engine/battle/ai/scoring.asm
#	engine/battle/core.asm
#	engine/battle/effect_commands.asm
#	engine/battle/misc.asm
#	engine/battle_anims/getpokeballwobble.asm
#	engine/breeding.asm
#	engine/buy_sell_toss.asm
#	engine/decorations.asm
#	engine/events/battle_tower/battle_tower.asm
#	engine/events/battle_tower/rules.asm
#	engine/events/buena.asm
#	engine/events/bug_contest/contest_2.asm
#	engine/events/daycare.asm
#	engine/events/dratini.asm
#	engine/events/halloffame.asm
#	engine/events/happiness_egg.asm
#	engine/events/kurt.asm
#	engine/events/lucky_number.asm
#	engine/events/magnet_train.asm
#	engine/events/overworld.asm
#	engine/events/pokerus/pokerus.asm
#	engine/events/print_unown.asm
#	engine/events/print_unown_2.asm
#	engine/events/unown_walls.asm
#	engine/item_effects.asm
#	engine/link.asm
#	engine/mon_menu.asm
#	engine/player_object.asm
#	engine/routines/playslowcry.asm
#	engine/scripting.asm
#	engine/search.asm
#	engine/search2.asm
#	engine/specials.asm
#	engine/start_menu.asm
#	engine/timeset.asm
#	home/battle_vars.asm
#	home/map.asm
#	maps/GoldenrodUndergroundSwitchRoomEntrances.asm
#	maps/IlexForest.asm
#	maps/KrissHouse2F.asm
#	maps/Route39Barn.asm
#	mobile/mobile_12_2.asm
#	mobile/mobile_40.asm
#	mobile/mobile_5f.asm
#	wram.asm
2018-02-03 19:42:56 -05:00
Rangi
e32e5212af use "x + -1" not "x +- 1"
(TODO: use "x - 1" once rgbds allows it)
2018-02-02 22:55:38 -05:00
Rangi
45373ec601 sine_wave macro parameterizes table size, not frequency ("amplitude" was an incorrect comment) 2018-02-02 22:45:42 -05:00
luckytyphlosion
4a3384ab09 wSpritesEnd -> wVirtualOAMEnd. 2018-01-30 14:55:20 -05:00
luckytyphlosion
0b45e2e846 Fix wVirtualOAM labels, part 2. 2018-01-30 14:52:46 -05:00
luckytyphlosion
3c7ba37de7 Fix wVirtualOAM labels, part 1. 2018-01-30 14:47:14 -05:00
Rangi
87514598be More battle data in data/battle/ 2018-01-25 21:34:42 -05:00
luckytyphlosion
a1951cefc0 Prefix wram labels with w, part 2. 2018-01-23 17:39:09 -05:00
luckytyphlosion
f2ae74079f Prefix wram labels with w, part 1.
Handle edge cases first.
2018-01-23 16:45:34 -05:00
Remy Oukaour
6d20cf3e80 "CryHeader" → "Cry"; "Cry" → "MonCry" 2018-01-16 23:47:45 -05:00
Remy Oukaour
7b3de85a06 Avoid "+- 1" at every maskbits 2018-01-16 17:27:50 -05:00
Remy Oukaour
8048082114 Remove Predef_ prefix from routines listed in PredefPointers 2018-01-16 14:39:28 -05:00
Remy Oukaour
dfcca93b45 Merge branch 'dev' of https://github.com/TheMostCuriousThing/pokecrystal (resolve PR #460)
# Conflicts:
#	engine/battle/core.asm
#	engine/save.asm
2018-01-14 23:00:22 -05:00
Remy Oukaour
5c28d05bb4 Merge branch 'master' of https://github.com/xCrystal/pokecrystal (resolve PR #459)
# Conflicts:
#	data/items/descriptions.asm
#	data/sprite_anims/framesets.asm
#	engine/crystal_colors.asm
#	engine/events/kurt.asm
#	engine/events/special.asm
#	engine/events/std_scripts.asm
#	engine/events_3.asm
#	engine/item_effects.asm
#	engine/namingscreen.asm
#	engine/scripting.asm
#	engine/stats_screen.asm
#	engine/trade_animation.asm
#	home/audio.asm
#	main.asm
#	maps/BattleTower1F.asm
#	maps/BattleTowerBattleRoom.asm
#	maps/BurnedTowerB1F.asm
#	maps/ElmsLab.asm
#	maps/GoldenrodDeptStore5F.asm
#	maps/GoldenrodUnderground.asm
#	maps/HallOfFame.asm
#	maps/MahoganyTown.asm
#	maps/ManiasHouse.asm
#	maps/MobileBattleRoom.asm
#	maps/MobileTradeRoomMobile.asm
#	maps/RadioTower2F.asm
#	maps/Route35NationalParkGate.asm
#	maps/Route36NationalParkGate.asm
#	maps/Route39Farmhouse.asm
#	tilesets/palette_maps.asm
2018-01-14 22:56:36 -05:00
Remy Oukaour
7a09fc9f75 GFX tile sizes in decimal 2018-01-14 19:43:35 -05:00
Remy Oukaour
960783cdf4 Label more ANIM_OBJ_* constants 2018-01-12 13:47:04 -05:00
Remy Oukaour
94d6a32721 Use maskbits some more 2018-01-11 14:27:19 -05:00
Remy Oukaour
417937cffc Resolve #461 2018-01-10 13:47:57 -05:00
Remy Oukaour
11556196ba Consistent sine wave code formatting 2018-01-09 16:39:36 -05:00
Adelaide Walter
6c5cd7a963 Simplify comments per Rangi's rec. 2018-01-08 23:07:46 -05:00
Adelaide Walter
ce985a09a7 Document switches to BANK(sScratch) via xor a 2018-01-04 16:51:50 -05:00
Adelaide Walter
9d0ba6bfd3 Use BANK for hardcoded WRAM banks (except where bankswitches appear unnecessary). 2018-01-03 19:12:45 -05:00
Adelaide Walter
0caea0f820 Use BANK for all hardcoded banks with BANK in comments. 2018-01-02 16:46:40 -05:00
xCrystal
b4e087167f More unreferenced labels and unused text 2018-01-02 19:38:56 +01:00
xCrystal
d7970f749a Consistent predef function names 2018-01-02 18:49:25 +01:00
xCrystal
37369d1ae0 Rename Pals labels in WRAM bank 5 2018-01-01 20:09:53 +01:00
xCrystal
6e12a51503 Use more palette(s) constants 2018-01-01 20:09:53 +01:00
xCrystal
ee5bf71640 Consistently name unknown fields in macros/wram as Fieldxx 2017-12-29 16:19:51 +01:00
xCrystal
def3b60493 Clean up .Jumptable: spaces 2017-12-29 13:52:42 +01:00
xCrystal
50fc9c3389 endm -> ENDM 2017-12-28 22:31:16 +01:00
xCrystal
333524f0be Lowercase v for VRAM addresses 2017-12-28 13:32:33 +01:00
Remy Oukaour
9bc680bd6d Battle animation data is like sprite animation data 2017-12-26 19:27:56 -05:00
Remy Oukaour
35a3a19fda Use "battle_anims" and "sprite_anims" for clarity, not just "anims" 2017-12-26 18:45:04 -05:00