Commit Graph

211 Commits

Author SHA1 Message Date
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
417f3c7c72 Bug fix: allow Surfing across map connections 2019-02-16 15:45:55 -05:00
Rangi
df337fc417 Update to rgbds 0.3.8 2019-02-16 12:17:55 -05:00
mid-kid
e288ef20d5 Fix map name frame calculation 2019-01-18 16:17:50 +01:00
mid-kid
a21507f22a Document wSuicuneFrame
Also fixed inmediate in PlaceMapNameFrame.FillTopBottom to calculate the
amount of loops required. (It fills two tiles in the first iteration,
and four in the remaining, hence the `-2` and `+1` part).
2019-01-15 13:08:40 +01: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
1853e3d127 Say "BANK(Foo) ; aka BANK(Bar)" to clarify that Foo and Bar share a bank 2019-01-12 15:17:20 -05:00
Rangi
36ebcdd8fe MON_NAME_LENGTH -> NAME_LENGTH 2019-01-03 07:30:44 -05: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
930d285fab Fix comments around BANK() statements
Found a couple BANK()s that reference multiple labels.
2018-12-26 21:58:13 +01:00
Rangi
0ae5e9b398 Define RANDY_OT_ID 2018-12-23 14:02:07 -05:00
Rangi
f6ecb681d5 Fix issue #581 (random stuff ax6 noticed) 2018-12-23 03:45:41 -05:00
Rangi
3202c4f3df Resolve issue #575: Rename text commands 2018-11-18 12:41:11 -05: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
Rangi
38bf21ae35 Naming screen constants 2018-09-22 12:39:17 -04:00
Rangi
603bcfe2ae wPreviousLandmark → wPrevLandmark 2018-09-09 15:27:23 -04:00
Rangi
ae022e1420 Curr -> Cur 2018-09-09 15:09:51 -04:00
Rangi
557ce82073 hQuotient is a four-byte buffer (fixes #558) 2018-08-26 13:49:38 -04:00
Rangi
b2adcd6d6f Reorganize math-related HRAM union (ffb3) 2018-08-25 21:49:26 -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
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
1d96a79a37 No wCurMove alias for wCurSpecies 2018-07-29 16:04:38 -04:00
Rangi
8aa08addba wLuckyNumberDigitsBuffer 2018-07-29 01:13:25 -04:00
Rangi
9dec80b07e Add meaningful aliases for wd265
Introduce MONICON_* constants
Introduce BATTLEPLAYERACTION_* constants
2018-07-29 00:25:52 -04:00
mid-kid
9aa6b55d7b Merge branch 'master' of https://github.com/pret/pokecrystal 2018-07-27 11:24:59 +02:00
mid-kid
a91b59ab5d Remove a documented bug that's not really a bug
I mean, technically, being able to read beyond a data table's size is
bad practice, but there's so many cases of this that it's not worth
mentioning.

For most of these cases, at least, it's safe to assume the index won't
ever get high enough to surpass such a table's length, because it's
either hardcoded or decided by the game without the use of
uncontrollable data. As such, they don't expose any actual bugs.
2018-07-26 23:34:05 +02:00
Rangi
4f0c9cecf9 StringCmp → CompareBytes; CompareLong → CompareBytesLong
hStringCmpString[1/2] → h[EnemyMon/PartyMon1]Speed
2018-07-23 00:25:53 -04:00
Rangi
a1806d6e81 Consistent routine naming convention: 'Foo' wraps '_Foo' 2018-07-23 00:13:43 -04:00
Rangi
bdde60c64b ANIM_MON_UNUSED → ANIM_MON_HOF 2018-07-22 23:42:50 -04:00
mid-kid
778d57ba21 Remove some more address comments 2018-07-18 10:55:30 +02:00
Rangi
b23f0b2bda Fewer uses of 'Thing2 - Thing1' for sizeof(Thing) 2018-07-16 15:58:07 -04:00
Rangi
dba7f59d83 More OAM coordinate consistency 2018-07-15 11:58:01 -04:00
Rangi
aa334dc5b9 Use specific constants for overwritten text tiles 2018-06-25 23:14:52 -04: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
9f3e9145f9 Remove more triple newlines 2018-06-25 12:01:02 -04:00
Rangi
67d1364c7a Fix triple newlines left over from removing address comments 2018-06-24 23:22:50 -04:00
Rangi
e2fb7acac0 Merge branch 'master' of https://github.com/pret/pokecrystal
# Conflicts:
#	engine/items/mart.asm
2018-06-24 21:23:51 -04:00
mid-kid
5efce10789 Remove even more address comments
That should be all of them this time
2018-06-25 02:10:37 +02:00
Rangi
5a58f90ec6 FISHGROUP_DATA_LENGTH 2018-06-24 11:46:55 -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
5e9c785b3f Merge branch 'master' of https://github.com/pret/pokecrystal 2018-06-04 11:05:53 +02:00
mid-kid
17087489c6 Miscellaneous fixes in the use of _command constants. 2018-06-01 09:04:36 +02:00
Rangi
d5fff8aa96 Constants for PC menu indexes
'db  ' -> 'db '
2018-05-18 22:18:00 -04: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
7307fc8dce Use constants for bit/set/res more 2018-04-05 11:44:02 -04:00
Rangi
81306889e3 Merge branch 'master' of https://github.com/pret/pokecrystal 2018-04-04 23:56:40 -04: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
mid-kid
0d9241889f Organize the engine/ directory, take 3
Renamed `title` to `movies`.
Moved some functions from `engine/routines/` to their fitting
directories, and cleaned up the base `engine/` directory.
Moved `engine/pokemon/tmhm.asm` back to `engine/items/`.

Made a new subdirectory:
* engine/tilesets: Contains all map-related graphics routines.
2018-03-25 16:18:33 +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
mid-kid
baa0dc5a96 Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by
creating categorized subdirectories, in order to make it easier to
navigate and find things.

The directories created are as follows:
* engine/game: Contains all "minigames", things like the unown puzzle
and slot machine.
* engine/gfx: Contains all handling of graphics. From loading palettes
to playing animations.
* engine/link: Contains all multiplayer functionality.
* engine/menu: Contains all generic/misc. menus and menu code.
Other, more specialized menus are in their own subdirectories (pokedex,
pokegear, party menu, etc).
* engine/overworld: Contains all handling of the overworld. From loading
and connecting maps to wild encounters and the scripting engine.
* engine/pokegear: In the same vein as engine/pokedex, except it could
use some more splitting up.
* engine/pokemon: Contains everything related to manipulating pokemon
data. From the pokemon storage system to evolution and mail.
* engine/printer: Contains everything related to printing things as well
as the printer communication.
* engine/title: Contains intro sequences, title screens and credits.
2018-03-13 13:21:40 +01:00
Rangi
7e9dbde549 HOF_MASTER_COUNT EQU 200 2018-03-04 00:27:22 -05:00
Rangi
bde9ffff6e Improve some code labels 2018-03-02 19:39:16 -05:00
Rangi
43b5f90457 Replace "Map<MapName>Signpost<#>Script" labels 2018-02-27 19:33:38 -05:00
Rangi
5959548c01 Document HOF Master bug (close #494) 2018-02-26 11:51:16 -05: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
f964d04a87 * loadmenuheader -> loadmenu (ead103d)
* objectface -> turnobject (c834bda)
2018-02-25 20:05:37 -05:00
Rangi
60add76ee7 * Remove rept 4 (fa3192e)
* FindGreaterThanThatLevel -> FindAboveLevel (132fe46)
* More meaningful egg group names (0eeb00d)
2018-02-25 19:23:01 -05:00
mid-kid
3d34f5a5a3 Label wPokemonWithdrawDepositParameter of RemoveMonFromPartyOrBox
It takes a clearly different parameter, completely unrelated and
different in function to PC_DEPOSIT and PC_WITHDRAW.
2018-02-22 21:36:14 +01:00
mid-kid
a22343d32c Fix TRUE/FALSE constants for CalcMonStats 2018-02-22 18:12:43 +01: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
mid-kid
23b773d5c2 Label some daycare-related functions 2018-02-14 11:51:47 +01:00
Rangi
bc3cc69749 Consistent "X percent [+/- Y]" order 2018-02-04 21:21:34 -05:00
Rangi
d6b00d0cc1 Sync code with wiki 2018-02-04 13:16:40 -05:00
Rangi
6c405e3859 Keep specials files together 2018-02-04 12:03:31 -05:00
Rangi
885080f213 "chances" → "probabilities", since other files use that term and "changes" exists right next to it 2018-02-04 11:46:53 -05: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
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
6ff2cb20e6 map → map_id; map_def → map; map_data → map_attributes 2018-02-03 17:11:55 -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
Rangi
c834bdadf2 spriteface → objectface, consistent with the other script commands 2018-02-02 21:50:43 -05:00
Rangi
aa8db1632c Remove checkmorn/checkday/checknite macros 2018-02-02 21:20:13 -05:00
Rangi
68d855c213 Script commands don't have underscores 2018-02-02 21:09:17 -05:00
Rangi
b2970e75f4 SCENE_DEFAULT=0 and SCENE_FINISHED=1 (generic constants for a common scene pattern) 2018-02-01 15:06:06 -05:00
Rangi
fcfe77bc3d Meaningful scene constant names
(Two common patterns: 0=default event and 1=nothing; and 0=nothing and 1=some event)
2018-02-01 13:03:21 -05:00
Rangi
a17623d96b Add scene ID constants (TODO: meaningful names) 2018-01-31 23:16:51 -05:00
Rangi
7d6e82ef1c NPC trade constants don't all just start with TRADE_ 2018-01-31 21:16:57 -05:00
Rangi
6e00101b89 Comment values of special pointers, same as predefs 2018-01-30 14:55:27 -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
Rangi
f5ba69f5e5 Sync documentation with code 2018-01-26 14:36:59 -05:00
Rangi
6ebe45e41f Move event data to data/events/ 2018-01-25 22:19:24 -05:00
Rangi
95fd05744d Remove "UnusedSpecial_" prefixes too 2018-01-24 11:20:41 -05:00
Rangi
d719d318e8 Remove Special_ prefix from special routines (close #478) 2018-01-24 11:17:05 -05:00
Rangi
132fe46925 Rename some routines to avoid conflicts when removing "Special_" prefixes 2018-01-24 11:12:02 -05:00
Rangi
505a6595bc EVENT_TEMPORARY_UNTIL_MAP_RELOAD_[1-8] (close issue #481) 2018-01-24 10:46:49 -05:00
luckytyphlosion
a1951cefc0 Prefix wram labels with w, part 2. 2018-01-23 17:39:09 -05:00
Rangi
ead103d2c6 MenuDataHeader → MenuHeader, MenuData2 → MenuData (might complete issue #440) 2018-01-23 16:08:43 -05:00
Rangi
7c0553b2d2 x is the standard temp variable 2018-01-23 10:56:36 -05:00
Rangi
0261bd2ff5 Daisy offers "grooming", not "massage" 2018-01-23 00:11:23 -05:00
Rangi
363d8b9242 KrissHouse → PlayersHouse 2018-01-22 19:10:09 -05:00
Rangi
efe6981a0d Add daily+weekly bit flags (close issue #429) 2018-01-22 15:59:24 -05:00
Rangi
3a7f518de4 wStatusFlags/2 bit constants 2018-01-22 15:40:43 -05:00
Rangi
4d8528f903 More engine flag constants 2018-01-22 14:34:55 -05:00
Rangi
125d51b3b2 More engine bit flag constants 2018-01-22 13:57:44 -05:00