Difference between revisions of "Game Opcodes:Stops control (0x14) and starts (0x15)."

From FFXIV Classic Wiki
Jump to: navigation, search
(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.
Otherwise 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;
+
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