ncr bytws layout.txt

This is the file i took notes when reverse engineering the ncr replay bytes. It also has some additional notes about game metadata i extracted from the minified script.


row 108

0000006a > time

41869b7d > p1 x pos
425cb2ad > p2 x pos
421b4479
424d38bd
41170f8b
42b111a8

41eae5b9 > y pos
42061d72
412e978d
41df3f8b
41e1165d
41ddbfae

c0a39899 > angle
402c15d6
3fe69527
4034f83e
40c3c7e6
c00515de

3ff139ba > x vel
c197cf77
3fb48313
c12a6007
3eaedca1
3ed1e242

409f3fa6 > y vel
3fa48e1b
40b72add
41063f22
be6d8360
befefcb0

00000000 > external rotational force?
00000000
00000000
3f933ea7
00000000
00000000

42600000 > boost amount (in float)
421c0000
41c80000
41f00000
41c80000
42960000

3f031cb4 > player aim angle?
402a1085
3fe6f73b
40367f12
b9bf1a80
403afa5d

000000010200 > 2bit input data: 0: no input, 1: boosting, 2: braking, 3: both

col 205
4245ff42 > ball x - centered 50
41e234fb > ball y - centered 28.125
3d6aa359 > ball ang
c1f05931 > ball vel x+
4110d5d6 > ball vel y+
405bf923 > ball ang vel

0101000101010101010000010001 > boostpads



ball/player radius:
0.9765625 0.6103515625

playground metadata

BACKGROUND: "playfield-1.png",
WORLD_WIDTH: 100,
WORLD_HEIGHT: 56.25,
PLAYER_RADIUS: 0.6103515625,
BALL_RADIUS: 100 / 81.92 / 1.5,
PLAYER_MAX_SPEED: 10,
PLAYER_BRAKE_STRENGTH: 0.005,
PLAYER_SPEED: 0.75,
MAP_BORDERS: [
  [
    4.345703, 23.4375, 7.8125, 23.4375, 8.747321, 23.065054, 9.35389,
    22.033329, 9.3727455, 21.784855, 9.375, 15.625, 9.419886, 14.341579,
    9.554507, 13.087652, 9.77882, 11.872826, 10.092774, 10.70671,
    10.496322, 9.598909, 10.989413, 8.559029, 11.572, 7.5966754,
    12.244037, 6.721461, 13.005472, 5.942987, 13.856259, 5.270861,
    14.796352, 4.7146916, 15.825697, 4.284084, 16.944252, 3.988645,
    18.151962, 3.8379812, 18.762207, 3.819908, 34.470215, 3.9541852,
    50.3125, 3.880943,
  ],
  [
    95.6543, 23.4375, 92.1875, 23.4375, 91.252686, 23.065052, 90.64611,
    22.033329, 90.62726, 21.784855, 90.625, 15.625, 90.58011, 14.341579,
    90.44549, 13.087652, 90.221176, 11.872826, 89.90722, 10.70671,
    89.50368, 9.598909, 89.01059, 8.559029, 88.427986, 7.5966754,
    87.75597, 6.721461, 86.99453, 5.942987, 86.14373, 5.270861,
    85.20364, 4.7146916, 84.17429, 4.284084, 83.05575, 3.988645,
    81.84804, 3.8379812, 81.23779, 3.819908, 65.529785, 3.9541852,
    49.6875, 3.880943,
  ],
  [
    4.345703, 32.8125, 7.8125, 32.8125, 8.747321, 33.18495, 9.35389,
    34.21667, 9.3727455, 34.465145, 9.375, 40.625, 9.419886, 41.90842,
    9.554507, 43.162342, 9.77882, 44.377174, 10.0927725, 45.543278,
    10.49632, 46.651093, 10.989413, 47.690975, 11.572, 48.65332,
    12.244035, 49.528538, 13.005472, 50.30701, 13.856258, 50.979137,
    14.796349, 51.535305, 15.825697, 51.965916, 16.94425, 52.261356,
    18.151962, 52.412018, 18.762207, 52.430096, 34.470215, 52.29581,
    50.3125, 52.369057,
  ],
  [
    95.6543, 32.8125, 92.1875, 32.8125, 91.252686, 33.18495, 90.64611,
    34.21667, 90.62726, 34.465145, 90.625, 40.625, 90.58011, 41.90842,
    90.44549, 43.162342, 90.221176, 44.377174, 89.90721, 45.543278,
    89.50368, 46.651093, 89.01059, 47.690975, 88.42799, 48.65332,
    87.75596, 49.528538, 86.99452, 50.30701, 86.14374, 50.979137,
    85.20364, 51.535305, 84.1743, 51.965916, 83.05575, 52.261356,
    81.84804, 52.412018, 81.23779, 52.430096, 65.529785, 52.29581,
    49.6875, 52.369057,
  ],
  [4.375, 23.4375, 4.375, 32.8125],
  [95.50781, 23.4375, 95.50781, 32.8125],
],
MAP_VIEWBOX: { x: 1920, y: 1080 },
BOOST_POSITIONS: [
  15.696192, 47.998825, 15.696192, 8.251172, 14.100928, 28.125,
  35.927097, 34.41909, 35.927097, 21.83091, 50, 50.166016, 50, 34.41909,
  50, 21.83091, 50, 6.0839844, 64.0729, 34.41909, 64.0729, 21.83091,
  84.30381, 47.998825, 85.85269, 28.125, 84.30381, 8.251172,
],