Skip to content

Research the RSM 1.5 modifications (presumed unused position animations) #100

@rdw-software

Description

@rdw-software

Observation: RSM 1.5 files have an additional 4 bytes that are unaccounted for in the different implementations.

It seems that they're usually skipped as they can successfully be asserted to be zero bytes in every known instance, so no functional difference will be seen. My hypothesis is that these are "position animations" which are similarly unused as the "scale animations", later added in RSM2.

In the current decoder, tests and implementation ascertain that:

  • The bytes are always present in RSM 1.5 files, and that they're always zero (0x00000000)
  • They're never present in RSM 1.4 as well as all known Renewal versions (2.2 and 2.3)
  • There are no unaccounted bytes if these are processed as "number of position animations" (uint32_t)

Conflicting information was provided by these sources:

What could be done to possibly verify/disprove the hypothesis:

  • Modify the presumed count and see if there are any errors/issues visible in the client
  • Modify the count and add a presumed position animation to observe if there are any changes in the game
  • Completely removed (delete) the presumed count and see if there are decoding errors in the client
  • Check third-party implementations to see how/if they handle the extra bytes
  • Attempt to contact Temtaime to see if they've further insights (unlikely to succeed as there hasn't been activity in years?)
  • Publish the findings as part of the existing documentation (RSM specification and/or model rendering section)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions