Skip to content

Use RUNION macros for overlapping _RS constants #1195

@Rangi42

Description

@Rangi42

We use the _RS constants rb/rw for defining struct offsets, like for base data struct members. However, some of these members overlap. Currently we manually reset the _RS value and continue:

DEF BASE_TYPES       rw
rsset BASE_TYPES
DEF BASE_TYPE_1      rb
DEF BASE_TYPE_2      rb
DEF MON_CAUGHTDATA         rw
rsset MON_CAUGHTDATA
DEF MON_CAUGHTTIME         rb
DEF MON_CAUGHTGENDER       rb
rsset MON_CAUGHTDATA
DEF MON_CAUGHTLEVEL        rb
DEF MON_CAUGHTLOCATION     rb

I think it would be cleaner to define RUNION macros (inspired by the WLA-DX assembler's and .UNION-inside-.ENUM feature): https://pastebin.com/7uakxqb6

runion
DEF BASE_TYPES       rw
nextru
DEF BASE_TYPE_1      rb
DEF BASE_TYPE_2      rb
endrunion
runion
DEF MON_CAUGHTDATA         rw
nextru
DEF MON_CAUGHTTIME         rb
DEF MON_CAUGHTGENDER       rb
nextru
DEF MON_CAUGHTLEVEL        rb
DEF MON_CAUGHTLOCATION     rb
endrunion

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions