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

From FFXIV Classic Wiki
Jump to: navigation, search
(Visual Layout)
(Adding findings of how the client reads in quest completion, adjusted the visual table slightly. To-do: Figure out "Other" category)
Line 15: Line 15:
 
! style="text-align: center; font-size: 14px;" | Description
 
! style="text-align: center; font-size: 14px;" | Description
 
|-
 
|-
| 0x00 || byte || 1 Bytes || unknown ||  
+
| 0x00 || byte || 1 Byte || unk1 || Unknown use.
 
|-
 
|-
| 0x01 || uint16 || 2 Bytes || unknown || Set to 0x2.
+
| 0x01 || uint16 || 2 Bytes || unk2 || Unknown. Set to 0x2.
 
|-
 
|-
| 0x03 || byte || 1 Bytes || unknown || Set to 0x0.
+
| 0x03 || byte || 1 Byte || unk3 || Unknown. Set to 0x0.
 
|-
 
|-
| 0x04 || uint32 || 1 Bytes || sNpcActorIdOffset || The offset from the base [[Actor Class ID]] used to define what the player's Path Companion looks like.
+
| 0x04 || uint16 || 2 Bytes || sNpcActorIdOffset || The offset from the base [[Actor Class ID]] used to define what the player's Path Companion looks like.
 
|-
 
|-
| 0x08 || byte || 1 Bytes || sNpcSkin || The skin color of the Path Companion.
+
| 0x06 || byte || 1 Byte || sNpcSkin || The skin color of the Path Companion.
 
|-
 
|-
| 0x09 || byte || 1 Bytes || sNpcPersonality || The personality of the Path Companion.
+
| 0x07 || byte || 1 Byte || sNpcPersonality || The personality of the Path Companion
 
|-
 
|-
| 0x109 || bitstream || 21 Bytes || completedQuest || A bit stream of all the completed quests the player had done, which let's the player view their respective cutscenes.
+
| 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
 +
 
 +
|-
 +
| 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.
 +
  
 
== Visual Layout ==
 
== Visual Layout ==
Line 39: Line 48:
 
|-
 
|-
 
! 0x00
 
! 0x00
| 00 || 02 || 00
+
| style="background:#CEE0F2" | '''unk1'''
| colspan="4" style="background:#CEE0F2" | '''sNpcActorIdOffset'''
+
| colspan="2" style="background:#8FA6E8" | '''unk2'''
| colspan="1" style="background:#CEE0F2" | '''sNpcSkin '''
+
| style="background:#f1cbff" | '''unk3'''
| colspan="1" style="background:#CEE0F2" | '''sNpcPersonality '''
+
| colspan="2" style="background:#f0f8ff" | '''sNpcActorIdOffset'''
| 00 || 00 || 00 || 00 || 00 || 00 || 00
+
| style="background:#C0E8A7" | '''sNpcSkin '''
 +
| style="background:#f1cbff" | '''sNpcPersonality '''
 +
| style="background:#ffb3ba" | '''completedInstance'''
 +
| colspan="7" style="background:#eedfcc" |  
 
|-
 
|-
 
! 0x10
 
! 0x10
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
+
| colspan="16" rowspan="3" style="background:#eedfcc" | '''completedQuests'''
|-
 
! 0x20
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
|-
 
! 0x30
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
|-
 
! 0x40
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
|-
 
! 0x50
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
|-
 
! 0x60
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
|-
 
! 0x70
 
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
 
|-
 
|-
! 0x80
+
! ~
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
 
|-
 
|-
! 0x90
+
! 0xF0
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  || 00
 
 
|-
 
|-
 
! 0x100
 
! 0x100
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00  
+
| colspan="3" style="background:#eedfcc" |
| colspan="7" style="background:#CEE0F2" |
+
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00
 
|-
 
|-
 
! 0x110
 
! 0x110
| colspan="16" rowspan="4" style="background:#CEE0F2" | '''completedQuests'''
+
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00
 
|-
 
|-
 
! 0x120
 
! 0x120
 +
| 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00
 
|}
 
|}

Revision as of 17:17, 22 March 2019

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.

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 unk2 Unknown. Set to 0x2.
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 First four bits open up the cutscenes in the "Instanced Raids" category in the following order: Toto-Rak, Dzemael, Aurum Vale, Cutter’s Cry
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.


Visual Layout

Packet Data Layout
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF
0x00 unk1 unk2 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