You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reflect the layout of engine/gfx/sprites.asm (look for INCLUDE) in engine/battle_anims/*.asm, for example like this. I wouldn't be surprised if both subsystems were originally held in a single file.
Similarly, move engine/gfx/sprites.asm and engine/gfx/sprite_anims.asm into engine/sprite_anims/core.asm and engine/sprite_anims/functions.asm, respectively.
probably more I can't think of right now.
The text was updated successfully, but these errors were encountered:
The two subsystems are structured as follows:
Overworld:
data/sprite_anims/sequences.asm:SpriteAnimSeqData
contains eachSPRITE_ANIM_INDEX_*
entry, and references:data/sprite_anims/framesets.asm:SpriteAnimFrameData
containing eachSPRITE_ANIM_FRAMESET_*
entryengine/gfx/sprite_anims.asm:DoAnimFrame
containing eachSPRITE_ANIM_SEQ_*
entrySPRITE_ANIM_DICT_*
dictionary entries for the base sprite offsetengine/gfx/sprites.asm:DoNextFrameForAllSprites
contains the update loop for the objects.Battle:
data/battle_anims/objects.asm:BattleAnimObjects
contains eachANIM_OBJ_*
entry, and references:data/battle_anims/framesets.asm:BattleAnimFrameData
containing eachBATTLEANIMFRAMESET_*
entryengine/battle_anims/functions.asm:DoBattleAnimFrame
containing eachBATTLEANIMFUNC_*
entryANIM_GFX_*
dictionary entries for the base sprite offsetengine/battle_anims/anim_commands.asm:BattleAnim_UpdateOAM_All
contains the update loop for the objects.This is quite the disarray for two subsystems that are so strikingly similar. I'd propose a few changes:
BATTLE_ANIM_X
orSPRITEANIMX
data/sprite_anims/sequences.asm:SpriteAnimSeqData
should bedata/sprite_anims/objects.asm:SpriteAnimObjects
ANIM_OBJ_*
vsSPRITE_ANIM_INDEX_*
. Make the two resemble eachother.engine/gfx/sprite_anims.asm:DoAnimFrame
->engine/gfx/sprite_anims.asm:DoSpriteAnimFrame
maybeengine/gfx/sprites.asm
(look for INCLUDE) inengine/battle_anims/*.asm
, for example like this. I wouldn't be surprised if both subsystems were originally held in a single file.engine/gfx/sprites.asm
andengine/gfx/sprite_anims.asm
intoengine/sprite_anims/core.asm
andengine/sprite_anims/functions.asm
, respectively.The text was updated successfully, but these errors were encountered: