Repository navigation
Recorder schema 2: item/fighter scale and per-character state - #14
Merged
Merged
Conversation
ItemUpdate gains trailing scaleX/scaleY (DObj render scale - Samus's Charge Shot size). StateFrame gains trailing scaleX/scaleY (fighter root joint scale - Giant/Tiny, Kirby's up-B growth) and characterSpecific (Samus/DK stored charge, Kirby's copied ability). Backwards compatible: fields are parsed only when the file's EventPayloads declares them, so schema-1 files parse exactly as before, and replays without the fields are written in the original 25/50-byte layouts. Spec synced from RMG-K docs/RMGR_SPEC.md.
1 of 2 tasks
…ema-2 StateFrame StateFrame schema-2 layout is now 72 bytes (schema 1 stays 50). Also corrects hurtboxState's docs: 2 = invincible, 3 = intangible. Spec synced from RMG-K.
Super Star item invincibility isn't needed. Spec synced from RMG-K.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ItemUpdate: optionalscaleX/scaleY, the object's render scale. Samus's Charge Shot grows with charge (gfx_size / 30per level).StateFramegains these optional fields (71 bytes in schema 2, 50 in schema 1):scaleX/scaleY: the fighter's root-joint scale. Covers Giant/Tiny, and Kirby's aerial up-B leaving him about 5% larger until he respawns.characterSpecific: Samus's stored Charge Shot level (0–7), DK's Giant Punch charge (0–10), or Kirby's copied ability (character ID,8= none).shieldHealth.specialHitStatus: respawn invincibility, wall-bounce, being inside Yoshi's egg.knockbackResist: temporary armor. Among the original 12, only Yoshi's double jump sets it.hurtboxStatedocs corrected:2= invincible (can be hit, takes no damage),3= intangible (can't be hit).docs/RMGR_SPEC.mdis synced from RMG-K (§5.2, §5.3).Backwards compatibility
EventPayloadsdeclares the longer size. Schema-1 files parse exactly as before, with the fields absent.Test plan
npm run lint,npm test(46 pass),npm run build.rmgrreplay file recording Jay-Day/RMG-K#195. Its memory offsets come from the decompilation and haven't been tested in a live game yet.