Difference between revisions of "Game Opcodes:Set Cutscene Book Details"
From FFXIV Classic Wiki
(→Visual Layout) |
m (Added a note about sNPC length crashing client, and blocked it into the visual layout) |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Sets the information needed for the "The Unending Journey" cutscene book actor. This includes completed quests as well as Path Companion info. This should be sent when the player zones into the inn. | Sets the information needed for the "The Unending Journey" cutscene book actor. This includes completed quests as well as Path Companion info. This should be sent when the player zones into the inn. | ||
+ | |||
+ | TO-DO: Requires further documenting of the Path Companion (eg. their name), as well as whichever byte(s) handles the "Others" category | ||
:; Opcode - 0x1A3 | :; Opcode - 0x1A3 | ||
Line 15: | Line 17: | ||
! style="text-align: center; font-size: 14px;" | Description | ! style="text-align: center; font-size: 14px;" | Description | ||
|- | |- | ||
− | | 0x00 || byte || 1 Bytes || | + | | 0x00 || byte || 1 Byte || beastIntro|| Cutscenes for the beast tribe area introductions, under 'Other' category. 1st bit Zahar'ak, 2nd bit Natalan, 3rd bit U'Ghamaro Mines. |
+ | |- | ||
+ | | 0x01 || uint16 || 2 Bytes || msqInstance || Covers the Nightmare cutscenes (2nd bit opens all three versions of it), as well as the Castrum Novum intro cutscene (8th bit). The other 14 bits do nothing? | ||
+ | |- | ||
+ | | 0x03 || byte || 1 Byte || unk3 || Unknown. Set to 0x0. | ||
|- | |- | ||
− | | | + | | 0x04 || uint16 || 2 Bytes || sNpcActorIdOffset || The offset from the base [[Actor Class ID]] (1070000) used to define what the player's Path Companion looks like. |
|- | |- | ||
− | | | + | | 0x06 || byte || 1 Byte || sNpcSkin || The skin color of the Path Companion. |
|- | |- | ||
− | | | + | | 0x07 || byte || 1 Byte || sNpcPersonality || The personality of the Path Companion |
|- | |- | ||
− | | 0x08 || byte || 1 | + | | 0x08 || byte || 1 Byte || completedInstance || Covers cutscenes for Instanced Raids, as well as Hamlets under 'Other'. Bit layout under the Notes section. |
|- | |- | ||
− | | 0x09 || | + | | 0x09 || bitstream || 250 Bytes || completedQuest || A bit stream of all the completed quests the player had done, which let's the player view their respective cutscenes. |
|- | |- | ||
− | | 0x109 || | + | | 0x109 || string || 31 Bytes? || sNpcName || Name of the Path Companion. Client crashes if 32 bytes in length. |
|} | |} | ||
+ | |||
+ | == Notes == | ||
+ | |||
+ | :* The client reads completedQuest's first bit as quest ID's 110001 completion state, with every bit from there-on adding 1 to that value. | ||
+ | :::Due to skips in numbers between categories of quests, this leads to a lot of empty entries in the journal if one were to 0xFF the entire bitstream. | ||
+ | |||
+ | :* completedInstance bit layout - | ||
+ | ::: 1 = Thousand Maws of Toto-Rak (Instanced Raids) | ||
+ | ::: 2 = Dzemael Darkhold (Instanced Raids) | ||
+ | ::: 3 = Aurum Vale (Instanced Raids) | ||
+ | ::: 4 = Cutter's Cry (Instanced Raids) | ||
+ | ::: 5 = The Battle for Aleport (Opening & Ending) | ||
+ | ::: 6 = The Battle for Hyrstmill (Opening & Ending) | ||
+ | ::: 7 = The Battle for the Golden Bazaar (Opening & Ending) | ||
+ | ::: 8 = n/a | ||
+ | |||
+ | |||
== Visual Layout == | == Visual Layout == | ||
Line 39: | Line 62: | ||
|- | |- | ||
! 0x00 | ! 0x00 | ||
− | | | + | | style="background:#CEE0F2" | '''beastIntro''' |
− | | colspan=" | + | | colspan="2" style="background:#8FA6E8" | '''msqInstance ''' |
− | | colspan=" | + | | style="background:#f1cbff" | '''unk3''' |
− | | | + | | colspan="2" style="background:#f0f8ff" | '''sNpcActorIdOffset''' |
− | | | + | | style="background:#C0E8A7" | '''sNpcSkin ''' |
+ | | style="background:#f1cbff" | '''sNpcPersonality ''' | ||
+ | | style="background:#ffb3ba" | '''completedInstance''' | ||
+ | | colspan="7" style="background:#eedfcc" | | ||
|- | |- | ||
! 0x10 | ! 0x10 | ||
− | | | + | | colspan="16" rowspan="3" style="background:#eedfcc" | '''completedQuests''' |
|- | |- | ||
− | ! | + | ! ~ |
− | |||
|- | |- | ||
− | ! | + | ! 0xF0 |
− | |||
|- | |- | ||
− | ! | + | ! 0x100 |
− | | | + | | colspan="3" style="background:#eedfcc" | |
− | + | | 00 || 00 || 00 || 00 || 00 || 00 | |
− | + | | colspan="7" style="background:#BED0F2" | | |
− | |||
− | | | ||
− | |||
− | |||
|- | |- | ||
− | ! | + | ! 0x110 |
− | | | + | | colspan="16" style="background:#BED0F2" | '''sNpcName''' |
|- | |- | ||
− | ! | + | ! 0x120 |
− | | | + | | colspan="7" style="background:#BED0F2" | |
− | + | | 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 | |
− | |||
− | |||
− | | | ||
− | |||
− | | 00 || 00 || 00 || 00 || 00 || 00 || 00 | ||
|} | |} | ||
+ | |||
+ | [[Category:Unfinished]] |
Latest revision as of 20:24, 26 August 2021
Sets the information needed for the "The Unending Journey" cutscene book actor. This includes completed quests as well as Path Companion info. This should be sent when the player zones into the inn.
TO-DO: Requires further documenting of the Path Companion (eg. their name), as well as whichever byte(s) handles the "Others" category
- Opcode - 0x1A3
- Source - Server
- Data Size - 0x130 bytes
- Requirements - None
Data
Offset | Data Type | Length | Variable | Description |
---|---|---|---|---|
0x00 | byte | 1 Byte | beastIntro | Cutscenes for the beast tribe area introductions, under 'Other' category. 1st bit Zahar'ak, 2nd bit Natalan, 3rd bit U'Ghamaro Mines. |
0x01 | uint16 | 2 Bytes | msqInstance | Covers the Nightmare cutscenes (2nd bit opens all three versions of it), as well as the Castrum Novum intro cutscene (8th bit). The other 14 bits do nothing? |
0x03 | byte | 1 Byte | unk3 | Unknown. Set to 0x0. |
0x04 | uint16 | 2 Bytes | sNpcActorIdOffset | The offset from the base Actor Class ID (1070000) used to define what the player's Path Companion looks like. |
0x06 | byte | 1 Byte | sNpcSkin | The skin color of the Path Companion. |
0x07 | byte | 1 Byte | sNpcPersonality | The personality of the Path Companion |
0x08 | byte | 1 Byte | completedInstance | Covers cutscenes for Instanced Raids, as well as Hamlets under 'Other'. Bit layout under the Notes section. |
0x09 | bitstream | 250 Bytes | completedQuest | A bit stream of all the completed quests the player had done, which let's the player view their respective cutscenes. |
0x109 | string | 31 Bytes? | sNpcName | Name of the Path Companion. Client crashes if 32 bytes in length. |
Notes
- The client reads completedQuest's first bit as quest ID's 110001 completion state, with every bit from there-on adding 1 to that value.
- Due to skips in numbers between categories of quests, this leads to a lot of empty entries in the journal if one were to 0xFF the entire bitstream.
- completedInstance bit layout -
- 1 = Thousand Maws of Toto-Rak (Instanced Raids)
- 2 = Dzemael Darkhold (Instanced Raids)
- 3 = Aurum Vale (Instanced Raids)
- 4 = Cutter's Cry (Instanced Raids)
- 5 = The Battle for Aleport (Opening & Ending)
- 6 = The Battle for Hyrstmill (Opening & Ending)
- 7 = The Battle for the Golden Bazaar (Opening & Ending)
- 8 = n/a
Visual Layout
Packet Data Layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | beastIntro | msqInstance | unk3 | sNpcActorIdOffset | sNpcSkin | sNpcPersonality | completedInstance | |||||||||
0x10 | completedQuests | |||||||||||||||
~ | ||||||||||||||||
0xF0 | ||||||||||||||||
0x100 | 00 | 00 | 00 | 00 | 00 | 00 | ||||||||||
0x110 | sNpcName | |||||||||||||||
0x120 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |