23 lines
956 B
GDScript
23 lines
956 B
GDScript
extends SceneTree
|
|
|
|
func _init() -> void:
|
|
# 1. float32 encode/decode
|
|
var b: PackedByteArray = ChunkDataDecoder._write_float32(0.5)
|
|
print("float32(0.5) bytes = ", b, " (expected 00 00 00 3f)")
|
|
var decoded_f: float = ChunkDataDecoder._read_float32(PackedByteArray([0x00, 0x00, 0x00, 0x3f]), 0)
|
|
print("read_float32 of 0x3f000000 = ", decoded_f, " (expected 0.5)")
|
|
|
|
# 2. metadata section wrapping: inspect first bytes of encoded payload
|
|
var payload: ChunkDataDecoder.ChunkPayload = ChunkDataDecoder.ChunkPayload.new()
|
|
payload.world_id = "w"
|
|
payload.room_id = "r"
|
|
payload.coord = Vector3i(1, 2, 3)
|
|
var meta: PackedByteArray = ChunkDataDecoder._build_metadata_section(payload)
|
|
print("metadata section first 12 bytes = ", meta.slice(0, 12))
|
|
|
|
# 3. properties parse with empty-ish string
|
|
var props_str := "{}"
|
|
var val = JSON.parse_string(props_str) or {}
|
|
print("'JSON.parse_string(props_str) or {{}}' type = ", typeof(val), " value = ", val)
|
|
quit()
|