Commit Graph

746 Commits

Author SHA1 Message Date
Rangi
5037adc55f Clean up some macro definitions 2021-03-21 20:09:34 -04:00
Rangi
90ce126139 Use numeric constants in text strings with "{d:interpolation}" 2021-03-21 18:14:31 -04:00
Rangi
0506e5b1b9 Assert the sBox1-14 tables have NUM_BOXES entries 2021-03-21 17:47:53 -04:00
Rangi
4522162d45 Consistent labels for each nickname in RAM 2021-03-17 16:38:21 -04:00
Rangi
6c8f8609cb Assert some more table widths 2021-03-17 11:38:01 -04:00
Rangi
3684296583 Revise some constant definitions 2021-03-16 18:06:18 -04:00
Rangi
dbabd8b4a9 Define MAPGROUP_* constants and verify MapGroup_* table sizes 2021-03-10 21:16:54 -05:00
Rangi
71073a5f3b Verify RAM table lengths 2021-03-09 20:43:24 -05:00
Rangi
98da09b3e9 Define more struct offset constants with rsreset instead of const_def
This was discussed in #739
2021-03-04 18:15:38 -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
0e818f8b8b Define SCENE_ALWAYS EQU -1 for coord_events 2021-03-01 21:11:58 -05:00
Rangi
a539578006
Merge pull request #798 from CelestialAmber/master
Fix typo
2021-02-05 09:45:18 -08:00
Fredrik Ljungdahl
8f4dcbcb59 Battle Tower: fix typo in constant (PROGESS -> PROGRESS) 2021-02-04 12:42:56 +01:00
Amber Brault
b391b6cef0 Fix typo 2021-01-21 11:01:53 -05:00
Rangi
6f226f584c Identify link.asm WRAM labels based on ax6's research notes <https://pastebin.com/NTxjzKGQ> 2020-12-08 21:24:48 -05:00
Rangi
9fea403be2 grey -> gray 2020-12-08 14:34:54 -05:00
Neil Basu
900dc1b41b document unused male grunts 2020-11-27 13:36:53 -08:00
Rangi
4613bcfadf Use STRING_BUFFER_LENGTH for the wStringBuffers 2020-11-24 20:11:17 -05:00
Rangi
9b3c45b14d Resolve some "???" comments 2020-11-17 11:09:02 -05:00
Rangi
6a5edc98e9 Terser damage calculation constants 2020-11-09 16:12:19 -05:00
Rangi
03e149e559 Identify wBattleAnimTemp0-3 2020-11-09 15:05:14 -05:00
Rangi
62b756c46e Rename "dummy game" to "memory game" 2020-11-08 19:32:57 -05:00
Rangi
826e070f04 More syncing with pokegold 2020-11-03 10:13:06 -05:00
Rangi
9ab9088a9f Identify wLinkBattleRNPreamble 2020-11-01 13:42: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
1237156948 Identify mobile Name Card exchange labels 2020-10-30 10:45:31 -04:00
Rangi
ba5bc304f9 Updates to more closely sync with pokegold 2020-10-29 23:23:57 -04:00
Rangi
7883e8f431 Define SERIAL_LINK_BYTE_TIMEOUT 2020-10-29 16:43:28 -04:00
Rangi
ea426a8879 Identify more WRAM labels, and start a <X>_DummyFunction label convention 2020-10-28 14:34:38 -04:00
Rangi
446f1846b1 Identify remaining Mystery Gift labels and constants
Source: https://projectpokemon.org/home/forums/topic/43930-mystery-gift-reverse-engineering-of-ir-protocol/
2020-10-27 23:09:06 -04:00
Rangi
2738858985 Create data/collision/ for tile collision-related data 2020-10-27 10:00:56 -04:00
Rangi
9dcdad5e60 Comment, remove, or revise many unreferenced labels 2020-10-26 20:29:58 -04:00
Rangi
bd3f634049 Identify remaining map object labels 2020-10-22 21:30:21 -04:00
Rangi
d8310c166d Identify some more map object labels and constants 2020-10-22 17:41:48 -04:00
Rangi
650686476c Identify remaining battle AI labels 2020-10-21 21:34:18 -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
7Soul
836da09f4e
Identify anim object constants (#772)
Identify anim object constants
2020-10-04 15:06:38 -04:00
7Soul
2ffc5f907f
Identify battle animation functions (#771)
Identify battle animation functions
2020-10-03 21:54:02 -04:00
Rangi
4246553f9d Fix whitespace alignment of comments 2020-09-27 12:31:07 -04:00
mid-kid
353f78f493 GS_INTRO_STAR/SPARKLE -> GS_GAMEFREAK_LOGO_STAR/SPARKLE
These two sprite animations are related to the Game Freak Logo splash
screen, not the actual intro.
2020-08-27 15:13:41 +02: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
Rangi
7729dcd204 Consistent constants for radio data table sizes (could still be better) 2020-08-13 13:47:50 -04:00
Rangi
ed3e70b97c Identify some time-related data 2020-08-11 14:12:59 -04:00
Rangi
dd369f3199 Move EngineFlags and SpecialsPointers into data/engine/ 2020-07-22 20:24:53 -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
d96f914315 Define JOHTO_FLYPOINT like KANTO_FLYPOINT 2020-07-21 12:15:14 -04:00
Rangi
a9941e28cc Define NUM_FLYPOINTS 2020-07-21 11:48:39 -04:00
Rangi
59d9932255 SPRITE_GYM_GUY -> SPRITE_GYM_GUIDE 2020-07-17 13:01:48 -04:00
Rangi
eca33ef190 Define map setup commands as macros like other script commands 2020-07-13 20:44:16 -04:00
Rangi
e239aa4aba Disassemble the final English debug ROM 2020-07-13 15:18:28 -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
43a9295789 add_tm, add_hm, and add_mt define TM##_MOVE, HM##_MOVE, and MT##_MOVE constants, to avoid repeating the move names in tmhm_moves.asm 2020-07-06 16:53:05 -04:00
Rangi
ddf1163a21 Define SERIAL_PREAMBLE_LENGTH 2020-07-06 15:49:01 -04:00
Rangi
7eef66af3f Use MAX_NEUTRAL_DAMAGE in BattleCommand_DamageCalc
Also make .gitignore consistent with pokered
2020-07-05 15:12:53 -04:00
Rangi
f5ac9b0eb7 SCGB_PARTY_MENU_HP_PALS -> SCGB_PARTY_MENU_HP_BARS, and SCGB_RAM -> SCGB_DEFAULT 2020-07-04 16:18:16 -04:00
Rangi
f2efda1f68 Identify more unnamed labels 2020-06-29 12:25:58 -04:00
Rangi
c3c18dd196 Comment more ROM labels as unreferenced
(Some unreferenced labels are above code which is still used via fallthrough!)
2020-06-21 18:33:31 -04:00
Rangi
98af69691d Remove some more raw addresses 2020-06-21 12:21:47 -04:00
Rangi
9433b5a752 Remove RAM address comments 2020-06-20 23:03:40 -04:00
Rangi
50e182e831 Harmonize engine/overworld with pokegold 2020-06-17 22:12:04 -04:00
Rangi
7b2515d1e4 [in progress] Harmonize more constant and data files with pokegold 2020-06-16 14:32:57 -04:00
Rangi
b9f2b93c17 Harmonize some more symbols with pokegold 2020-06-16 11:28:52 -04:00
Rangi
75035a71a5 Label some mobile addresses, and revise some comments 2020-06-13 18:48:26 -04:00
Rangi
518cee440e Resolve #723: treat std scripts like specials and predefs 2020-06-10 16:44:16 -04:00
Rangi
abf3858fc4 Update some comments 2020-05-10 01:20:06 -04:00
Rangi
5f197c53f4 Clean up some percentage values 2020-05-07 14:21:24 -04:00
Rangi
905833ef8c Use a FIRST_UNOWN_CHAR constant for the Unown font 2020-05-06 10:34:51 -04:00
Rangi
20464d1bfb Miscellaneous updates
- `PREDEFPAL_00` -> `PREDEFPAL_ROUTES` (observed from `LoadSGBLayout.GetMapPalsIndex.route`)
- `$0` -> `PLAYER` (standard person ID)
- Fix some whitespace formatting
2020-04-30 11:27:32 -04:00
Rangi
3cdfac7994 Move, comment, and simplify some macro definitions 2020-04-04 15:32:18 -04:00
Rangi
0345e4fb0e Add suffixes to some constants to avoid ambiguity
- `PSYCHIC` → `PSYCHIC_TYPE` (not the trainer `PSYCHIC_T` or the move `PSYCHIC_M`)
- `BLACKBELT` → `BLACKBELT_I` (not the trainer `BLACKBELT_T`)
- `CURSE_T` → `CURSE_TYPE` (not the move `CURSE`)
- `TOWN_MAP_D` → `TOWN_MAP_POSTER` (not the item `TOWN_MAP`)

This also uncovered a misidentified event: `EVENT_DECO_PLANT_4` → `EVENT_DECO_POSTER_1`. (There are three plants and four posters.)
2020-03-21 17:59:26 -04:00
Rangi
6a6ba10315 rgbds supports 'X - 1' instead of 'X + -1' 2020-03-21 14:01:05 -04:00
Rangi
ad50e94b50 Add a LANDMARK_ prefix to landmark constants
Resolves #697
2020-03-15 19:50:39 -04:00
Rangi
65f22544e0 Refactor flypoints to separate const definition from data usage 2020-03-15 14:10:53 -04:00
Rangi
75a537ed1e Fix some comments and whitespace 2020-02-26 08:41:12 -05:00
Rangi
a73ced3b69 unused_dark_cave -> unused_johto (goes with the beta Johto town+city maps) 2020-02-25 19:18:24 -05:00
Rangi
88bbdb6a2f Define TileCollisionTable as a standard 'db' series 2020-02-13 19:07:19 -05:00
Rangi
fb9cbe7d1e
Merge pull request #650 from pret/audio-macros
Update audio macros and arguments
2020-02-05 18:51:20 -05:00
Rangi
24a23b1922 Use CMDQUEUE constants 2020-02-04 11:11:43 -05:00
Rangi
d482dc28f4 Identify four padding bytes in base data as beta front/back pic pointers 2020-02-04 11:07:16 -05:00
dannye
e7be25948d Merge branch 'master' into audio-macros 2020-01-06 22:07:33 -06:00
mid-kid
739a60b33c Make the map setup commands match the actual function names better
These functions used as map setup commands are used in other places,
too, so I can't prefix them under the same. The names should match
except I won't repeat "map" in a map setup command name.
2019-11-18 18:21:57 +01:00
mid-kid
77803f571f Fix some constants around wLinkMode 2019-11-18 18:21:57 +01:00
Rangi
4d32035d4f Bit 6 of PrintNum left-aligns numbers 2019-11-03 20:17:04 -05:00
Rangi
717cf3f458 Identify PLAYERMOVEMENT_* constants 2019-11-03 14:30:33 -05:00
Rangi
5134266b9a Rename OBJECT_LENGTH to MAPOBJECT_LENGTH and OBJECT_STRUCT_LENGTH to OBJECT_LENGTH 2019-11-03 12:26:38 -05:00
Rangi
01f68fcc6a Rename TILESET_BATTLE_TOWER to TILESET_BATTLE_TOWER_INSIDE 2019-11-03 12:03:37 -05:00
mid-kid
86061d37d2 More mobile SDK documentation
Labelled WRAM addresses, added constants for mobile commands, fixed some
mobile lib function names, documented most of the functions for specific
commands.
2019-10-21 00:42:36 +02:00
mid-kid
1f172badc4 Misc fixes 2019-10-21 00:31:50 +02:00
Ryan Tandy
3fc2ba41f7 Clarify naming of SFX_GET_EGG_* pointers
In game, one receives eggs from the Aide and the Day-care Man, not the
Day-care Lady. SFX `0x96` is used for both. Rename it to reflect it is
not unique to the Day-care.

SFX `0x95` is an alias of the same sound and appears to be unused.
Rename the pointer to clarify that.
2019-09-23 10:03:19 -07: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
c048b24d25 Create constants for ScrollingMenu item formats
...I should've done this quite a while ago.
2019-06-09 02:31:24 +02: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
13cfe356d6 Fix usage of rIE and rSC constants 2019-05-25 17:59:50 +02:00
Rangi
b24cd55f96 Correct the older+younger haircut brothers' labels and constants 2019-05-18 13:27:32 -04:00
Rangi
7890fae995 Some more GB Printer documentation 2019-05-11 13:01:59 -04:00
mid-kid
3e78e5b2b6 TextBox -> Textbox
Homogenizing names.
2019-04-09 16:09:18 +02:00
Rangi
2184b60a0c Identify and eliminate wEngineBuffer1-5 2019-04-08 19:42:55 -04:00
Rangi
e002b536af Rename more script commands for consistency and predictability
Fixes #540
2019-03-10 16:00:19 -04:00
Rangi
d46685be86 Correct comments 2019-03-03 17:13:24 -05:00
Rangi
79dc22c769 Define constants for map event sizes 2019-03-03 14:19:16 -05:00
Rangi
dc396822d7 Identify more collision-related constants and data 2019-03-03 13:30:27 -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
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
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
Rangi
9ecc991814
Merge pull request #593 from mid-kid/temp
More patches
2019-01-24 21:42:44 -05:00
Rangi
79ea091ff6 Use and define more WRAM constants 2019-01-24 21:41:14 -05:00
Rangi
68d4a53483 Use more constants 2019-01-24 21:15:30 -05:00
mid-kid
5f60cc24cf Fix some constants
Glass ting SFX were added in crystal.
PicAnimations and UnownAnimations are expected to be in the same bank as
their pointers, because the pointers are not BANK()-referenced
separately.
2019-01-15 13:06:16 +01:00
Rangi
b975f3e068 Clean up some Odd Egg and Battle Tower code and data
Fixes #589
2019-01-02 19:04:50 -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
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
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
81b147609c Apply SPRITE_GFX_LIST_CAPACITY to wUsedSprites 2018-10-27 20:21:00 -04:00
Rangi
31ec3365e9 NUM_OBJECTS EQU $10 → 16 2018-10-23 18:29:14 -04:00
Rangi
3b20a18200 Identify BATTLEACTION_D and _E (thanks, ax6) 2018-10-21 00:52:10 -04:00
IIMarckus
603524b489 This event isn't Crystal-exclusive. 2018-10-03 00:53:04 -06:00
Rangi
2e7e5ca67b PREDEFPAL_4D -> PREDEFPAL_GAMEFREAK_LOGO_OB 2018-09-22 13:40:37 -04:00
Rangi
38bf21ae35 Naming screen constants 2018-09-22 12:39:17 -04:00
Rangi
60b09f291d Merge branch 'master' of https://github.com/pret/pokecrystal 2018-09-16 13:42:17 -04:00
Rangi
03cb8c53f1 Identify some Spaceworld beta content 2018-09-16 13:40:47 -04:00
mid-kid
3540b2a2d6 wMonStatusFlags -> wDebugFlags 2018-09-16 02:15:55 +02:00
Rangi
ae022e1420 Curr -> Cur 2018-09-09 15:09:51 -04:00
Rangi
39faa7a9f6 Update file paths in comments 2018-08-19 13:33:35 -04:00
mid-kid
f98a95b8ee wWeeklyFlags -> wDailyFlags2
These are by far not always checked each week, and as such shouldn't be
called that.
Since they're almost always used through the `bit` instruction, it's
very inconvenient to just make wDailyFlags a `dw` instead.
2018-08-07 09:46:21 +02:00
Rangi
9dec80b07e Add meaningful aliases for wd265
Introduce MONICON_* constants
Introduce BATTLEPLAYERACTION_* constants
2018-07-29 00:25:52 -04:00
Rangi
9a1ae1332c Correct NUM_STATS 2018-07-24 22:54:15 -04:00
Rangi
bdde60c64b ANIM_MON_UNUSED → ANIM_MON_HOF 2018-07-22 23:42:50 -04:00
mid-kid
23708441ef Make proper cmdqueue constants 2018-07-18 10:55:30 +02:00
Rangi
a70624adfb Correct wTradeFlags length 2018-07-13 17:18:19 -04:00
Rangi
874bc5ebd5 SFX_UNKNOWN_7F → SFX_TOXIC 2018-07-12 12:25:17 -04:00
Rangi
187e30cac8 Replace more hex values with constants or decimal 2018-07-11 15:40:09 -04:00
Rangi
90b22d602f Use more options constants 2018-07-10 17:18:23 -04:00
Rangi
d3e942a8fe More LCDC bit constants 2018-07-05 22:00:13 -04:00
Rangi
e2cf3eb7bd Add more collision nybble constants 2018-06-28 22:35:29 -04:00
Rangi
67d1364c7a Fix triple newlines left over from removing address comments 2018-06-24 23:22:50 -04:00
Rangi
5a58f90ec6 FISHGROUP_DATA_LENGTH 2018-06-24 11:46:55 -04:00
Rangi
e36a505906 Separate Mart constants from item data constants 2018-06-23 22:24:46 -04:00
mid-kid
aecb33f104 Alignment 2018-06-04 18:32:57 +02:00
mid-kid
e8f847b537 Use structure constants for channel_struct 2018-06-04 11:35:27 +02:00
Rangi
4df72a8474 SGB palette roles discovered from Spaceworld beta G/S 2018-06-01 02:11:44 -04:00
Rangi
1840af8b4f Identify more sprite move data flag bits 2018-05-23 22:01:21 -04:00
Rangi
85f7328bf8 Identify USE_OBP1_F 2018-05-23 20:44:32 -04:00
Rangi
50ea6d6e22 WALKS_ON_WATER → SWIMMING 2018-05-23 19:10:15 -04:00
Rangi
c85b32ed80 More sprite movement data flag constants 2018-05-23 19:06:04 -04:00