feat: rebuild TDK Pinball Machine in Rust
Replace the empty Rust scaffold with a playable native reconstruction of the 1995 Win16 game. Embed the complete decoded asset set, retain the original 640x460 presentation and localized help, and implement a resizable letterboxed Macroquad frontend for Linux, macOS, and Windows. Recreate the multiplayer ball flow, flippers, nudging, target banks, wheel, robot, lock, magnets, bumper progression, TDK diamond multiplier, media extra balls, sound dispatch, settings, and high-score entry. The physics engine uses a fixed time step and 101 static collision segments transcribed from the original 175-object table. Portable JSON persistence imports and decodes the original XOR-obfuscated high-score file on first run. Document the evidence boundary explicitly: artwork and PCM samples are exact, static geometry is recovered, and several numeric scoring/impulse values remain best-evidence behavioral tuning rather than bit-identical Win16 arithmetic. Add a native three-OS CI matrix and retain every decoded resource for future fidelity work. Test Plan: - `diff -qr original/assets/decoded tdkpin-rs/assets/original` with the two intentionally added legacy root files excluded -- passed - `cargo fmt --all -- --check` -- passed - `cargo check --all-targets` -- passed - `cargo test --all-targets` -- passed, 8 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `cargo build --profile production` -- passed - `cargo check --all-targets --target x86_64-pc-windows-gnu` -- passed - `cargo check --all-targets --target x86_64-apple-darwin` -- passed - `cargo run` graphical start, launch, collision, and score smoke test -- passed; audible output was unavailable because the host has no ALSA device
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"style": "0x00c800c0",
|
||||
"bounds": {
|
||||
"x": 20,
|
||||
"y": 24,
|
||||
"width": 202,
|
||||
"height": 130
|
||||
},
|
||||
"menu": null,
|
||||
"class": null,
|
||||
"caption": "File Open",
|
||||
"declared_control_count": 10,
|
||||
"controls": [
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 8,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "File&name:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 42,
|
||||
"y": 6,
|
||||
"width": 98,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 20,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "Directory:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 42,
|
||||
"y": 20,
|
||||
"width": 98,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 32,
|
||||
"width": 64,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Files:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 44,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 76,
|
||||
"y": 32,
|
||||
"width": 64,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Directories:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"bounds": {
|
||||
"x": 76,
|
||||
"y": 44,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 146,
|
||||
"y": 5,
|
||||
"width": 50,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "OK",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 146,
|
||||
"y": 23,
|
||||
"width": 50,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "Cancel",
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"style": "0x00c800c0",
|
||||
"bounds": {
|
||||
"x": 20,
|
||||
"y": 24,
|
||||
"width": 202,
|
||||
"height": 130
|
||||
},
|
||||
"menu": null,
|
||||
"class": null,
|
||||
"caption": "File Save As",
|
||||
"declared_control_count": 8,
|
||||
"controls": [
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 8,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "File&name:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 42,
|
||||
"y": 6,
|
||||
"width": 98,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 20,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "Directory:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 42,
|
||||
"y": 20,
|
||||
"width": 98,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 44,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 32,
|
||||
"width": 64,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Directories:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 146,
|
||||
"y": 5,
|
||||
"width": 50,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "OK",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 146,
|
||||
"y": 23,
|
||||
"width": 50,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "Cancel",
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"style": "0x80c00040",
|
||||
"bounds": {
|
||||
"x": 20,
|
||||
"y": 24,
|
||||
"width": 180,
|
||||
"height": 64
|
||||
},
|
||||
"menu": null,
|
||||
"class": null,
|
||||
"caption": null,
|
||||
"declared_control_count": 4,
|
||||
"controls": [
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 10,
|
||||
"y": 20,
|
||||
"width": 160,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 10,
|
||||
"y": 8,
|
||||
"width": 160,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 47,
|
||||
"y": 42,
|
||||
"width": 40,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "OK",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 93,
|
||||
"y": 42,
|
||||
"width": 40,
|
||||
"height": 14
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": {
|
||||
"class_atom": "BUTTON"
|
||||
},
|
||||
"title": "Cancel",
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"style": "0x80c800c0",
|
||||
"bounds": {
|
||||
"x": 24,
|
||||
"y": 19,
|
||||
"width": 199,
|
||||
"height": 135
|
||||
},
|
||||
"menu": null,
|
||||
"class": "BorDlg",
|
||||
"caption": "File Open",
|
||||
"declared_control_count": 14,
|
||||
"controls": [
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 8,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "File&name:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 44,
|
||||
"y": 6,
|
||||
"width": 104,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 20,
|
||||
"width": 36,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "Directory:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 44,
|
||||
"y": 20,
|
||||
"width": 104,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 39,
|
||||
"width": 21,
|
||||
"height": 8
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Files:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 48,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 84,
|
||||
"y": 39,
|
||||
"width": 40,
|
||||
"height": 8
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Directories:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"bounds": {
|
||||
"x": 84,
|
||||
"y": 48,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"bounds": {
|
||||
"x": 4,
|
||||
"y": 4,
|
||||
"width": 148,
|
||||
"height": 28
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"bounds": {
|
||||
"x": 4,
|
||||
"y": 36,
|
||||
"width": 72,
|
||||
"height": 96
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 160,
|
||||
"y": 7,
|
||||
"width": 36,
|
||||
"height": 24
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 160,
|
||||
"y": 37,
|
||||
"width": 36,
|
||||
"height": 24
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 106,
|
||||
"bounds": {
|
||||
"x": 156,
|
||||
"y": -1,
|
||||
"width": 4,
|
||||
"height": 136
|
||||
},
|
||||
"style": "0x50000003",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 107,
|
||||
"bounds": {
|
||||
"x": 80,
|
||||
"y": 36,
|
||||
"width": 72,
|
||||
"height": 96
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"style": "0x80c800c0",
|
||||
"bounds": {
|
||||
"x": 20,
|
||||
"y": 24,
|
||||
"width": 202,
|
||||
"height": 135
|
||||
},
|
||||
"menu": null,
|
||||
"class": "BorDlg",
|
||||
"caption": "File Save As",
|
||||
"declared_control_count": 11,
|
||||
"controls": [
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 8,
|
||||
"width": 36,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "File&name:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 44,
|
||||
"y": 8,
|
||||
"width": 96,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 20,
|
||||
"width": 36,
|
||||
"height": 8
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "Directory:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 44,
|
||||
"y": 20,
|
||||
"width": 98,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 48,
|
||||
"width": 64,
|
||||
"height": 82
|
||||
},
|
||||
"style": "0x50a10003",
|
||||
"class": {
|
||||
"class_atom": "LISTBOX"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 8,
|
||||
"y": 37,
|
||||
"width": 64,
|
||||
"height": 8
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": "&Directories:",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 4,
|
||||
"y": 4,
|
||||
"width": 140,
|
||||
"height": 27
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 65535,
|
||||
"bounds": {
|
||||
"x": 4,
|
||||
"y": 36,
|
||||
"width": 72,
|
||||
"height": 96
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 164,
|
||||
"y": 4,
|
||||
"width": 32,
|
||||
"height": 20
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 164,
|
||||
"y": 32,
|
||||
"width": 32,
|
||||
"height": 20
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"bounds": {
|
||||
"x": 160,
|
||||
"y": 0,
|
||||
"width": 2,
|
||||
"height": 136
|
||||
},
|
||||
"style": "0x50000003",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"style": "0x80c800c0",
|
||||
"bounds": {
|
||||
"x": 20,
|
||||
"y": 24,
|
||||
"width": 180,
|
||||
"height": 75
|
||||
},
|
||||
"menu": null,
|
||||
"class": "BorDlg",
|
||||
"caption": null,
|
||||
"declared_control_count": 5,
|
||||
"controls": [
|
||||
{
|
||||
"id": 101,
|
||||
"bounds": {
|
||||
"x": 10,
|
||||
"y": 20,
|
||||
"width": 160,
|
||||
"height": 12
|
||||
},
|
||||
"style": "0x50810080",
|
||||
"class": {
|
||||
"class_atom": "EDIT"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"bounds": {
|
||||
"x": 10,
|
||||
"y": 8,
|
||||
"width": 160,
|
||||
"height": 10
|
||||
},
|
||||
"style": "0x50020000",
|
||||
"class": {
|
||||
"class_atom": "STATIC"
|
||||
},
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"bounds": {
|
||||
"x": 6,
|
||||
"y": 5,
|
||||
"width": 168,
|
||||
"height": 32
|
||||
},
|
||||
"style": "0x50000001",
|
||||
"class": "BorShade",
|
||||
"title": null,
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"bounds": {
|
||||
"x": 42,
|
||||
"y": 44,
|
||||
"width": 36,
|
||||
"height": 24
|
||||
},
|
||||
"style": "0x50010001",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"bounds": {
|
||||
"x": 102,
|
||||
"y": 44,
|
||||
"width": 36,
|
||||
"height": 24
|
||||
},
|
||||
"style": "0x50010000",
|
||||
"class": "BorBtn",
|
||||
"title": "Button",
|
||||
"extra_hex": ""
|
||||
}
|
||||
],
|
||||
"font": {
|
||||
"point_size": 8,
|
||||
"name": "Helv"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user