User Tools

Site Tools


developer:legacy_protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
developer:legacy_protocol [2024/12/29 04:30] – created bunnynabbitdeveloper:legacy_protocol [2025/03/12 11:24] (current) – [Legacy Protocol] Clarify packet types in messages bunnynabbit
Line 1: Line 1:
 ====== Legacy Protocol ====== ====== Legacy Protocol ======
-A networking protocol used by the legacy client/server. It is built on the message format of the Http Dll 2 GameMaker extension. + 
-Every message may be optionally compressed with deflate. Client and server will always attempt to decompress messages.+A networking protocol used by the legacy client/server. It is built on the message format of the [[https://www.maartenbaert.be/game-maker-dlls/http-dll-2/|Http Dll 2]] GameMaker extension. Every message may be optionally compressed with deflate. Client and server will always attempt to decompress messages. Messages start with a byte specifying its message type. 
 + 
 ===== Data types ===== ===== Data types =====
 All data types are little-endian. All data types are little-endian.
Line 28: Line 30:
 ^ Type      ^ Description  ^ ^ Type      ^ Description  ^
 | String    | Message      | | String    | Message      |
 +==== Set brick attribute (0x09) ====
 +^ Type    ^ Description     ^
 +| Uint32  | Net ID of brick |
 +| String  | Attribute type  |
 +=== Type: pos ===
 +Sets position of brick.
 +^ Type  ^ Description ^
 +| Float | X position  |
 +| Float | Y position  |
 +| Float | Z position  |
 +=== Type: rot ===
 +Old method of setting brick rotation. Only allows Z rotation to be set.
 +^ Type  ^ Description ^
 +| Uint32 | Z rotation  |
 +=== Type: rot2 ===
 +Sets brick rotation.
 +^ Type  ^ Description ^
 +| Int32 | X rotation  |
 +| Int32 | Y rotation  |
 +| Int32 | Z rotation  |
 +=== Type: scale ===
 +Sets brick scale.
 +^ Type  ^ Description ^
 +| Uint32 | X scale    |
 +| Uint32 | Y scale    |
 +| Uint32 | Z scale    |
 +Time is in milliseconds.
 +=== Type: kill ===
 +Activates physics on brick and remove brick from world after set time.
 +^ Type  ^ Description ^
 +| Uint32 | Time       |
 +Time is in milliseconds.
 +=== Type: destroy ===
 +Deletes brick from world.
 +^ Type  ^ Description ^
 +| Float | Color       |
 +=== Type: col ===
 +Sets color of brick.
 +^ Type  ^ Description ^
 +| Float | Color       |
 +=== Type: alpha ===
 +Sets transparency of brick.
 +^ Type  ^ Description ^
 +| Float | Alpha       |
 +Alpha value ranges from 0 to 1.
 +=== Type: lightcol ===
 +Sets light color of brick.
 +^ Type    ^ Description ^
 +| Uint32  | Color       |
 +=== Type: lightrange ===
 +Sets light range of brick.
 +^ Type    ^ Description  ^
 +| Uint32  | Mesh UUID    |
 +=== Type: model ===
 +Sets mesh on brick.
 +^ Type    ^ Description  ^
 +| String  | Mesh UUID    |
 +| String  | Texture UUID |
 +A mesh UUID of ''none'' will remove the mesh.
 +=== Type: clickable ===
 +Sets clickable status on brick.
 +^ Type    ^ Description       ^
 +| Boolean | Clickable enabled |
 +| Uint32  | Click distance    |
 +=== Type: collide ===
 +Sets collision of brick.
 +^ Type    ^ Description       ^
 +| Boolean | Collision enabled |
 +=== Type: global ===
 +Moves brick to the internal global cluster model.
 +==== Delete bricks (0x10) ====
 +Delete bricks from the world.
 +==== Create bricks (0x11) ====
 +Loads bricks into the world.
 +==== Clear world (0x0E) ====
 +Deletes all bricks from the world. No message data is specified.
 +==== Brick model (0x14) ====
 +<WRAP todo>
 +What happens if a brick model is defined for an already existing mesh ID? Knowing what happens may be useful information.
 +</WRAP>
 +Defines a mesh made out of bricks to the mesh cache. The model can then be used as a brick model or a hat by using the newly defined mesh ID.
 +^ Type      ^ Description           ^
 +| String    | Mesh ID               |
 +| Uint32    | Brick count of model  |
 +Bricks are defined for the number of bricks in model.
 +^ Type      ^ Description           ^
 +| Float     | X position            |
 +| Float     | Y position            |
 +| Float     | Z position            |
 +| Float     | X scale               |
 +| Float     | Y scale               |
 +| Float     | Z scale               |
 +| Int32     | X rotation            |
 +| Int32     | Y rotation            |
 +| Int32     | Z rotation            |
 +| Uint32    | Color                 |
 +| Float     | Alpha                 |
 ===== Client to server ===== ===== Client to server =====
 todo todo
developer/legacy_protocol.1735443033.txt.gz · Last modified: 2024/12/29 04:30 by bunnynabbit