Skip to content

structs.md

mmvest edited this page Feb 8, 2025 · 1 revision

The struct page will be a place to keep record of all the different structures that are reverse engineered. It is okay (and even encouraged) to document structs here as you are dissecting them, regardless of whether they end up complete or not.

Guidelines

  • Use standard C types (from stdint.h) such as uint8_t, uint16_t, uint32_t, and their signed counterparts when dealing with raw data or integer values.

    • For values that will never be or should never be negative, use unsigned types
    • For values that have the potential to hold negative values, use signed types
  • Use char and wchar_t to represent utf-8 and utf-16 strings, respectively.

  • Use bool to represent a boolean value (true/false)

  • Fill unidentified gaps in your structure table with uint8_t[gap_size] where gap_size is the size in bytes of the gap. For the description, put Unidentified.

  • For the Notes column, place directly relevant notes such as value limitations or what the values represent (e.g. if the value was representative of your player's class, perhaps notes explaining which values relate to which class would be pertinent).

  • After adding your struct, please add a link to the entry in the Structs list.

    • If you could put your entry in the list in alphabetical order, that would be helpful and make the list easier to navigate.
  • If you have found a single variable or group of variables but don't know if they belong to a struct, feel free to add it here as well using the Value Template.

Entry Templates

Structs

Values

STRUCT TEMPLATE

Struct Name

Last Updated: [Date]
Contributor(s): [Your Name]

[Provide a brief description of the struct, explaining its purpose, relevance, and where it's used.]

Structure and Fields

Address: [The 32-bit address of the structure or "N/A" if it is not a static struct]

Offset Type Description Notes
0x00 uint32_t Description of Field1
0x04 uint64_t Description of Field2
0x0C char[64] Description of Field3

Additional Notes

Share findings, quirks, and insights discovered during research.

VALUE TEMPLATE

Value Name

Last Updated: [Date]
Contributor(s): [Your Name]

Type: [data type]

Address: [The 32-bit address of the structure or "N/A" if it is not a static struct]

Description: [Provide a brief description of the struct, explaining its purpose, relevance, and where it's used.]

Additional Notes: Share findings, quirks, and insights discovered during research.


Back to: Home | Research Index

Clone this wiki locally