Commit Graph

1180 Commits

Author SHA1 Message Date
mid-kid
f4907040c9 Label some more WRAM/SRAM things
This should be all of the memory locations that are actually used, and
some more.
Removal of all addresses when?
2019-10-21 00:42:36 +02:00
mid-kid
7111ae8e58 Fix some mobile script and map sign things 2019-10-21 00:42:36 +02:00
mid-kid
1f172badc4 Misc fixes 2019-10-21 00:31:50 +02:00
bbbbbbbbba
0d48d829d4 Document Special Defense badge boost glitch (#651)
Document Special Defense badge boost glitch
2019-10-20 18:25:34 -04:00
mid-kid
e3e0bcd653 #641 fixes and additions. (#646)
Name a lot of text labels according to our conventions
2019-10-20 18:24:17 -04: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
Rangi
6962d843a3 Store Magnet Train tilemaps in their own files 2019-08-11 18:48:26 -04:00
Rangi
01618d3cc4 Define constants for both battle transition tiles 2019-06-30 14:20:25 -04:00
mid-kid
ad299b1635 Apply suggested changes 2019-06-10 01:52:46 +02:00
mid-kid
d6db010429 Document high nybble of PrintNum c register 2019-06-09 17:46:06 +02: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
c7fdf5f9ec Fix overworld scrolling function names 2019-06-09 00:17:35 +02:00
mid-kid
b6277408a0 Misc fixes 2019-06-04 13:31:22 +02:00
mid-kid
309079524b Fix menu_coords for pokecenter pc 2019-06-04 13:11:29 +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
mid-kid
13cfe356d6 Fix usage of rIE and rSC constants 2019-05-25 17:59:50 +02:00
mid-kid
40766b9a76 Magnet train fixes
Should make the code slightly easier to read, at least
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
Rangi
cca2afe827 More fixes for fixes 2019-04-23 19:07:41 -04:00
Rangi
71db95dc34 Identify a few more WRAM label uses 2019-04-19 18:55:04 -04:00
Rangi
45e3f6aca9 Identify some more WRAM labels 2019-04-19 11:35:27 -04: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
Rangi
1ada06f576
Merge pull request #622 from mid-kid/master
TextBox -> Textbox
2019-04-13 11:50:16 -04:00
Rangi
9c0ef59cb0
Merge pull request #614 from Fontbane/text
common_1 text documentation
2019-04-13 11:46:37 -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
2184b60a0c Identify and eliminate wEngineBuffer1-5 2019-04-08 19:42:55 -04:00
Fredrik Ljungdahl
e598e49edb Fix wram labeling for wPCItems 2019-03-18 16:43:58 +01:00
Fontbane
a3119736fa common_1 text documentation
Should be almost everything besides some of the mobile stuff and some debug text.

Removed VS stuff

oops
2019-03-16 13:00:44 -04:00
Rangi
2ffbde764e Minor code+docs fixes 2019-03-12 22:55:40 -04: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
6393ecb7e5 More consistent formatting 2019-03-03 19:55:28 -05:00
ISSOtm
c57ed5775c Rename PlayerMonFaintHappinessMod
Seriously, mini-rant here: we were three to spend a couple hours trying to find something in this function
that was completely unrelated to happiness... and apparently there's been far worse. :')
Props to you guys for having been through this =D
2019-03-03 23:55:24 +01: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
Rangi
e671636bba Card Flip digits are shifted 1px up, not 2px left 2019-02-18 11:35:28 -05:00
Rangi
a999787cb8 Update documentation:
- Apply more edits from #595
- Move music ID behavior from the wiki to docs
- Move assembly programming links from docs to the wiki
- Describe why the TM item gaps exist
2019-02-17 13:18:38 -05:00
Rangi
8e359978d6 passtoengine -> autoinput 2019-02-16 16:06:11 -05:00
Rangi
417f3c7c72 Bug fix: allow Surfing across map connections 2019-02-16 15:45:55 -05: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
Rangi
df337fc417 Update to rgbds 0.3.8 2019-02-16 12:17:55 -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
Rangi
4819a54b16
Merge pull request #598 from mid-kid/temp
BATTLEANIMSTRUCT_0B -> BATTLEANIMSTRUCT_PARAM
2019-02-09 18:04:03 -05:00
Rangi
32c34a3619 Separate the 200-byte c608-to-c6d0 union and the 280-byte c6d0-to-c7e8 union 2019-02-08 15:38:31 -05:00
Rangi
6cbdd245fc $8 = HIGH(vTiles1 - vTiles0) 2019-02-06 23:52:50 -05: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
Rangi
60cdc65293 wc7e8 -> wUnusedC7E8 (similar to wUnusedD102) 2019-01-30 19:46:45 -05:00
Rangi
88465686cf Remove the nested UNION within battle WRAM 2019-01-30 19:29:34 -05: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
Rangi
84b6a084cb Keep "paragraphs" of related code together 2019-01-24 21:10:45 -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
fe04acad7b Document bugfix: ScriptCall can overflow wScriptStack and crash 2019-01-07 18:28:47 -05:00
Rangi
26fc7e2521 Consistent formatting in Function_SetEnemyMonAndSendOutAnimation and BattleStartMessage 2019-01-06 22:11:57 -05:00
Rangi
5207615cdc Document a bugfix: 1/256 failure rate for 100% effect chance 2019-01-05 20:30:46 -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
Rangi
afbf1b3ffc *PhoneScript1 -> *PhoneCalleeScript, and *PhoneScript2 -> *PhoneCallerScript 2018-12-31 16:32:04 -05:00
Rangi
f2785cdb71 Use battle menu flags 2018-12-31 14:25:53 -05:00
Rangi
22657f6078 Split generic phone caller+callee text into individual NPCs 2018-12-30 19:20:45 -05:00
Rangi
d3e0eda398 Distinguish "caller" and "called" phone scripts+text (NPCs call you automatically, you call them from the Pokégear) 2018-12-30 18:05:26 -05:00
Rangi
b921e9c9be Split engine/phone/phone_scripts.asm and phone_gossip.asm into individual files 2018-12-30 17:15:52 -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
e51339f01a Formatting and comments 2018-12-09 18:13:37 -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
5dfe652ff6 CalcStats -> CalcBattleStats
Confusingly ambiguous name
2018-11-23 23:03:27 +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
mid-kid
c210f052a8 Move BattleSideCopy to transform.asm 2018-11-21 14:14:34 +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
375963349a Finish new connection macro
Tried simplifying things a bit, although not nearly as much as I wanted.
Ideally, we'd either have one of two situations:
- A single set of calculations based on values depending on the
direction of the connection
- A bunch of "generic" calculations done before applying simple
modifiers to them in the final `if` block

Right now it's an icky mix of both and I'm not really sure what to make
of it.
2018-11-10 14:34:49 +01:00
mid-kid
a469a92c26 CorrectNickErrors fixes control characters, not text commands 2018-11-05 23:08:10 +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
6a2cad6bcc Add colons to some function labels 2018-11-05 22:26:18 +01:00
Rangi
3b20a18200 Identify BATTLEACTION_D and _E (thanks, ax6) 2018-10-21 00:52:10 -04:00
mid-kid
f52f20edb7 Rename CheckTrainerBattle
Renamed to be more in line with our current coding standards. Hopefully
this is slightly more readable.
2018-10-11 11:39:09 +02: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
42ff2bd21f This isn't actually PAL_BG_ROOF
My bad.
2018-09-16 03:00:25 +02:00
mid-kid
3540b2a2d6 wMonStatusFlags -> wDebugFlags 2018-09-16 02:15:55 +02:00
mid-kid
387107b29e Fix use of in LoadMansionPalette 2018-09-16 01:52:14 +02:00
Rangi
f9cf53ecba Use existing bigdw macro 2018-09-09 18:25:43 -04: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
bb4a6e5f55 wCursorCurTile -> wCursorCurrentTile 2018-09-09 17:15:49 -04:00
Rangi
603bcfe2ae wPreviousLandmark → wPrevLandmark 2018-09-09 15:27:23 -04:00
Rangi
9ee2b59208 hMultiplicand is four bytes internally, but the high byte is always 0 since allowing four-byte multiplicands could overflow hProduct. 2018-09-09 15:10:38 -04:00
Rangi
ae022e1420 Curr -> Cur 2018-09-09 15:09:51 -04:00
Rangi
b42ba692c4 ; fallthrough 2018-08-26 22:34:59 -04:00
Rangi
0e1445b796 spaces->tab, and remove redundant comment 2018-08-26 16:15:43 -04:00
Rangi
557ce82073 hQuotient is a four-byte buffer (fixes #558) 2018-08-26 13:49:38 -04:00
Rangi
cb32c895e4 Explain wCreditsBlankFrame2bpp 2018-08-26 13:23:40 -04:00
Rangi
d2053c12c2 wCreditsFaux2bpp -> wCreditsBlankFrame2bpp, with the right buffer size
Remove some unused WRAM labels
2018-08-26 13:08:01 -04:00
Rangi
296402bd31 _Divide results go in hQuotient and hRemainder, not in hDividend and hDivisor
Note that the result quotient is four bytes, but hQuotient is a three-byte buffer. This is because no Divide caller ever needed a four-byte quotient, so the buffer didn't include the high byte.
2018-08-25 22:58:26 -04:00
Rangi
4c8c5c10a8 Use rgbasm's GameBoy graphics literal for initializing wCreditsFaux2bpp
In the 2BPP format, two bytes %ABCDEFGH %abcdefgh define eight pixels %Aa %Bb %Cc %Dd %Ee %Ff %Gg %Hh.
Four valid colors: %00 = 0 = white, %01 = 1 = dark, %10 = 2 = light, %11 = 3 = black.
Thus `22222222 = pixels %10 %10 %10 %10 %10 %10 %10 %10 = bytes %11111111 %00000000 = $ff00.
2018-08-25 22:38:57 -04:00
Rangi
b2adcd6d6f Reorganize math-related HRAM union (ffb3) 2018-08-25 21:49:26 -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
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
79cf90ab5e Fix some StatUp-related labels 2018-08-17 17:48:41 +02:00
mid-kid
2e147d1128 GetDamageStatsCritical -> CheckDamageStatsCritical
Clarified its usage, as the comments surrounding it were factually
wrong.
2018-08-16 16:11:28 +02:00
mid-kid
3cf49b7245 Fix more uses of EFFECTIVE 2018-08-07 14:38:41 +02:00
mid-kid
bc0595564e Fix constants in BattleCommand_MirrorCoat 2018-08-07 09:46:21 +02: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
mid-kid
23cdf06e5e RestorePPofDepositedPokemon -> RestorePPOfDepositedPokemon 2018-08-07 09:46:21 +02:00
mid-kid
86c1b05fbc Split print_move_description and mon_menu 2018-08-07 09:46:21 +02:00
Rangi
366330e981 Pokedex_PutScrollbarOAM data values 2018-07-29 16:15:06 -04:00
Rangi
1d96a79a37 No wCurMove alias for wCurSpecies 2018-07-29 16:04:38 -04:00
Rangi
b5a9e83a94 Fix reviewed issues.
Pokedex_PrintListing has a comment noting how it depends on wCurSpecies == wNamedObjectIndexBuffer; an assert would be more convenient, but is not possible since WRAM label addresses are not defined yet here.
2018-07-29 16:00:11 -04:00
Rangi
c9cb67141b Make reviewed fixes; standardize on " + " 2018-07-29 01:40:23 -04:00
Rangi
8498394701 wSwitchMon 2018-07-29 01:27:33 -04:00
Rangi
8aa08addba wLuckyNumberDigitsBuffer 2018-07-29 01:13:25 -04:00
Rangi
0c746447e7 Improve wTrainerHUDTiles usage 2018-07-29 01:09:12 -04:00
Rangi
5145d69506 ; entries correspond to PLAYEREVENT_* constants 2018-07-29 00:57:28 -04:00
Rangi
9dec80b07e Add meaningful aliases for wd265
Introduce MONICON_* constants
Introduce BATTLEPLAYERACTION_* constants
2018-07-29 00:25:52 -04:00
Rangi
cdfdfed17b Crystal fixed TruncateHL_BC in single player 2018-07-27 21:32:14 -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
mid-kid
e43c89bc80 Consistently use the diff format in bugs_and_glitches 2018-07-26 23:34:03 +02:00
Rangi
2b88951f9f MON_STAT_EXP - 1 → MON_EXP + 2 2018-07-24 14:14:04 -04:00
Rangi
d5b98f5206 wPokeAnimStruct matches wPokeAnimStructEnd 2018-07-23 00:37:48 -04: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
IIMarckus
8aebc7ba56 Merge branch 'master' of hyperdriveguy/pokecrystal 2018-07-21 00:41:56 -06:00
Hyperdriveguy
57fc81d44e Add Counter and Mirror Coat bugfix 2018-07-20 17:39:53 -07:00
mid-kid
1cb364cc18 Fix usage of NUM_UNOWN 2018-07-18 19:06:56 +02:00
mid-kid
1fc7430a2b Fix misnamed character codes
Some character codes were erroneously named after their text command
counterparts. This has caused a lot of confusion with naming their
functions and with other things.

I've also removed the `dict2` macro and expanded the `dict` macro. This
really isn't something we should be doing for macros but I can't deny it
looks a lot neater than repeated code.
2018-07-18 10:55:30 +02:00