Commit Graph

1039 Commits

Author SHA1 Message Date
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