Commit Graph

347 Commits

Author SHA1 Message Date
Rangi
ef20126fe5 Verify wild data sizes with def_grass/water_wildmons and end_grass/water_wildmons macros 2021-03-04 17:58:30 -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
99e66c2557 Rename some labels
- Remove "Buffer" suffix from some byte and word quantities
- Change "Ptr" to "Pointer"

Fixes #789
2020-12-23 16:29:30 -05:00
Rangi
e485280a8a Require rgbds 0.4.2
This allows [\1] to work when \1 is hl, bc, or de

The object file format has changed along with the version number
2020-12-09 12:21:46 -05:00
Rangi
03e149e559 Identify wBattleAnimTemp0-3 2020-11-09 15:05:14 -05:00
Rangi
ba5bc304f9 Updates to more closely sync with pokegold 2020-10-29 23:23:57 -04:00
Rangi
c85ba78b77 Use more assertions to ensure correct code and data 2020-10-26 22:24:38 -04:00
Rangi
ae4fe08084 Identify some more labels (a few link-related) 2020-10-22 00:53:54 -04:00
mid-kid
d39da49501 Modify macros/wram.asm to match recent renames 2020-08-27 13:59:33 +02:00
mid-kid
6f30d79620 TX_NUM -> TX_DECIMAL 2020-08-03 23:35:18 +02:00
Rangi
dcb24bc724 Use def_* macros for automatic map event counts
Resolves #742
2020-07-24 09:57:16 -04:00
Rangi
11dc805de0 Revert "Factor out tables into data/overworld/"
This reverts commit b5a7e7de3e.
2020-07-22 20:21:26 -04:00
Rangi
b5a7e7de3e Factor out tables into data/overworld/
Fixes #749
2020-07-22 15:22:58 -04:00
Rangi
212846af57 Treat map setup commands like trade script commands
Fixes #736
2020-07-22 13:37:43 -04:00
Rangi
de073374a6 Port pokered's more local system for trade animation scripts
Also factor out trade tilemaps
2020-07-17 16:53:22 -04:00
Rangi
ef452ccbc7 return → endcallback, reloadandreturn → reloadend 2020-07-17 08:37:03 -04:00
Rangi
eca33ef190 Define map setup commands as macros like other script commands 2020-07-13 20:44:16 -04:00
Rangi
c086de0c98 Use const_skip and const_next macros for brevity 2020-07-10 20:03:46 -04:00
Rangi
6ca82e5c86 Eliminate enum: use const instead, with case-by-case parallel const implementations 2020-07-08 15:30:23 -04:00
Rangi
b3bd682366 text_linkpromptbutton -> text_waitbutton
Removes support for text_waitbutton as a legacy alias for text_promptbutton.
2020-07-06 12:55:31 -04:00
Rangi
26d764de5d Use STRCMP, not ==, to compare multi-character strings 2020-07-02 11:46:30 -04:00
Rangi
fce6243b43 Identify more labels, and use the jumptable macro when possible 2020-07-01 13:13:49 -04:00
Rangi
f2efda1f68 Identify more unnamed labels 2020-06-29 12:25:58 -04:00
Rangi
98af69691d Remove some more raw addresses 2020-06-21 12:21:47 -04:00
Rangi
cbd43001ce sound_duty became duty_cycle_pattern 2020-06-19 22:25:19 -04:00
Rangi
c552390a15 Harmonize home/ with pokegold 2020-06-16 15:49:32 -04:00
Rangi
b9f2b93c17 Harmonize some more symbols with pokegold 2020-06-16 11:28:52 -04:00
Rangi
9ab2575727 predef_id -> lda_predef, for consistency with lda_coord and map_id 2020-06-10 17:08:43 -04:00
Rangi
518cee440e Resolve #723: treat std scripts like specials and predefs 2020-06-10 16:44:16 -04:00
Rangi
4111725767 wPhoneList, like wItems et al, has a terminating 0 (see PokegearPhone_DeletePhoneNumber); also fix a comment 2020-06-07 16:50:12 -04:00
Rangi
5f197c53f4 Clean up some percentage values 2020-05-07 14:21:24 -04:00
Rangi
b50dd57cbb Miscellaneous updates and corrections 2020-04-23 16:14:50 -04:00
Rangi
0ef004a4db dsprite y, ypx, x, xpx, off, attr -> dbsprite x, y, xpx, ypx, off, attr 2020-04-04 16:00:30 -04:00
Rangi
3cdfac7994 Move, comment, and simplify some macro definitions 2020-04-04 15:32:18 -04:00
Rangi
0ee9d7a48b Upgrade to rgbds 0.4.0
- fail for rgbds < 0.4.0
- `rst <Label>`
- `ds <count>, <byte>`
- `shift <N>`
- ASCII "\r"
- Sorted .sym file
2020-04-04 15:15:02 -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
mid-kid
26b8bf003e Standardize on lowercase Tilemap and Attrmap
We used to have a mixture of TileMap and and Tilemap, as well as the
similar AttrMap. Standardize on one.
2020-02-13 18:31:10 +01:00
dannye
e7be25948d Merge branch 'master' into audio-macros 2020-01-06 22:07:33 -06:00
dannye
99d16d616d Update docs/music_commands.md
and remove the pokered compatibility macros
2020-01-05 15:41:55 -06:00
Rangi
4aeab6b879 Rename buttonsound to promptbutton 2019-11-03 12:48:54 -05:00
dannye
331ed51264 stereo_panning: force any non-zero arg to 1 2019-09-08 12:09:43 -05:00
dannye
9d4dd09b86 Add legacy audio macros 2019-09-04 00:17:10 -05:00
dannye
5fd3e591df Use TRUE/FALSE constants for stereo_panning
and use dn instead of db for volume envelope and pitch sweep
2019-09-03 22:55:51 -05:00
dannye
e058393487 Rename dnote to drum_note and dspeed to drum_speed 2019-09-03 22:36:32 -05:00
dannye
fc051f2130 Update audio macros and arguments
and update related labels/constants/comments
this fixes a lot of mistakes and maximizes compatibility with red
2019-09-02 03:41:25 -05:00
mid-kid
476f9ba40d Define appropriate constants as EQU
These constants are defined only once and shouldn't be redefined anyway.
2019-05-25 17:59:50 +02:00
mid-kid
649c8d38da Get rid of _CRYSTAL
Having this here is completely redundant and useless, and doesn't even
work since it should use `if DEF(_CRYSTAL)` instead.
2019-05-25 17:59:50 +02:00
Rangi
745339014c "object_const_def" instead of "const_def 2" 2019-04-21 17:42:25 -04:00
Rangi
45e3f6aca9 Identify some more WRAM labels 2019-04-19 11:35:27 -04:00
mid-kid
3e78e5b2b6 TextBox -> Textbox
Homogenizing names.
2019-04-09 16:09:18 +02:00
Rangi
f5c9958aea Rename some call/jump script commands to avoid confusion with jr/jp asm instructions
Fixes #580
2019-03-10 16:39:31 -04:00
Rangi
e002b536af Rename more script commands for consistency and predictability
Fixes #540
2019-03-10 16:00:19 -04:00
Rangi
79dc22c769 Define constants for map event sizes 2019-03-03 14:19:16 -05:00
Rangi
e51c64e167 Don't use legacy macros 2019-02-17 13:31:28 -05:00
Rangi
2449a17add dba exists, use it 2019-02-16 16:09:31 -05:00
Rangi
8e359978d6 passtoengine -> autoinput 2019-02-16 16:06:11 -05:00
mid-kid
7d6befa181 Fix issues in review 2019-02-16 19:08:34 +01: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
469c51d086 dorepeat -> dowait for oam animations
Having the pic animation macros be the same as the oam animation macros
isn't really turning out so well... I wonder if we should split them up
eventually.
2019-02-15 02:54:35 +01:00
Rangi
4b4c53c7ae Format music macros like movement macros 2018-12-09 17:56:13 -05:00
Rangi
e025ab9db0
Merge pull request #578 from mid-kid/master
Fixes in the animation subsystem.
2018-12-09 17:44:09 -05: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
32833adef3 Use ANIM_GFX constants for battle animations 2018-11-21 22:35:36 +01:00
mid-kid
725cee7371 Define first_music_cmd
This replaces the uses of $d0 in the audio engine with proper constants.
2018-11-21 12:12:22 +01:00
mid-kid
4e3ed078f9 Cosmetic fixes 2018-11-20 21:53:45 +01:00
Rangi
3202c4f3df Resolve issue #575: Rename text commands 2018-11-18 12:41:11 -05:00
Rangi
ffd2b70902
Merge pull request #573 from mid-kid/master
text_jump → text_far
2018-11-11 17:07:17 -05:00
mid-kid
056cd5e871 Clarify LEGACY support 2018-11-11 00:44:07 +01:00
mid-kid
940256569b text_jump → text_far
The previous name for this was rather misleading. It isn't an actual
jump like you'd expect the `jp` instruction to behave as. Instead, it
behaves more like a `farcall`.
This also makes it consistent with its current command ID name of
`TX_FAR`.
2018-11-05 22:26:18 +01:00
mid-kid
e68713d20e Stop using __enum__ + 3
Abuse __enumdir__ instead, for better readability.
2018-10-11 11:39:09 +02:00
Rangi
f9cf53ecba Use existing bigdw macro 2018-09-09 18:25:43 -04:00
Rangi
36b21b39d8 Fix #537: Palettes generated from PNGs use .gbcpal directly.
This avoids overwriting a .pal file from a .png with the same name.
It also prevents people from trying to edit generated .pal files.
2018-08-31 21:39:17 -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
50da83cb23 CheckDestinyBond -> CheckFaint
Its main function is fainting the opponent and ending the move effect.
Updated the comment accordingly.
2018-08-17 20:16:37 +02:00
mid-kid
595127ba65 anim_ret_command is an index in a table after all
For some reason I thought BattleAnim_Ret was never used, due to how the
battle anim loop would be exited early from. It seems I was wrong.
Removing commands before anim_ret without it being part of the `enum`
seems to break things.
2018-07-28 12:14:04 +02:00
mid-kid
ffa63c51df Clean up TX_ commands
Some of the TX_ commands didn't use the TX_ prefix for their
constants, and the label names were inconsistent. I've chosen to adopt
the `TextCommand_` prefix as opposed to `Text_`, as it has a clear
difference in namespace compared to the possibly-used `Text_` namespace
for actual dialogue text.
2018-07-18 10:55:30 +02:00
mid-kid
04d0490c4c Fix anim_ret_command 2018-07-18 10:55:30 +02:00
Rangi
146fa1be51 Remove extra parentheses 2018-07-08 16:29:46 -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
mid-kid
e8f847b537 Use structure constants for channel_struct 2018-06-04 11:35:27 +02:00
Rangi
32b92ca51c Start improving sprite movement engine (to do: identify bit flags)
Introduce maskbits N[, S]: optionally shift the bitmask
2018-05-23 12:48:14 -04:00
yenatch
53bcd8f46c
Merge pull request #512 from pret/warnings
fix lb/ln and "left shift of negative value" warning
2018-05-11 00:45:12 -04:00
Rangi
8acc8d6e30 Merge branch 'master' of https://github.com/pret/pokecrystal 2018-05-06 22:45:07 -04:00
yenatch
47379235f8 fix lb/ln and "left shift of negative value" warning
fixes #511
2018-05-06 21:35:55 -04:00
Rangi
1c92cb8b48 'rept' is not indented 2018-05-06 12:16:57 -04:00
mid-kid
acdb302035 Fix rest of the givepokeitem/checkpokeitem references 2018-05-06 13:48:04 +02:00
mid-kid
c82deab86f fix-various-little-things
A compilation of suggestions from the discord that don't deserve
separate commits and are not questionable at all™.
2018-05-05 09:19:04 +02:00
Rangi
81306889e3 Merge branch 'master' of https://github.com/pret/pokecrystal 2018-04-04 23:56:40 -04:00
yenatch
f750d4f418
Merge pull request #505 from mid-kid/battlecommands
Battle command fixes
2018-04-04 21:18:15 -04:00
mid-kid
d4025863cf Rename some battle commands
`hittarget` was misleading, as it doesn't actually "hit" the target, it
only plays the animation. As such, I've renamed it to `moveanim`.

`checkfaint` has nothing to do with checking if the user or target has
fainted, instead, it applies wCurDamage onto the target's HP, hitting
the substitute if applicable. I've renamed the command to `applydamage`
and all of its subfunctions accordingly.
2018-04-04 23:27:40 +02:00
mid-kid
800f948914 Label BattleCommand_BeatUpFailText 2018-04-04 22:40:35 +02:00
mid-kid
682ca7e93c Label bidefailtext
This "unknown" battle command is actually used to give the proper fail
message to bide.
2018-04-04 22:40:21 +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
0447ee0cf9 Relabel some map-related WRAM
wMisc -> {wSurroundingTiles, wBoxPartialData, wLink_c608}
wOverworldMap -> {wOverworldMapBlocks, wHallOfFamePokemonList}
2018-03-19 11:36:14 -04:00
Rangi
335c2699f0 Merge branch 'master' of https://github.com/pret/pokecrystal
# Conflicts:
#	constants/map_constants.asm
#	constants/wram_constants.asm
#	data/radio/oaks_pkmn_talk_routes.asm
#	data/radio/pnp_hidden_places.asm
#	engine/battle/core.asm
#	engine/breeding.asm
#	engine/phone/phone_scripts.asm
#	engine/radio.asm
#	maps/BattleTower1F.asm
#	maps/OlivineLighthouse2F.asm
#	maps/OlivineLighthouse6F.asm
#	maps/PokemonFanClub.asm
#	maps/RadioTower1F.asm
#	maps/RadioTower2F.asm
#	maps/Route30BerryHouse.asm
#	maps/Route34IlexForestGate.asm
#	maps/Route36NationalParkGate.asm
#	maps/RuinsOfAlphKabutoChamber.asm
#	maps/RuinsOfAlphResearchCenter.asm
#	maps/VermilionPort.asm
#	maps/VictoryRoad.asm
2018-02-25 20:39:54 -05:00
Rangi
10173f2a62 Default macro parameters use recursion; avoids repeating internal structure 2018-02-25 20:12:58 -05:00
Rangi
f964d04a87 * loadmenuheader -> loadmenu (ead103d)
* objectface -> turnobject (c834bda)
2018-02-25 20:05:37 -05:00
mid-kid
e8bc86d1fe Pkmn -> Mon
Since we're aiming for consistency across the codebase, I believe it
includes a uniform way to refer to the creatures this game consists of
in the labels of the code.
The only exceptions to this rule are labels referring to things named
through the use of the <PK><MN> or <PKMN> characters, in which case PKMN
is used.

Most of this was already consistent enough™, I just picked the
convention with the most occurences and fixed the outliers.
2018-02-22 17:39:06 +01:00