vault backup: 2023-05-07 22:58:19
This commit is contained in:
parent
345278cb9a
commit
4c606da971
10 changed files with 316 additions and 52 deletions
0
.history/mdzk_20230330121755.toml
Normal file
0
.history/mdzk_20230330121755.toml
Normal file
1
.history/mdzk_20230330121922.toml
Normal file
1
.history/mdzk_20230330121922.toml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
title="Scrapland"
|
10
Callbacks.md
10
Callbacks.md
|
@ -1,13 +1,13 @@
|
||||||
They can be used in function parameters like so:
|
They can be used in function parameters like so:
|
||||||
```python
|
```python
|
||||||
SAct.SetAct("EventFunc","!<CallbackName>")
|
SAct.SetAct("EventFunc","!<Callback_Name>")
|
||||||
```
|
```
|
||||||
|
|
||||||
Or directly called from python:
|
Or directly called from python:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
# Set Callback function
|
# Set Callback function
|
||||||
Scrap.SetCallFunc("!<Callback Name>")
|
Scrap.SetCallFunc("!<Callback_Name>")
|
||||||
# Add parameters
|
# Add parameters
|
||||||
Scrap.AddParams(str)
|
Scrap.AddParams(str)
|
||||||
Scrap.AddParamf(float)
|
Scrap.AddParamf(float)
|
||||||
|
@ -18,6 +18,12 @@ Scrap.Execute()
|
||||||
|
|
||||||
Note the `!` symbol in front of the callback name
|
Note the `!` symbol in front of the callback name
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
|
||||||
|
- EditText:
|
||||||
|
- player_id: int
|
||||||
|
- scorer_item_name: str
|
||||||
|
|
||||||
## OG
|
## OG
|
||||||
|
|
||||||
| Callback setup address | Callback name | Callback funcion | Callback address |
|
| Callback setup address | Callback name | Callback funcion | Callback address |
|
||||||
|
|
164
Chunked.md
164
Chunked.md
|
@ -19,13 +19,13 @@ struct Block {
|
||||||
|
|
||||||
# Block IDs
|
# Block IDs
|
||||||
|
|
||||||
File ID | Chunk IDs
|
| File ID | Chunk IDs |
|
||||||
------- | ------------------------------------------------------------------------------
|
| ------- | ------------------------------------------------------------------------------ |
|
||||||
AMC | AMC, CMSH, QUAD
|
| AMC | AMC, CMSH, QUAD |
|
||||||
CM3 | ANI, CM3, EVA, NAE, NAM, SCN
|
| CM3 | ANI, CM3, EVA, NAE, NAM, SCN |
|
||||||
DUM | DUM, INI
|
| DUM | DUM, INI |
|
||||||
EMI | EMI, LFVF, MAP, MAT, TRI
|
| EMI | EMI, LFVF, MAP, MAT, TRI |
|
||||||
SM3 | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL
|
| SM3 | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL |
|
||||||
|
|
||||||
Read types:
|
Read types:
|
||||||
|
|
||||||
|
@ -36,26 +36,28 @@ Read types:
|
||||||
- `3f`: array of 3 4-byte floats
|
- `3f`: array of 3 4-byte floats
|
||||||
- `3i`: array of 3 4-byte unsigned integers
|
- `3i`: array of 3 4-byte unsigned integers
|
||||||
|
|
||||||
Chunk ID | Description | Reads
|
| Chunk ID | Description | Reads |
|
||||||
-------- | --------------------------- | ------------------------
|
| -------- | --------------------------- | ------------------------ |
|
||||||
AMC | Collision Data |
|
| AMC | Collision Data |
|
||||||
ANI | Animation data? |
|
| ANI | Animation data? |
|
||||||
CAM | Camera info? |
|
| CAM | Camera info? |
|
||||||
CMSH | Collision Mesh Data |
|
| CMSH | Collision Mesh Data |
|
||||||
DUM | Dummy (map object) data |
|
| EVA | Vertex animation data |
|
||||||
INI | INI-Configuration data |
|
| DUM | Dummy (map object) data |
|
||||||
LFVF | FVF Vertex Data |
|
| INI | INI-Configuration data |
|
||||||
LUZ | Lighting information |
|
| LFVF | FVF Vertex Data |
|
||||||
MAP | UV Map? |
|
| LUZ | Lighting information |
|
||||||
MAT | Material information |
|
| MAP | Lightmap |
|
||||||
NAE | Animation Data? |
|
| MAT | Material information |
|
||||||
NAM | Animation Data? |
|
| NAE | Animation Data? |
|
||||||
PORT | Map portals? | i==1, i, i, 4, 4
|
| NAM | Animation Data? |
|
||||||
QUAD | Mesh data? |
|
| PORT | Map portals | `i==1, i, i, 4, 4`
|
||||||
SCN | Scene data? |
|
| QUAD | Mesh data? |
|
||||||
SUEL | Ground plane? | 0x18, 0xc, 4, 4, 4, 0x18
|
| SCN | Scene tree data |
|
||||||
TRI | Triangle strip definitions? |
|
| SUEL | Ground Plane? | 0x18, 0xc, 4, 4, 4, 0x18
|
||||||
MD3D | 3D Model definition? |
|
| TRI | Triangle Mesh |
|
||||||
|
| MD3D | 3D Model definition |
|
||||||
|
| EMI | Level geometry |
|
||||||
|
|
||||||
# Format of Specific chunks
|
# Format of Specific chunks
|
||||||
|
|
||||||
|
@ -76,7 +78,6 @@ struct INI {
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## LFVF
|
## LFVF
|
||||||
|
|
||||||
DirectX Flexible Vertex Format Data
|
DirectX Flexible Vertex Format Data
|
||||||
|
@ -84,7 +85,7 @@ DirectX Flexible Vertex Format Data
|
||||||
```cpp
|
```cpp
|
||||||
struct Vertex { // fields according to flags
|
struct Vertex { // fields according to flags
|
||||||
float position[3]; // D3DFVF_XYZ | D3DFVF_XYZRHW | D3DFVF_XYZB*
|
float position[3]; // D3DFVF_XYZ | D3DFVF_XYZRHW | D3DFVF_XYZB*
|
||||||
float rhw; // D3DFVF_XYZRHW
|
// float rhw; // unused even with D3DFVF_XYZRHW
|
||||||
float weights[3]; // D3DFVF_XYZB*
|
float weights[3]; // D3DFVF_XYZB*
|
||||||
float normal[3]; // D3DFVF_NORMAL
|
float normal[3]; // D3DFVF_NORMAL
|
||||||
float point_size; // D3DFVF_PSIZE
|
float point_size; // D3DFVF_PSIZE
|
||||||
|
@ -94,7 +95,7 @@ struct Vertex { // fields according to flags
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LFVF {
|
struct LFVF {
|
||||||
uint32_t unk;
|
uint32_t version;
|
||||||
uint32_t num_entries;
|
uint32_t num_entries;
|
||||||
struct {
|
struct {
|
||||||
uint32_t FVF; // FVF vertex data configuration
|
uint32_t FVF; // FVF vertex data configuration
|
||||||
|
@ -138,3 +139,106 @@ struct MAP {
|
||||||
// TODO: rest
|
// TODO: rest
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## SCN
|
||||||
|
|
||||||
|
- Tree structure
|
||||||
|
|
||||||
|
```
|
||||||
|
Escena: Models/Chars/Dtritus/Dtritus.M3D
|
||||||
|
_raiz_escena -1 0 -1 c:(null) f:00000001 a:0000
|
||||||
|
DC_Root 0 1 -1 c:(null) f:00010090 a:0000
|
||||||
|
DC_Camera 1 93 -1 c:(null) f:00420090 a:0000
|
||||||
|
DC_Floor 2 94 -1 c:(null) f:00420090 a:0000
|
||||||
|
Bip Detritus MASTER 4 2 -1 c:(null) f:00200090 a:0000
|
||||||
|
Bip Detritus 5 3 -1 c:(null) f:00200190 a:0000
|
||||||
|
Bip Detritus Pelvis 7 4 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Spine 8 5 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Spine1 9 6 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Spine2 10 7 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Neck 11 8 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Head 12 9 -1 c:MallaD3D f:00300110 a:0000 [skin]
|
||||||
|
Bip Detritus Ponytail1 14 10 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Ponytail11 15 11 -1 c:(null) f:00380190 a:0000
|
||||||
|
Bip Detritus Ponytail12 16 12 -1 c:(null) f:00380190 a:0000
|
||||||
|
Bip Detritus Ponytail2 18 13 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus Ponytail21 19 14 -1 c:(null) f:00300190 a:0000
|
||||||
|
BipBone Detritus MechonDer_01 23 15 -1 c:(null) f:00300190 a:0000
|
||||||
|
BipBone Detritus MechonDer_02 24 16 -1 c:(null) f:00380190 a:0000
|
||||||
|
BipBone Detritus MechonDer_03 25 17 -1 c:(null) f:00380190 a:0000
|
||||||
|
BipBone Detritus MechonIzq_01 27 18 -1 c:(null) f:00300190 a:0000
|
||||||
|
BipBone Detritus MechonIzq_02 28 19 -1 c:(null) f:00380190 a:0000
|
||||||
|
BipBone Detritus MechonIzq_03 29 20 -1 c:(null) f:00380190 a:0000
|
||||||
|
R_Detritus_Cabeza-Cara&Pelo 37 21 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Cabeza-Mechones 38 22 -1 c:MallaD3D f:00000010 a:FF7F [skin]
|
||||||
|
R_Detritus_Cabeza-Ceja_Izq 39 23 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-Ceja_Der 40 24 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-Ojo_Izq 41 25 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-Ojo_Der 42 26 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-OjoParpado_Der 43 27 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-OjoParpado_Izq 44 28 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Cabeza-PeloMechones 45 29 -1 c:MallaD3D f:00000070 a:FF7F [skin]
|
||||||
|
Bip Detritus L Clavicle 54 30 -1 c:(null) f:00200190 a:0000
|
||||||
|
Bip Detritus L UpperArm 55 31 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Forearm 56 32 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Hand 57 33 -1 c:MallaD3D f:00300110 a:0000 [skin]
|
||||||
|
Bip Detritus L Finger0 58 34 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger01 59 35 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger1 61 36 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger11 62 37 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger2 64 38 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger21 65 39 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger3 67 40 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Finger31 68 41 -1 c:(null) f:00300190 a:0000
|
||||||
|
R_Detritus_Antebrazo_Izq 71 42 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Codo_Izq 72 43 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Antebrazo-Doblez_Izq 73 44 -1 c:MallaD3D f:00000010 a:FF7F [skin]
|
||||||
|
R_Detritus_Brazo-CilindroB-Eje_Izq 75 45 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Brazo-CilindroB_Izq 76 46 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Brazo_Izq 77 47 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Brazo-CilindroA_Izq 79 48 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
Bip Detritus R Clavicle 80 49 -1 c:(null) f:00200190 a:0000
|
||||||
|
Bip Detritus R UpperArm 81 50 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Forearm 82 51 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Hand 83 52 -1 c:MallaD3D f:00300110 a:0000 [skin]
|
||||||
|
Bip Detritus R Finger0 84 53 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger01 85 54 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger1 87 55 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger11 88 56 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger2 90 57 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger21 91 58 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger3 93 59 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Finger31 94 60 -1 c:(null) f:00300190 a:0000
|
||||||
|
R_Detritus_Antebrazo_Der 97 61 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Codo_Der 98 62 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Antebrazo-Doblez_Der 99 63 -1 c:MallaD3D f:00000010 a:FF7F [skin]
|
||||||
|
R_Detritus_Brazo-CilindroB-Eje_Der 100 64 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Brazo-CilindroB_Der 102 65 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Brazo_Der 103 66 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Brazo-CilindroA_Der 105 67 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Tronco 106 68 -1 c:MallaD3D f:00000010 a:FF7F [skin]
|
||||||
|
Bip Detritus L Thigh 107 69 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Calf 108 70 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Foot 109 71 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus L Toe0 110 72 -1 c:(null) f:00300190 a:0000
|
||||||
|
R_Detritus_Espinilla_Izq 112 73 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Rodilla_Izq 113 74 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Pierna-CilindroB_Izq 114 75 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Espinilla-CilindroA_Izq 116 76 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Talon_Izq 118 77 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Espinilla-CilindroB_Izq 119 78 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Pierna_Izq 121 79 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Pierna-CilindroA_Izq 122 80 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
Bip Detritus R Thigh 124 81 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Calf 125 82 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Foot 126 83 -1 c:(null) f:00300190 a:0000
|
||||||
|
Bip Detritus R Toe0 127 84 -1 c:(null) f:00300190 a:0000
|
||||||
|
R_Detritus_Talon_Der 129 85 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Espinilla-CilindroB_Der 130 86 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Espinilla_Der 132 87 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Rodilla_Der 133 88 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Pierna-CilindroB_Der 135 89 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Espinilla-CilindroA_Der 136 90 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
R_Detritus_Pierna_Der 138 91 -1 c:MallaD3D f:00000010 a:0000 [skin]
|
||||||
|
R_Detritus_Pierna-CilindroA_Der 139 92 -1 c:MallaD3D f:00000010 a:0000
|
||||||
|
```
|
2
File.md
2
File.md
|
@ -8,7 +8,7 @@
|
||||||
.sm3 | 3d model file | y
|
.sm3 | 3d model file | y
|
||||||
.dum | Dummy (map object) file | y
|
.dum | Dummy (map object) file | y
|
||||||
.pth | AI Path | n
|
.pth | AI Path | n
|
||||||
.emi | Emission maps/Materials? | y
|
.emi | Level geometry | y
|
||||||
.amc | Collision Data | y
|
.amc | Collision Data | y
|
||||||
.ini | Configuration | n
|
.ini | Configuration | n
|
||||||
.txa | Texture Animation Config | n
|
.txa | Texture Animation Config | n
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# MultiSpriteTable
|
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
struct Tile {
|
struct Tile {
|
||||||
|
|
|
@ -2,24 +2,39 @@
|
||||||
|
|
||||||
Fixed Key: `020406080a0c0e10121416181a1c1e20222426282a2c2e30323436383a3c3e40`
|
Fixed Key: `020406080a0c0e10121416181a1c1e20222426282a2c2e30323436383a3c3e40`
|
||||||
Packet Structure:
|
Packet Structure:
|
||||||
|
```rust
|
||||||
|
struct Packet {
|
||||||
|
#[len=pad_16(nonce_len)]
|
||||||
|
nonce: Vec<u8>,
|
||||||
|
#[len=pad_16(data_len)]
|
||||||
|
data: Vec<u8>,
|
||||||
|
nonce_len: u64,
|
||||||
|
data_len: u64
|
||||||
|
tag: [u8;16]
|
||||||
|
}
|
||||||
|
```
|
||||||
```
|
```
|
||||||
[0..nonce_len]: nonce
|
|
||||||
[nonce_len..(16-nonce_len%16)]: padding
|
|
||||||
[16..ciphertext_len]: Ciphertext
|
|
||||||
[nonce_len+(16-nonce_len%16)+ciphertext_len]
|
|
||||||
|
|
||||||
|
|
||||||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
||||||
0000 ED C9 C2 F4 7C 6D F2 54 42 EF 46 F6 00 00 00 00 ....|m.TB.F.....
|
0000 ED C9 C2 F4 7C 6D F2 54 42 EF 46 F6 00 00 00 00 ....|m.TB.F.....
|
||||||
|
|
||||||
0010 68 13 5C 9A 2B 18 DB 9C 76 BE A0 8A 3E 49 79 3C h.\.+...v...>Iy<
|
0010 68 13 5C 9A 2B 18 DB 9C 76 BE A0 8A 3E 49 79 3C h.\.+...v...>Iy<
|
||||||
0020 8D 7A C4 4C 8B B0 A4 94 E5 B5 89 54 A6 ED 6D 75 .z.L.......T..mu
|
0020 8D 7A C4 4C 8B B0 A4 94 E5 B5 89 54 A6 ED 6D 75 .z.L.......T..mu
|
||||||
0030 1A CA A8 4B 22 B5 03 84 F7 3C DE 4E B0 30 81 29 ...K"....<.N.0.)
|
0030 1A CA A8 4B 22 B5 03 84 F7 3C DE 4E B0 30 81 29 ...K"....<.N.0.)
|
||||||
0040 3B 70 45 15 33 C0 97 67 85 6B 28 EF 2E 2E D1 83 ;pE.3..g.k(.....
|
0040 3B 70 45 15 33 C0 97 67 85 6B 28 EF 2E 2E D1 83 ;pE.3..g.k(.....
|
||||||
0050 E6 56 A7 81 53 89 3E 52 D8 82 CF 77 92 CF C2 D6 .V..S.>R...w....
|
0050 E6 56 A7 81 53 89 3E 52 D8 82 CF 77 92 CF C2 D6 .V..S.>R...w....
|
||||||
0060 9F 37 C5 DE EE 14 4D 3F 1F 82 32 7E 00 00 00 00 .7....M?..2~....
|
0060 9F 37 C5 DE EE 14 4D 3F 1F 82 32 7E 00 00 00 00 .7....M?..2~....
|
||||||
|
|
||||||
0070 0C 00 00 00 00 00 00 00 5C 00 00 00 00 00 00 00 ........\.......
|
0070 0C 00 00 00 00 00 00 00 5C 00 00 00 00 00 00 00 ........\.......
|
||||||
|
|
||||||
0080 89 7A A8 32 93 56 B6 68 24 E0 58 63 7F 70 5A D2 .z.2.V.h$.Xc.pZ.
|
0080 89 7A A8 32 93 56 B6 68 24 E0 58 63 7F 70 5A D2 .z.2.V.h$.Xc.pZ.
|
||||||
```
|
```
|
||||||
|
Decryption algorithm (Pseudocode):
|
||||||
|
```python
|
||||||
|
cipher = ChaCha20(key,pkt.nonce)
|
||||||
|
packet_key = cipher.decrypt(key)
|
||||||
|
cipher.seek(packet_key.len()+32)
|
||||||
|
data = cipher.decrypt(pkt.data)
|
||||||
|
```
|
||||||
Decrypted:
|
Decrypted:
|
||||||
```
|
```
|
||||||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
||||||
|
|
|
@ -37,10 +37,10 @@ Hexdump:
|
||||||
0110 00 14 00 9E FF F6 E8 C8 9F 08 22 FC 8F F3 FF FF ..........".....
|
0110 00 14 00 9E FF F6 E8 C8 9F 08 22 FC 8F F3 FF FF ..........".....
|
||||||
```
|
```
|
||||||
|
|
||||||
Split up into chunks:
|
Split up into parts:
|
||||||
|
|
||||||
```
|
```
|
||||||
0f 00 0002 0007 00 7544b3c5 90183747 74c6b246 0098
|
0f00 0002 0007 00 7544b3c5 90183747 74c6b246 0098
|
||||||
|
|
||||||
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
||||||
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
||||||
|
@ -67,16 +67,16 @@ Size: 0285 PlyId: 002 NumVals: 007
|
||||||
Structure:
|
Structure:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
0f00 # Unk (TypeID?)
|
||||||
0f00 # Unk
|
|
||||||
0002 # PlayerID
|
0002 # PlayerID
|
||||||
0007 # Num Vals
|
0007 # Num Vals
|
||||||
00 # Unk
|
00 # Unk (Flags?)
|
||||||
7544b3c5 # Pos.X
|
7544b3c5 # Pos.X
|
||||||
90183747 # Pos.Y
|
90183747 # Pos.Y
|
||||||
74c6b246 # Pos.Z
|
74c6b246 # Pos.Z
|
||||||
00 # Player Index
|
00 # Player Index
|
||||||
98 # Rtt
|
98 # Rtt
|
||||||
|
# Ent_ID, Ent_Type, Data
|
||||||
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
||||||
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
||||||
0200 00 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c
|
0200 00 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c
|
||||||
|
@ -84,7 +84,6 @@ Structure:
|
||||||
2402 15 9e7f005800b5ff20f1f01904210bd5f5ffff
|
2402 15 9e7f005800b5ff20f1f01904210bd5f5ffff
|
||||||
2302 15 9f4a6cd1c44625314792e5b04614cb45d6da5c26aa4e44a2ca72c5cdb4edc3ffff
|
2302 15 9f4a6cd1c44625314792e5b04614cb45d6da5c26aa4e44a2ca72c5cdb4edc3ffff
|
||||||
2202 15 9e7e0014009efff6e8c89f0822fc8ff3ffff
|
2202 15 9e7e0014009efff6e8c89f0822fc8ff3ffff
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
```c
|
```c
|
||||||
|
@ -93,7 +92,7 @@ Structure:
|
||||||
struct NetValue {
|
struct NetValue {
|
||||||
le u16 entity_index;
|
le u16 entity_index;
|
||||||
u8 entity_type;
|
u8 entity_type;
|
||||||
char data[?]; // TODO: how is length determined?
|
char data[?]; // length depends on entity type
|
||||||
};
|
};
|
||||||
|
|
||||||
struct NetData {
|
struct NetData {
|
||||||
|
@ -111,16 +110,50 @@ struct NetData {
|
||||||
|
|
||||||
Packets are split into Data packets (map change, resources, chat message, etc) and entity (position?) updates
|
Packets are split into Data packets (map change, resources, chat message, etc) and entity (position?) updates
|
||||||
|
|
||||||
## Packet types
|
## Entity Types
|
||||||
|
- 00: Vehicle
|
||||||
|
- 01: Cloud
|
||||||
|
- 02: Swarm
|
||||||
|
- 03: Inferno
|
||||||
|
- 04: Sonic
|
||||||
|
- 05: EMI
|
||||||
|
- 06: Box:Ener
|
||||||
|
- 07: Box:Miss
|
||||||
|
- 08: Box:Part
|
||||||
|
- 09: Box:Life
|
||||||
|
- 10: Box:iXtr
|
||||||
|
- 11: Box:iSiz
|
||||||
|
- 12: Box:aBom
|
||||||
|
- 13: Box:aSpd
|
||||||
|
- 14: Box:dAim
|
||||||
|
- 15: Box:dBom
|
||||||
|
- 16: Box:tAim
|
||||||
|
- 17: Box:tTra
|
||||||
|
- 18: Box:sRot
|
||||||
|
- 19: Box:sRck
|
||||||
|
- 20: Box:vAim
|
||||||
|
- 21: Box:vSpd
|
||||||
|
|
||||||
- 00: MapChange:
|
## Server->Client Packet Types
|
||||||
|
|
||||||
|
- 00: Player Join
|
||||||
|
- 02: Disconnect
|
||||||
|
- 03: Chat String
|
||||||
|
- 04: Usr String
|
||||||
|
- 05: Unk (Keepalive?)
|
||||||
|
- 06: Player Modify
|
||||||
|
- 08: Remote command
|
||||||
|
|
||||||
|
## Client->Server Packet types
|
||||||
|
|
||||||
|
- 00: Map Change:
|
||||||
- str map_name
|
- str map_name
|
||||||
- str game_mode
|
- str game_mode
|
||||||
|
|
||||||
- 01: Resource:
|
- 01: Resource:
|
||||||
- u8: unk
|
- u16: resource_index
|
||||||
- u16?: num_resources
|
- u16: unk
|
||||||
- [str: resource_name]*num_resources
|
- [str: resource_name] repeated num_resources times
|
||||||
|
|
||||||
- 02: Unknown (Keepalive?)
|
- 02: Unknown (Keepalive?)
|
||||||
|
|
||||||
|
|
102
Netplay/Samples.md
Normal file
102
Netplay/Samples.md
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
`8f19001b041644282d353733362c2034363837322c20323238383329030027007544b3c59018374774c6b24605ae05000009915f3c00065187f70a0004080900008a007e6f00d1fed2fdfe5dffc2f89a006a090000000100000c105f830006f00100070000c8007e4d088cfeafffe2bb000000feff000000000000000009105f980003a1020001050043007e38fecdfec2ff15c30073ff04008a0000000002000000105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c2502151fb785aac5e90a3947ab9db446931389c8046e09ea58455833ec44a4f21ac4ffff00002402151f835da7c5cc113747af38ae46c20f67c8abc43230634572e5c0440d291fc4ffff00002302151fd135b4c5ef1c39472d84b3469b0ebdc4d64f929168458679b344e89597c3ffff00002202151f8876b2c51ead3747dafdad46dc1062c9c1c8b96d5f45ea9ccd448a5a33c4ffff00001f020b0376a8e2475b6e5b467c1e99461e020903982d14c5ec79cb45b2ee96471d020e03b29dbc46caa433464a28a0c71c020603aa80514658b8ab458db025c71b020803ce492f4658b8ab4514d320c71a02070344532f4658b8ab4587cf16c7190205031b3a0d4658b8ab459eaf25c7180206030ac34c4669e1fd469891ca47170208032e8c2a4669e1fd465500cd4716020703a4952a4669e1fd461b02d247150205037b7c084669e1fd460f92ca4714020603da6b7ec714aa3746b77c5a4713020803c87c83c714aa3746305a5f47120207039a7b83c714aa3746bd5d694711020503bfbe87c714aa3746a67d5a4710020803c5c719474ad5d445a7b3d2c60f0206037c5522474ad5d4459a6edcc60e02070323ca19474ad5d4458dacbec60d020503d84311474ad5d445bb6cdcc60c020603a9b16b47d52d974602dd15470b020803f2236347d52d97467bba1a470a02070350266347d52d974608be24470902050305a05a47d52d9746f1dd1547080206031f4066c6384b9c46955bd345070208037e3b84c6384b9c466147fa4506020703c33684c6384b9c46e431254605020503574395c6384b9c461063d34504020603ba349bc77a60294640f387c103020803957b9fc77a602946658f994402020703677a9fc77a60294680006d45010205038cbda3c77a602946807880c1`
|
||||||
|
```
|
||||||
|
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||||
|
0000 8f 19 00 1b 04 16 44 28 2d 35 37 33 36 2c 20 34 ......D(-5736, 4
|
||||||
|
0010 36 38 37 32 2c 20 32 32 38 38 33 29 03 00 27 00 6872, 22883)..'.
|
||||||
|
0020 75 44 b3 c5 90 18 37 47 74 c6 b2 46 05 ae 05 00 uD....7Gt..F....
|
||||||
|
0030 00 09 91 5f 3c 00 06 51 87 f7 0a 00 04 08 09 00 ..._<..Q........
|
||||||
|
0040 00 8a 00 7e 6f 00 d1 fe d2 fd fe 5d ff c2 f8 9a ...~o......]....
|
||||||
|
0050 00 6a 09 00 00 00 01 00 00 0c 10 5f 83 00 06 f0 .j........._....
|
||||||
|
0060 01 00 07 00 00 c8 00 7e 4d 08 8c fe af ff e2 bb .......~M.......
|
||||||
|
0070 00 00 00 fe ff 00 00 00 00 00 00 00 00 09 10 5f ..............._
|
||||||
|
0080 98 00 03 a1 02 00 01 05 00 43 00 7e 38 fe cd fe .........C.~8...
|
||||||
|
0090 c2 ff 15 c3 00 73 ff 04 00 8a 00 00 00 00 02 00 .....s..........
|
||||||
|
00a0 00 00 10 5f 00 00 06 21 e0 00 da f7 b1 f7 3a 00 ..._...!......:.
|
||||||
|
00b0 00 c8 00 ff 75 44 b3 c5 90 18 37 47 74 c6 b2 46 ....uD....7Gt..F
|
||||||
|
00c0 97 f5 d7 02 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
||||||
|
00d0 00 00 00 00 00 00 00 00 2c 25 02 15 1f b7 85 aa ........,%......
|
||||||
|
00e0 c5 e9 0a 39 47 ab 9d b4 46 93 13 89 c8 04 6e 09 ...9G...F.....n.
|
||||||
|
00f0 ea 58 45 58 33 ec 44 a4 f2 1a c4 ff ff 00 00 24 .XEX3.D........$
|
||||||
|
0100 02 15 1f 83 5d a7 c5 cc 11 37 47 af 38 ae 46 c2 ....]....7G.8.F.
|
||||||
|
0110 0f 67 c8 ab c4 32 30 63 45 72 e5 c0 44 0d 29 1f .g...20cEr..D.).
|
||||||
|
0120 c4 ff ff 00 00 23 02 15 1f d1 35 b4 c5 ef 1c 39 .....#....5....9
|
||||||
|
0130 47 2d 84 b3 46 9b 0e bd c4 d6 4f 92 91 68 45 86 G-..F.....O..hE.
|
||||||
|
0140 79 b3 44 e8 95 97 c3 ff ff 00 00 22 02 15 1f 88 y.D........"....
|
||||||
|
0150 76 b2 c5 1e ad 37 47 da fd ad 46 dc 10 62 c9 c1 v....7G...F..b..
|
||||||
|
0160 c8 b9 6d 5f 45 ea 9c cd 44 8a 5a 33 c4 ff ff 00 ..m_E...D.Z3....
|
||||||
|
0170 00 1f 02 0b 03 76 a8 e2 47 5b 6e 5b 46 7c 1e 99 .....v..G[n[F|..
|
||||||
|
0180 46 1e 02 09 03 98 2d 14 c5 ec 79 cb 45 b2 ee 96 F.....-...y.E...
|
||||||
|
0190 47 1d 02 0e 03 b2 9d bc 46 ca a4 33 46 4a 28 a0 G.......F..3FJ(.
|
||||||
|
01a0 c7 1c 02 06 03 aa 80 51 46 58 b8 ab 45 8d b0 25 .......QFX..E..%
|
||||||
|
01b0 c7 1b 02 08 03 ce 49 2f 46 58 b8 ab 45 14 d3 20 ......I/FX..E..
|
||||||
|
01c0 c7 1a 02 07 03 44 53 2f 46 58 b8 ab 45 87 cf 16 .....DS/FX..E...
|
||||||
|
01d0 c7 19 02 05 03 1b 3a 0d 46 58 b8 ab 45 9e af 25 ......:.FX..E..%
|
||||||
|
01e0 c7 18 02 06 03 0a c3 4c 46 69 e1 fd 46 98 91 ca .......LFi..F...
|
||||||
|
01f0 47 17 02 08 03 2e 8c 2a 46 69 e1 fd 46 55 00 cd G......*Fi..FU..
|
||||||
|
0200 47 16 02 07 03 a4 95 2a 46 69 e1 fd 46 1b 02 d2 G......*Fi..F...
|
||||||
|
0210 47 15 02 05 03 7b 7c 08 46 69 e1 fd 46 0f 92 ca G....{|.Fi..F...
|
||||||
|
0220 47 14 02 06 03 da 6b 7e c7 14 aa 37 46 b7 7c 5a G.....k~...7F.|Z
|
||||||
|
0230 47 13 02 08 03 c8 7c 83 c7 14 aa 37 46 30 5a 5f G.....|....7F0Z_
|
||||||
|
0240 47 12 02 07 03 9a 7b 83 c7 14 aa 37 46 bd 5d 69 G.....{....7F.]i
|
||||||
|
0250 47 11 02 05 03 bf be 87 c7 14 aa 37 46 a6 7d 5a G..........7F.}Z
|
||||||
|
0260 47 10 02 08 03 c5 c7 19 47 4a d5 d4 45 a7 b3 d2 G.......GJ..E...
|
||||||
|
0270 c6 0f 02 06 03 7c 55 22 47 4a d5 d4 45 9a 6e dc .....|U"GJ..E.n.
|
||||||
|
0280 c6 0e 02 07 03 23 ca 19 47 4a d5 d4 45 8d ac be .....#..GJ..E...
|
||||||
|
0290 c6 0d 02 05 03 d8 43 11 47 4a d5 d4 45 bb 6c dc ......C.GJ..E.l.
|
||||||
|
02a0 c6 0c 02 06 03 a9 b1 6b 47 d5 2d 97 46 02 dd 15 .......kG.-.F...
|
||||||
|
02b0 47 0b 02 08 03 f2 23 63 47 d5 2d 97 46 7b ba 1a G.....#cG.-.F{..
|
||||||
|
02c0 47 0a 02 07 03 50 26 63 47 d5 2d 97 46 08 be 24 G....P&cG.-.F..$
|
||||||
|
02d0 47 09 02 05 03 05 a0 5a 47 d5 2d 97 46 f1 dd 15 G......ZG.-.F...
|
||||||
|
02e0 47 08 02 06 03 1f 40 66 c6 38 4b 9c 46 95 5b d3 G.....@f.8K.F.[.
|
||||||
|
02f0 45 07 02 08 03 7e 3b 84 c6 38 4b 9c 46 61 47 fa E....~;..8K.FaG.
|
||||||
|
0300 45 06 02 07 03 c3 36 84 c6 38 4b 9c 46 e4 31 25 E.....6..8K.F.1%
|
||||||
|
0310 46 05 02 05 03 57 43 95 c6 38 4b 9c 46 10 63 d3 F....WC..8K.F.c.
|
||||||
|
0320 45 04 02 06 03 ba 34 9b c7 7a 60 29 46 40 f3 87 E.....4..z`)F@..
|
||||||
|
0330 c1 03 02 08 03 95 7b 9f c7 7a 60 29 46 65 8f 99 ......{..z`)Fe..
|
||||||
|
0340 44 02 02 07 03 67 7a 9f c7 7a 60 29 46 80 00 6d D....gz..z`)F..m
|
||||||
|
0350 45 01 02 05 03 8c bd a3 c7 7a 60 29 46 80 78 80 E........z`)F.x.
|
||||||
|
0360 c1 .
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Size: 0837 PlyId: 003 NumVals: 039
|
||||||
|
( 0:'net 5'-00) 09915f3c00065187f70a0004080900008a007e6f00d1fed2fdfe5dffc2f89a006a09000000
|
||||||
|
( 1:'net 1'-00) 0c105f830006f00100070000c8007e4d088cfeafffe2bb000000feff0000000000
|
||||||
|
( 2:'net 0'-00) 09105f980003a1020001050043007e38fecdfec2ff15c30073ff04008a00000000
|
||||||
|
( 3:'net 2'-00) 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c
|
||||||
|
( 4:'net549'-15) 1fb785aac5e90a3947ab9db446931389c8046e09ea58455833ec44a4f21ac4ffff0000
|
||||||
|
( 5:'net548'-15) 1f835da7c5cc113747af38ae46c20f67c8abc43230634572e5c0440d291fc4ffff0000
|
||||||
|
( 6:'net547'-15) 1fd135b4c5ef1c39472d84b3469b0ebdc4d64f929168458679b344e89597c3ffff0000
|
||||||
|
( 7:'net546'-15) 1f8876b2c51ead3747dafdad46dc1062c9c1c8b96d5f45ea9ccd448a5a33c4ffff0000
|
||||||
|
( 8:'net543'-0b) 0376a8e2475b6e5b467c1e9946
|
||||||
|
( 9:'net542'-09) 03982d14c5ec79cb45b2ee9647
|
||||||
|
(10:'net541'-0e) 03b29dbc46caa433464a28a0c7
|
||||||
|
(11:'net540'-06) 03aa80514658b8ab458db025c7
|
||||||
|
(12:'net539'-08) 03ce492f4658b8ab4514d320c7
|
||||||
|
(13:'net538'-07) 0344532f4658b8ab4587cf16c7
|
||||||
|
(14:'net537'-05) 031b3a0d4658b8ab459eaf25c7
|
||||||
|
(15:'net536'-06) 030ac34c4669e1fd469891ca47
|
||||||
|
(16:'net535'-08) 032e8c2a4669e1fd465500cd47
|
||||||
|
(17:'net534'-07) 03a4952a4669e1fd461b02d247
|
||||||
|
(18:'net533'-05) 037b7c084669e1fd460f92ca47
|
||||||
|
(19:'net532'-06) 03da6b7ec714aa3746b77c5a47
|
||||||
|
(20:'net531'-08) 03c87c83c714aa3746305a5f47
|
||||||
|
(21:'net530'-07) 039a7b83c714aa3746bd5d6947
|
||||||
|
(22:'net529'-05) 03bfbe87c714aa3746a67d5a47
|
||||||
|
(23:'net528'-08) 03c5c719474ad5d445a7b3d2c6
|
||||||
|
(24:'net527'-06) 037c5522474ad5d4459a6edcc6
|
||||||
|
(25:'net526'-07) 0323ca19474ad5d4458dacbec6
|
||||||
|
(26:'net525'-05) 03d84311474ad5d445bb6cdcc6
|
||||||
|
(27:'net524'-06) 03a9b16b47d52d974602dd1547
|
||||||
|
(28:'net523'-08) 03f2236347d52d97467bba1a47
|
||||||
|
(29:'net522'-07) 0350266347d52d974608be2447
|
||||||
|
(30:'net521'-05) 0305a05a47d52d9746f1dd1547
|
||||||
|
(31:'net520'-06) 031f4066c6384b9c46955bd345
|
||||||
|
(32:'net519'-08) 037e3b84c6384b9c466147fa45
|
||||||
|
(33:'net518'-07) 03c33684c6384b9c46e4312546
|
||||||
|
(34:'net517'-05) 03574395c6384b9c461063d345
|
||||||
|
(35:'net516'-06) 03ba349bc77a60294640f387c1
|
||||||
|
(36:'net515'-08) 03957b9fc77a602946658f9944
|
||||||
|
(37:'net514'-07) 03677a9fc77a60294680006d45
|
||||||
|
(38:'net513'-05) 038cbda3c77a602946807880c1
|
||||||
|
```
|
4
Untitled.canvas
Normal file
4
Untitled.canvas
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"nodes":[],
|
||||||
|
"edges":[]
|
||||||
|
}
|
Loading…
Reference in a new issue