Difference between revisions of "Game Opcodes:Set Cutscene Book Details"

From FFXIV Classic Wiki
Jump to: navigation, search
m (Added Unfinished state and a to-do of what's needed.)
(Documented one of the unknowns, added more information under completedInstance.)
Line 19: Line 19:
 
| 0x00 || byte || 1 Byte || unk1 || Unknown use.
 
| 0x00 || byte || 1 Byte || unk1 || Unknown use.
 
|-
 
|-
| 0x01 || uint16 || 2 Bytes || unk2 || Unknown. Set to 0x2.
+
| 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.
 
| 0x03 || byte || 1 Byte || unk3 || Unknown. Set to 0x0.
Line 29: Line 29:
 
| 0x07 || byte || 1 Byte || sNpcPersonality || The personality of the Path Companion
 
| 0x07 || byte || 1 Byte || sNpcPersonality || The personality of the Path Companion
 
|-
 
|-
| 0x08 || byte || 1 Byte || completedInstance || First four bits open up the cutscenes in the "Instanced Raids" category in the following order:  Toto-Rak, Dzemael, Aurum Vale, Cutter’s Cry
+
| 0x08 || byte || 1 Byte || completedInstance || Covers cutscenes for Instanced Raids, as well as Hamlets under 'Other'.  Bit layout under the Notes section.
  
 
|-
 
|-
Line 39: Line 39:
 
:* 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.   
 
:* 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.
 
:::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
 +
  
  
Line 51: Line 62:
 
! 0x00
 
! 0x00
 
| style="background:#CEE0F2" | '''unk1'''
 
| style="background:#CEE0F2" | '''unk1'''
| colspan="2" style="background:#8FA6E8" | '''unk2'''
+
| colspan="2" style="background:#8FA6E8" | '''msqInstance '''
 
| style="background:#f1cbff" | '''unk3'''
 
| style="background:#f1cbff" | '''unk3'''
 
| colspan="2" style="background:#f0f8ff" | '''sNpcActorIdOffset'''
 
| colspan="2" style="background:#f0f8ff" | '''sNpcActorIdOffset'''

Revision as of 01:50, 26 June 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 unk1 Unknown use.
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 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.
0x109 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.

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 unk1 msqInstance unk3 sNpcActorIdOffset sNpcSkin sNpcPersonality completedInstance
0x10 completedQuests
~
0xF0
0x100 00 00 00 00 00 00 00 00 00 00 00 00 00
0x110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00