Character and Weapons DAT

DAT, Qhimm

  1. The first character (d) represents a common prefix for all the files.

  2. The following number (0-(9), a) represents a group identifier character id.

  3. The next character (c or w) represents the type of model file, where “c” stands for character and “w” stands for weapon.

  4. The three-digit number following the “c” or “w” represents a unique identifier for each model within its group, which could include different costumes or variations of a character.

The regular expression ^d[0-9aA]([cw]\d{3}\.dat)$ matches filenames that start with “d”, followed by 1 hexadecimal digits, followed by ‘c’ or ‘w’, followed by three digits, and ending with “.dat”

Here is a summary of the groups, characters, and weapons:

  • Group 0 (Squall Leonhart):

    • Character Model: Default (000), Uniform (001)

    • Weapon Model: Revolver (000), Shear Trigger (001), Cutting Trigger (002), Flame Saber (003), Twin Lance (004), Punishment (005), Lion Heart (006)

  • Group 1 (Zell Dincht):

    • Character Model: Default (003), Uniform (004)

    • Weapon Model: Metal Knuckle (008), Maverick (009), Gauntlet (010), Ehrgeiz (011)

  • Group 2 (Irvine Kinneas):

    • Character Model: Default (006)

    • Weapon Model: Valiant (013), Ulysses (014), Bismarck (015), Exeter (016)

  • Group 3 (Quistis Trepe):

    • Character Model: Default (007)

    • Weapon Model: Chain Whip (018), Slaying Tail (019), Red Scorpion (020), Save the Queen (021)

  • Group 4 (Rinoa Heartilly):

    • Character Model: Default (009)

    • Weapon Model: Pinwheel (023), Valkyrie (024), Rising Sun (025), Cardinal (026), Shooting Star (027)

  • Group 5 (Selphie Tilmitt):

    • Character Model: Default (011), Uniform (012)

    • Weapon Model: Flail (028), Morning Star (029), Crescent Wish (030), Strange Vision (031)

  • Group 6 (Seifer Almasy):

    • Character Model: Default (014)

    • Weapon Model: (Hyperion) 033

  • Group 7 (Edea Kramer):

    • Character Model: Default (016)

    • Weapon Model: None

  • Group 8 (Laguna Loire):

    • Character Model: Default (017), Uniform (018)

    • Weapon Model: Machine Gun (035)

  • Group 9 (Kiros Seagill):

    • Character Model: Default (019), Uniform (020)

    • Weapon Model: Katal (037)

  • Group A (10) (Ward Zabac):

    • Character Model: Default (021), Uniform (022)

    • Weapon Model: Harpoon (039)

enum class open_viii::kernel::CharactersT : std::uint8_t

Character IDs @notes I noticed some values were in order of these characters so I made those values into arrays and put the character names into an enum.

Values:

enumerator squall_leonhart
enumerator zell_dincht
enumerator irvine_kinneas
enumerator quistis_trepe
enumerator rinoa_heartilly
enumerator selphie_tilmitt
enumerator seifer_almasy
enumerator edea_kramer
enumerator laguna_loire
enumerator kiros_seagill
enumerator ward_zabac
enumerator blank
enum class open_viii::CharacterModelID : std::uint8_t

Values:

enumerator squall_default
enumerator squall_uniform
enumerator zell_default
enumerator zell_uniform
enumerator irvine_default
enumerator quistis_default
enumerator rinoa_default
enumerator selphie_default
enumerator selphie_uniform
enumerator seifer_default
enumerator edea_default
enumerator laguna_default
enumerator laguna_uniform
enumerator kiros_default
enumerator kiros_uniform
enumerator ward_default
enumerator ward_uniform
enum class open_viii::WeaponModelID : std::uint8_t

Enum class representing the Weapon Model ID for each character.

Values:

enumerator SquallWeapons
enumerator Revolver

Revolver weapon

enumerator ShearTrigger

Shear Trigger weapon

enumerator CuttingTrigger

Cutting Trigger weapon

enumerator FlameSaber

Flame Saber weapon

enumerator TwinLance

Twin Lance weapon

enumerator Punishment

Punishment weapon

enumerator LionHeart

Lion Heart weapon

enumerator ZellWeapons
enumerator MetalKnuckle

Metal Knuckle weapon

enumerator Maverick

Maverick weapon

enumerator Gauntlet

Gauntlet weapon

enumerator Ehrgeiz

Ehrgeiz weapon

enumerator Valiant
enumerator Ulysses
enumerator Bismarck
enumerator Exeter
enumerator ChainWhip
enumerator SlayingTail
enumerator RedScorpion
enumerator SaveTheQueen
enumerator Pinwheel
enumerator Valkyrie
enumerator RisingSun
enumerator Cardinal
enumerator ShootingStar
enumerator Flail
enumerator MorningStar
enumerator CrescentWish
enumerator StrangeVision
enumerator Hyperion
enumerator MachineGun
enumerator Katal
enumerator Harpoon