Files
tdkpin/tdkpin-rs/assets/original/palettes/palette_0999.gpl
T
ddidderr f817b63683 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
2026-08-22 16:12:11 +02:00

261 lines
5.4 KiB
Plaintext

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