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
@@ -0,0 +1,27 @@
|
||||
; Pinball INI-File by KIWI Hamburg
|
||||
|
||||
[Settings]
|
||||
; The speed setting defines the "time resolution" of the graphics.
|
||||
; The higher the setting, the "smoother" the ball will run.
|
||||
; However, if your hardware is too slow for the current speed setting,
|
||||
; the pinball machine might "hang" or not react correctly.
|
||||
; The speed setting DOES NOT influence game speed.
|
||||
; In any case, try setting your Windows graphics resolution to
|
||||
; 640x480 pixel in 256 colours before changing this setting.
|
||||
; Speed=1 for slow graphics hardware
|
||||
; Speed=5 for very fast graphics hardware
|
||||
; Default: Speed=3
|
||||
Speed=3
|
||||
|
||||
; Sound=1 for Sounds on
|
||||
; Sound=0 for Sounds off
|
||||
; Default: Sounds=1
|
||||
Sounds=1
|
||||
|
||||
;Language=1 for english helpscreen
|
||||
;Language=2 for german helpscreen
|
||||
;Language=3 for french helpscreen
|
||||
;Language=4 for italian helpscreen
|
||||
;Language=5 for spanish helpscreen
|
||||
;Default: Language=1
|
||||
Language=2
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 766 B |
|
After Width: | Height: | Size: 373 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 202 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 167 B |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 772 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 880 B |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"printable_strings": [
|
||||
"VS_VERSION_INFO",
|
||||
"StringFileInfo",
|
||||
"040904E4",
|
||||
"CompanyName",
|
||||
"Lars Hammer / KIWI Hamburg",
|
||||
"FileDescription",
|
||||
"TDK Pinball Machine",
|
||||
"FileVersion",
|
||||
"1.00",
|
||||
"InternalName",
|
||||
"TDKPIN",
|
||||
"LegalCopyright",
|
||||
"Developed 1995 by KIWI Von Wendt Konzept GmbH.",
|
||||
"ProductName",
|
||||
"TDK Pinball Machine",
|
||||
"ProductVersion",
|
||||
"3.10.0.0",
|
||||
"VarFileInfo",
|
||||
"Translation"
|
||||
],
|
||||
"fixed_file_info": {
|
||||
"signature": "0xfeef04bd",
|
||||
"structure_version": "0x00010000",
|
||||
"file_version_ms": "0x00000000",
|
||||
"file_version_ls": "0x00010006",
|
||||
"product_version_ms": "0x00030001",
|
||||
"product_version_ls": "0x00000000",
|
||||
"file_flags_mask": "0x00000000",
|
||||
"file_flags": "0x00000000",
|
||||
"file_os": "0x00000001",
|
||||
"file_type": "0x00000002",
|
||||
"file_subtype": "0x00000000",
|
||||
"file_date_ms": "0x00000000",
|
||||
"file_date_ls": "0x00000000"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
GIMP Palette
|
||||
Name: TDKPIN resource 999
|
||||
Columns: 16
|
||||
#
|
||||
0 0 0 Index 0
|
||||
128 0 0 Index 1
|
||||
0 128 0 Index 2
|
||||
128 128 0 Index 3
|
||||
0 0 128 Index 4
|
||||
128 0 128 Index 5
|
||||
0 128 128 Index 6
|
||||
192 192 192 Index 7
|
||||
192 220 192 Index 8
|
||||
166 202 240 Index 9
|
||||
32 32 184 Index 10
|
||||
72 32 184 Index 11
|
||||
112 32 184 Index 12
|
||||
152 32 184 Index 13
|
||||
192 32 184 Index 14
|
||||
232 32 184 Index 15
|
||||
32 32 240 Index 16
|
||||
72 32 240 Index 17
|
||||
112 32 240 Index 18
|
||||
152 32 240 Index 19
|
||||
192 32 240 Index 20
|
||||
232 32 240 Index 21
|
||||
124 76 48 Index 22
|
||||
140 84 56 Index 23
|
||||
32 72 16 Index 24
|
||||
72 72 16 Index 25
|
||||
112 72 16 Index 26
|
||||
152 72 16 Index 27
|
||||
192 72 16 Index 28
|
||||
232 72 16 Index 29
|
||||
32 72 72 Index 30
|
||||
72 72 72 Index 31
|
||||
112 72 72 Index 32
|
||||
152 72 72 Index 33
|
||||
192 72 72 Index 34
|
||||
232 72 72 Index 35
|
||||
32 72 128 Index 36
|
||||
72 72 128 Index 37
|
||||
112 72 128 Index 38
|
||||
152 72 128 Index 39
|
||||
192 72 128 Index 40
|
||||
232 72 128 Index 41
|
||||
32 72 184 Index 42
|
||||
72 72 184 Index 43
|
||||
112 72 184 Index 44
|
||||
152 72 184 Index 45
|
||||
192 72 184 Index 46
|
||||
232 72 184 Index 47
|
||||
32 72 240 Index 48
|
||||
72 72 240 Index 49
|
||||
112 72 240 Index 50
|
||||
152 72 240 Index 51
|
||||
192 72 240 Index 52
|
||||
232 72 240 Index 53
|
||||
152 92 64 Index 54
|
||||
168 100 76 Index 55
|
||||
32 112 16 Index 56
|
||||
72 112 16 Index 57
|
||||
112 112 16 Index 58
|
||||
152 112 16 Index 59
|
||||
192 112 16 Index 60
|
||||
232 112 16 Index 61
|
||||
32 112 72 Index 62
|
||||
72 112 72 Index 63
|
||||
112 112 72 Index 64
|
||||
152 112 72 Index 65
|
||||
192 112 72 Index 66
|
||||
232 112 72 Index 67
|
||||
32 112 128 Index 68
|
||||
72 112 128 Index 69
|
||||
112 112 128 Index 70
|
||||
152 112 128 Index 71
|
||||
192 112 128 Index 72
|
||||
232 112 128 Index 73
|
||||
32 112 184 Index 74
|
||||
72 112 184 Index 75
|
||||
112 112 184 Index 76
|
||||
152 112 184 Index 77
|
||||
192 112 184 Index 78
|
||||
232 112 184 Index 79
|
||||
32 112 240 Index 80
|
||||
72 112 240 Index 81
|
||||
112 112 240 Index 82
|
||||
152 112 240 Index 83
|
||||
192 112 240 Index 84
|
||||
232 112 240 Index 85
|
||||
176 116 96 Index 86
|
||||
188 136 104 Index 87
|
||||
32 152 16 Index 88
|
||||
72 152 16 Index 89
|
||||
112 152 16 Index 90
|
||||
152 152 16 Index 91
|
||||
192 152 16 Index 92
|
||||
232 152 16 Index 93
|
||||
32 152 72 Index 94
|
||||
72 152 72 Index 95
|
||||
112 152 72 Index 96
|
||||
152 152 72 Index 97
|
||||
192 152 72 Index 98
|
||||
232 152 72 Index 99
|
||||
32 152 128 Index 100
|
||||
72 152 128 Index 101
|
||||
112 152 128 Index 102
|
||||
152 152 128 Index 103
|
||||
192 152 128 Index 104
|
||||
232 152 128 Index 105
|
||||
32 152 184 Index 106
|
||||
72 152 184 Index 107
|
||||
112 152 184 Index 108
|
||||
152 152 184 Index 109
|
||||
192 152 184 Index 110
|
||||
232 152 184 Index 111
|
||||
32 152 240 Index 112
|
||||
72 152 240 Index 113
|
||||
112 152 240 Index 114
|
||||
152 152 240 Index 115
|
||||
192 152 240 Index 116
|
||||
232 152 240 Index 117
|
||||
200 144 108 Index 118
|
||||
208 160 116 Index 119
|
||||
32 192 16 Index 120
|
||||
72 192 16 Index 121
|
||||
112 192 16 Index 122
|
||||
152 192 16 Index 123
|
||||
192 192 16 Index 124
|
||||
232 192 16 Index 125
|
||||
32 192 72 Index 126
|
||||
72 192 72 Index 127
|
||||
112 192 72 Index 128
|
||||
152 192 72 Index 129
|
||||
192 192 72 Index 130
|
||||
232 192 72 Index 131
|
||||
32 192 128 Index 132
|
||||
72 192 128 Index 133
|
||||
112 192 128 Index 134
|
||||
152 192 128 Index 135
|
||||
192 192 128 Index 136
|
||||
232 192 128 Index 137
|
||||
32 192 184 Index 138
|
||||
72 192 184 Index 139
|
||||
112 192 184 Index 140
|
||||
152 192 184 Index 141
|
||||
192 192 184 Index 142
|
||||
232 192 184 Index 143
|
||||
32 192 240 Index 144
|
||||
72 192 240 Index 145
|
||||
112 192 240 Index 146
|
||||
152 192 240 Index 147
|
||||
192 192 240 Index 148
|
||||
232 192 240 Index 149
|
||||
216 168 128 Index 150
|
||||
224 176 144 Index 151
|
||||
32 232 16 Index 152
|
||||
72 232 16 Index 153
|
||||
112 232 16 Index 154
|
||||
152 232 16 Index 155
|
||||
192 232 16 Index 156
|
||||
232 232 16 Index 157
|
||||
32 232 72 Index 158
|
||||
72 232 72 Index 159
|
||||
112 232 72 Index 160
|
||||
152 232 72 Index 161
|
||||
192 232 72 Index 162
|
||||
232 232 72 Index 163
|
||||
32 232 128 Index 164
|
||||
72 232 128 Index 165
|
||||
112 232 128 Index 166
|
||||
152 232 128 Index 167
|
||||
192 232 128 Index 168
|
||||
232 232 128 Index 169
|
||||
32 232 184 Index 170
|
||||
72 232 184 Index 171
|
||||
112 232 184 Index 172
|
||||
152 232 184 Index 173
|
||||
192 232 184 Index 174
|
||||
232 232 184 Index 175
|
||||
32 232 240 Index 176
|
||||
72 232 240 Index 177
|
||||
112 232 240 Index 178
|
||||
152 232 240 Index 179
|
||||
192 232 240 Index 180
|
||||
232 232 240 Index 181
|
||||
232 192 156 Index 182
|
||||
240 212 184 Index 183
|
||||
0 56 0 Index 184
|
||||
0 96 0 Index 185
|
||||
0 160 0 Index 186
|
||||
0 208 0 Index 187
|
||||
208 208 0 Index 188
|
||||
160 160 0 Index 189
|
||||
96 96 0 Index 190
|
||||
56 56 0 Index 191
|
||||
56 0 0 Index 192
|
||||
96 0 0 Index 193
|
||||
160 0 0 Index 194
|
||||
208 0 0 Index 195
|
||||
208 0 208 Index 196
|
||||
160 0 160 Index 197
|
||||
96 0 96 Index 198
|
||||
56 0 56 Index 199
|
||||
0 0 56 Index 200
|
||||
0 0 96 Index 201
|
||||
0 0 160 Index 202
|
||||
0 0 208 Index 203
|
||||
16 16 16 Index 204
|
||||
32 32 32 Index 205
|
||||
48 48 48 Index 206
|
||||
64 64 64 Index 207
|
||||
80 80 80 Index 208
|
||||
96 96 96 Index 209
|
||||
112 112 112 Index 210
|
||||
144 144 144 Index 211
|
||||
160 160 160 Index 212
|
||||
176 176 176 Index 213
|
||||
208 208 208 Index 214
|
||||
224 224 224 Index 215
|
||||
240 240 240 Index 216
|
||||
76 40 28 Index 217
|
||||
76 28 40 Index 218
|
||||
40 76 28 Index 219
|
||||
28 76 40 Index 220
|
||||
40 28 76 Index 221
|
||||
28 40 76 Index 222
|
||||
108 88 32 Index 223
|
||||
160 124 88 Index 224
|
||||
232 168 104 Index 225
|
||||
84 48 16 Index 226
|
||||
92 56 40 Index 227
|
||||
32 32 16 Index 228
|
||||
72 32 16 Index 229
|
||||
112 32 16 Index 230
|
||||
152 32 16 Index 231
|
||||
192 32 16 Index 232
|
||||
232 32 16 Index 233
|
||||
32 32 72 Index 234
|
||||
72 32 72 Index 235
|
||||
112 32 72 Index 236
|
||||
152 32 72 Index 237
|
||||
192 32 72 Index 238
|
||||
232 32 72 Index 239
|
||||
32 32 128 Index 240
|
||||
72 32 128 Index 241
|
||||
112 32 128 Index 242
|
||||
152 32 128 Index 243
|
||||
192 32 128 Index 244
|
||||
232 32 128 Index 245
|
||||
255 251 240 Index 246
|
||||
160 160 164 Index 247
|
||||
128 128 128 Index 248
|
||||
255 0 0 Index 249
|
||||
0 255 0 Index 250
|
||||
255 255 0 Index 251
|
||||
0 0 255 Index 252
|
||||
255 0 255 Index 253
|
||||
0 255 255 Index 254
|
||||
255 255 255 Index 255
|
||||
|
After Width: | Height: | Size: 1.3 KiB |