Difference between revisions of "Game Opcodes:Stops control (0x14) and starts (0x15)."
From FFXIV Classic Wiki
(Populating the page and adding Showmo's findings to it until anything else is further confirmed.) |
m (More notes.) |
||
Line 23: | Line 23: | ||
* Switch: If value is >= 16 (0x10), value is used in a switch statement. Switch values used: 16 - 22 (0x10 - 0x16) (AKA: 16, 17, 18, 19, 20, 21, 22). Default case is return (not break), meaning values 23 (0x17) and above are not used. | * Switch: If value is >= 16 (0x10), value is used in a switch statement. Switch values used: 16 - 22 (0x10 - 0x16) (AKA: 16, 17, 18, 19, 20, 21, 22). Default case is return (not break), meaning values 23 (0x17) and above are not used. | ||
− | * | + | * If the value is 15 (0xF) or lower, value is passed into a function and used like an index, storing the sum of Timestamp + value of offset 0x04 in some memory location. Assembly: *(_DWORD *)(v4 + 4 * thisOpcodeValue) = timestampSum; |
+ | ** Opcode 19 (0x13) is some kind of "ActionCheck" debug message for the int value at offset 0x04. | ||
+ | ** If you pass in -1, it prints what the current "ActionCheck" value is. Otherwise, it sets the "ActionCheck" to the value you pass. | ||
+ | ** Opcode 20 (0x14) Locks UI/Movement | ||
+ | ** Opcode 21 (0x15) Unlocks UI/Movement | ||
+ | ***The other opcodes don't seem to have any noticable effect from what I can tell. | ||
+ | ***They store values which likely accessed later by other things (they weren't accessed simply from sending this packet alone). | ||
+ | ***Since some of them (but not all) utilize Game Header Timestamp, that may impact the methods that end up using the stored data. | ||
* unk: Delay? Is added to the Timestamp from Game Packet Header. If this value is -1, then it sets the entire value to 0 instead of Timestamp + thisValue. | * unk: Delay? Is added to the Timestamp from Game Packet Header. If this value is -1, then it sets the entire value to 0 instead of Timestamp + thisValue. | ||
+ | |||
+ | * Jorge - My uneducated guess was it may be related to old battle regimen stuff, back when party size had a max 15 members. | ||
Revision as of 00:30, 28 March 2025
Unknown use-case, just setting the page up for now.
- Opcode - 0x193
- Source - Server
- Data Size - 0x08 bytes
- Requirements -
Data
Offset | Data Type | Length | Variable | Description |
---|---|---|---|---|
0x00 | uint32 | 4 Bytes | Switch | Depending on the value, performs different tasks. |
0x04 | uint32 | 4 Bytes | unk |
Notes
- Switch: If value is >= 16 (0x10), value is used in a switch statement. Switch values used: 16 - 22 (0x10 - 0x16) (AKA: 16, 17, 18, 19, 20, 21, 22). Default case is return (not break), meaning values 23 (0x17) and above are not used.
- If the value is 15 (0xF) or lower, value is passed into a function and used like an index, storing the sum of Timestamp + value of offset 0x04 in some memory location. Assembly: *(_DWORD *)(v4 + 4 * thisOpcodeValue) = timestampSum;
- Opcode 19 (0x13) is some kind of "ActionCheck" debug message for the int value at offset 0x04.
- If you pass in -1, it prints what the current "ActionCheck" value is. Otherwise, it sets the "ActionCheck" to the value you pass.
- Opcode 20 (0x14) Locks UI/Movement
- Opcode 21 (0x15) Unlocks UI/Movement
- The other opcodes don't seem to have any noticable effect from what I can tell.
- They store values which likely accessed later by other things (they weren't accessed simply from sending this packet alone).
- Since some of them (but not all) utilize Game Header Timestamp, that may impact the methods that end up using the stored data.
- unk: Delay? Is added to the Timestamp from Game Packet Header. If this value is -1, then it sets the entire value to 0 instead of Timestamp + thisValue.
- Jorge - My uneducated guess was it may be related to old battle regimen stuff, back when party size had a max 15 members.
Visual Layout
Packet Data layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | Switch | unk |