Commit Graph

1120 Commits

Author SHA1 Message Date
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
mid-kid
778d57ba21 Remove some more address comments 2018-07-18 10:55:30 +02:00
mid-kid
23708441ef Make proper cmdqueue constants 2018-07-18 10:55:30 +02:00
mid-kid
04d0490c4c Fix anim_ret_command 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
60568e8833 Comments for ToggleMaptileDecorations 2018-07-13 23:19:24 -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
d7712c8019 TileAnimationPalette → AnimateWaterPalette 2018-07-05 19:23:44 -04:00
Rangi
255f282a60 Use TRUE/FALSE for wSaveFileExists 2018-07-04 02:50:27 -04:00
Rangi
b565e6a9dc Miscellaneous reorganization fixes 2018-07-04 02:42:11 -04:00
Rangi
da5125e141 " " → "┘" + 1 2018-06-30 17:42:16 -04:00
Rangi
8b06ff09eb Use significant values 5, 6, and 7 2018-06-30 15:58:05 -04:00
Rangi
6306e590bd No linebreak 2018-06-30 14:53:38 -04:00
Rangi
e2cf3eb7bd Add more collision nybble constants 2018-06-28 22:35:29 -04:00
Rangi
aa334dc5b9 Use specific constants for overwritten text tiles 2018-06-25 23:14:52 -04:00
Rangi
a6560d0871 Use charmap values 2018-06-25 15:32:07 -04:00
Rangi
06eb89d903 "┘" + 1 == " "
Using X+1 makes sense when X is the last control character in a contiguous group, but "┘" is not, so we can use the first non-control character
2018-06-25 14:09:56 -04:00
Rangi
9ed402c4a2 Use charmap “ and ” 2018-06-25 13:54:30 -04:00
Rangi
00c2dba157 Merge events_2.asm with events.asm
(events_2.asm was only separate because scripting.asm intervenes; but other files have a similar "code / INCLUDE self-contained code / more code" structure to this)
2018-06-25 13:48:16 -04:00
Rangi
67152eab98 Keep more data/ INCLUDEs with relevant routines 2018-06-25 13:45:50 -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
9afaed9b8f Remove more address comments 2018-06-24 21:39:23 -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
1a888f2200 NUM_GRASSMON * 2 2018-06-24 13:00:55 -04:00
Rangi
ee48c7a3ed NUM_WATERMON 2018-06-24 12:32:56 -04:00
Rangi
d84aabf3c1 WATER_WILDDATA_LENGTH 2018-06-24 12:30:33 -04: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
a4bf94e1d7 wCurMartEnd - wCurMart = 16 2018-06-23 23:15:13 -04:00
Rangi
f6ef095284 Add STANDARDMART_* jumptable index constants 2018-06-23 22:35:46 -04:00
Rangi
5c7d04ac84 Use direct tile IDs, not charmap entries, since they don't correspond correctly (e.g. "┌" is not the top-right corner) 2018-06-23 21:12:37 -04:00
yenatch
0fbc8362b6
Merge pull request #526 from atasro2/master
reword
2018-06-20 19:25:39 -04:00
MCboy
5c662be182
fixed a typo
being the grammar nazi i am i noticed a grammar error so i forked pokecrystal to fix it ;)
2018-06-14 00:34:24 +04:30
Rangi
fbe82a7fe0 Note which labels are only needed for locating banks (relevant to issue #485) 2018-06-12 23:29:15 -04:00
yenatch
dbf05e48eb
Merge pull request #517 from mid-kid/master
Some fixes all around
2018-06-05 07:04:54 -04:00
yenatch
5c0e5fa7ca Fix unused shiny check comments. 2018-06-04 23:36:27 -04:00
mid-kid
5e9c785b3f Merge branch 'master' of https://github.com/pret/pokecrystal 2018-06-04 11:05:53 +02:00
Rangi
c7bb2d15cf Create empty sections for the remaining FixPicBank array entries 2018-06-03 23:25:21 -04:00
Rangi
7cd5bcbae4 Change FixPicBank bank array 2018-06-03 23:18:31 -04:00
mid-kid
17087489c6 Miscellaneous fixes in the use of _command constants. 2018-06-01 09:04:36 +02:00
Rangi
4df72a8474 SGB palette roles discovered from Spaceworld beta G/S 2018-06-01 02:11:44 -04:00
Rangi
a71b7a92b7 Same pic bank solution as pokecrystal 2018-05-29 19:14:04 -04:00
Rangi
3927bcdb9d Function6ec1 → CanObjectMoveInDirection 2018-05-24 12:36:35 -04:00
Rangi
a91aa18dae Use constants more 2018-05-23 22:13:46 -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
Rangi
c5d18de8ff Use known sprite movement data flag constants 2018-05-23 13:15:07 -04: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
Rangi
846e3e65de adc a, 0 → adc 0; fix comments 2018-05-20 17:55:27 -04:00
Rangi
9afacc7842 Use REGISTERED_* constants
128px wide pack_menu.png matches BGB VRAM viewer, and rows+cols match hex tile IDs (e.g. $24 = row 3 col 5)
2018-05-20 17:50:53 -04:00
Rangi
ae50b1148a 1 << FRZ == $20 2018-05-19 13:11:50 -04:00
Rangi
d5fff8aa96 Constants for PC menu indexes
'db  ' -> 'db '
2018-05-18 22:18:00 -04:00
yenatch
6e91c3a293 Revert "Fix #511: eliminate "Left shift of negative value" warnings"
This reverts commit aa51dbc612.
2018-05-11 00:42:44 -04:00