@sagl/server 0.0.0-stage → 0.1.0-next.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +61 -2
- package/dist/actions.d.ts +46 -0
- package/dist/actions.js +80 -0
- package/dist/actions.js.map +1 -0
- package/dist/animations.d.ts +32 -0
- package/dist/animations.js +95 -0
- package/dist/animations.js.map +1 -0
- package/dist/audio.d.ts +180 -0
- package/dist/audio.js +353 -0
- package/dist/audio.js.map +1 -0
- package/dist/audio_effects.d.ts +219 -0
- package/dist/audio_effects.js +84 -0
- package/dist/audio_effects.js.map +1 -0
- package/dist/camera.d.ts +188 -0
- package/dist/camera.js +247 -0
- package/dist/camera.js.map +1 -0
- package/dist/claims.d.ts +27 -0
- package/dist/claims.js +48 -0
- package/dist/claims.js.map +1 -0
- package/dist/commands.d.ts +135 -0
- package/dist/commands.js +373 -0
- package/dist/commands.js.map +1 -0
- package/dist/console.d.ts +21 -0
- package/dist/console.js +100 -0
- package/dist/console.js.map +1 -0
- package/dist/constants.d.ts +654 -0
- package/dist/constants.js +657 -0
- package/dist/constants.js.map +1 -0
- package/dist/cutscene.d.ts +47 -0
- package/dist/cutscene.js +190 -0
- package/dist/cutscene.js.map +1 -0
- package/dist/draw.d.ts +106 -0
- package/dist/draw.js +132 -0
- package/dist/draw.js.map +1 -0
- package/dist/effects.d.ts +91 -0
- package/dist/effects.js +116 -0
- package/dist/effects.js.map +1 -0
- package/dist/gangzones.d.ts +47 -0
- package/dist/gangzones.js +122 -0
- package/dist/gangzones.js.map +1 -0
- package/dist/geo.d.ts +11 -0
- package/dist/geo.js +25 -0
- package/dist/geo.js.map +1 -0
- package/dist/hud.d.ts +159 -0
- package/dist/hud.js +247 -0
- package/dist/hud.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction.d.ts +81 -0
- package/dist/interaction.js +143 -0
- package/dist/interaction.js.map +1 -0
- package/dist/junctions.d.ts +1 -0
- package/dist/junctions.js +330 -0
- package/dist/junctions.js.map +1 -0
- package/dist/map.d.ts +55 -0
- package/dist/map.js +71 -0
- package/dist/map.js.map +1 -0
- package/dist/menu.d.ts +96 -0
- package/dist/menu.js +129 -0
- package/dist/menu.js.map +1 -0
- package/dist/mission.d.ts +482 -0
- package/dist/mission.js +1258 -0
- package/dist/mission.js.map +1 -0
- package/dist/models.d.ts +56 -0
- package/dist/models.js +71 -0
- package/dist/models.js.map +1 -0
- package/dist/modshop.d.ts +229 -0
- package/dist/modshop.js +904 -0
- package/dist/modshop.js.map +1 -0
- package/dist/modshop_data.d.ts +44 -0
- package/dist/modshop_data.js +287 -0
- package/dist/modshop_data.js.map +1 -0
- package/dist/native.d.ts +809 -0
- package/dist/native.js +27 -0
- package/dist/native.js.map +1 -0
- package/dist/objects.d.ts +249 -0
- package/dist/objects.js +455 -0
- package/dist/objects.js.map +1 -0
- package/dist/paint.d.ts +124 -0
- package/dist/paint.js +84 -0
- package/dist/paint.js.map +1 -0
- package/dist/paynspray.d.ts +44 -0
- package/dist/paynspray.js +177 -0
- package/dist/paynspray.js.map +1 -0
- package/dist/ped.d.ts +335 -0
- package/dist/ped.js +536 -0
- package/dist/ped.js.map +1 -0
- package/dist/player.d.ts +685 -0
- package/dist/player.js +1163 -0
- package/dist/player.js.map +1 -0
- package/dist/screeneffects.d.ts +99 -0
- package/dist/screeneffects.js +257 -0
- package/dist/screeneffects.js.map +1 -0
- package/dist/scripts.d.ts +69 -0
- package/dist/scripts.js +125 -0
- package/dist/scripts.js.map +1 -0
- package/dist/server.d.ts +713 -0
- package/dist/server.js +1080 -0
- package/dist/server.js.map +1 -0
- package/dist/shopblips.d.ts +9 -0
- package/dist/shopblips.js +30 -0
- package/dist/shopblips.js.map +1 -0
- package/dist/special.d.ts +33 -0
- package/dist/special.js +26 -0
- package/dist/special.js.map +1 -0
- package/dist/splash.d.ts +42 -0
- package/dist/splash.js +55 -0
- package/dist/splash.js.map +1 -0
- package/dist/text.d.ts +19 -0
- package/dist/text.js +25 -0
- package/dist/text.js.map +1 -0
- package/dist/ui.d.ts +141 -0
- package/dist/ui.js +243 -0
- package/dist/ui.js.map +1 -0
- package/dist/vehicle.d.ts +306 -0
- package/dist/vehicle.js +612 -0
- package/dist/vehicle.js.map +1 -0
- package/dist/vehiclecolors.d.ts +26 -0
- package/dist/vehiclecolors.js +49 -0
- package/dist/vehiclecolors.js.map +1 -0
- package/dist/world.d.ts +222 -0
- package/dist/world.js +227 -0
- package/dist/world.js.map +1 -0
- package/dist/zone.d.ts +89 -0
- package/dist/zone.js +140 -0
- package/dist/zone.js.map +1 -0
- package/package.json +33 -4
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
// Generated from the game's map (its traffic lights' placements, grouped by
|
|
2
|
+
// junction): each junction with lights, its middle (x, y, z). Every city.
|
|
3
|
+
export const JUNCTIONS = [
|
|
4
|
+
[-2563.7, 2331.4, 7.3],
|
|
5
|
+
[-2774.9, 2360.3, 78.4],
|
|
6
|
+
[-2729.3, 2354.5, 74.2],
|
|
7
|
+
[-2466.1, 2331.1, 7.2],
|
|
8
|
+
[-2504.2, 2421.5, 19.0],
|
|
9
|
+
[-2563.7, 161.1, 3.3],
|
|
10
|
+
[-2648.6, 221.1, 3.3],
|
|
11
|
+
[-2578.3, 225.9, 8.5],
|
|
12
|
+
[-2645.0, 284.9, 3.3],
|
|
13
|
+
[-2604.6, 341.4, 3.3],
|
|
14
|
+
[-2542.9, 338.9, 18.8],
|
|
15
|
+
[-2790.6, -483.1, 9.3],
|
|
16
|
+
[-2602.4, 154.3, 3.3],
|
|
17
|
+
[-1904.4, -580.0, 26.7],
|
|
18
|
+
[-1874.0, -575.3, 26.7],
|
|
19
|
+
[-1818.7, -579.9, 18.6],
|
|
20
|
+
[-2004.2, 320.3, 37.2],
|
|
21
|
+
[-1750.4, 309.3, 9.3],
|
|
22
|
+
[-1853.0, 414.6, 19.2],
|
|
23
|
+
[-1819.7, 375.8, 19.2],
|
|
24
|
+
[-1797.8, 353.9, 19.2],
|
|
25
|
+
[-2225.2, 565.8, 37.2],
|
|
26
|
+
[-2142.9, 565.7, 37.2],
|
|
27
|
+
[-2142.9, 503.9, 37.2],
|
|
28
|
+
[-2085.9, 566.2, 37.2],
|
|
29
|
+
[-2008.2, 566.9, 37.2],
|
|
30
|
+
[-2004.2, 504.8, 37.2],
|
|
31
|
+
[-2256.0, -190.3, 37.4],
|
|
32
|
+
[-1934.7, -584.5, 26.7],
|
|
33
|
+
[-2019.6, -295.2, 37.6],
|
|
34
|
+
[-2256.0, -70.3, 37.4],
|
|
35
|
+
[-2142.6, 731.6, 71.6],
|
|
36
|
+
[-2088.2, 727.2, 71.6],
|
|
37
|
+
[-1899.3, 605.9, 37.2],
|
|
38
|
+
[-2004.1, 731.1, 47.5],
|
|
39
|
+
[-1899.3, 731.6, 47.5],
|
|
40
|
+
[-2142.4, 808.2, 71.5],
|
|
41
|
+
[-2142.9, 918.5, 82.1],
|
|
42
|
+
[-2006.2, 808.9, 47.5],
|
|
43
|
+
[-1900.8, 848.3, 37.3],
|
|
44
|
+
[-1999.5, 858.2, 47.6],
|
|
45
|
+
[-1999.4, 938.5, 47.6],
|
|
46
|
+
[-2000.8, 903.8, 47.5],
|
|
47
|
+
[-1901.1, 928.9, 37.3],
|
|
48
|
+
[-1715.4, 733.7, 26.8],
|
|
49
|
+
[-1792.3, 853.6, 27.0],
|
|
50
|
+
[-1794.0, 924.7, 26.9],
|
|
51
|
+
[-1714.2, 847.5, 27.0],
|
|
52
|
+
[-1714.3, 921.5, 27.0],
|
|
53
|
+
[-1572.4, 852.6, 9.4],
|
|
54
|
+
[-1572.3, 918.0, 9.3],
|
|
55
|
+
[-2147.9, 1019.1, 82.1],
|
|
56
|
+
[-2148.0, 1091.3, 82.0],
|
|
57
|
+
[-2007.7, 1043.0, 57.8],
|
|
58
|
+
[-2147.4, 1165.2, 57.8],
|
|
59
|
+
[-1888.3, 1044.0, 47.5],
|
|
60
|
+
[-1970.3, 1089.3, 57.8],
|
|
61
|
+
[-1882.7, 1103.5, 47.5],
|
|
62
|
+
[-1794.4, 1103.2, 47.4],
|
|
63
|
+
[-1966.2, 1169.1, 47.5],
|
|
64
|
+
[-1884.6, 1177.0, 47.4],
|
|
65
|
+
[-1793.5, 1182.4, 27.2],
|
|
66
|
+
[-1721.2, 1103.0, 47.5],
|
|
67
|
+
[-1715.8, 1183.2, 27.2],
|
|
68
|
+
[-1728.6, 1294.3, 9.3],
|
|
69
|
+
[-1631.6, 1191.7, 9.3],
|
|
70
|
+
[-2748.1, 1003.6, 56.5],
|
|
71
|
+
[-2606.9, 1004.3, 80.3],
|
|
72
|
+
[-2722.6, 1092.5, 48.5],
|
|
73
|
+
[-2529.8, 1005.7, 80.2],
|
|
74
|
+
[-2465.6, 1210.6, 37.3],
|
|
75
|
+
[-2365.0, 1180.9, 43.2],
|
|
76
|
+
[-2451.3, 1363.2, 9.2],
|
|
77
|
+
[-2362.7, 1363.2, 9.3],
|
|
78
|
+
[-2750.9, 810.1, 55.1],
|
|
79
|
+
[-2748.1, 883.3, 68.4],
|
|
80
|
+
[-2607.3, 809.0, 52.0],
|
|
81
|
+
[-2607.1, 908.4, 67.0],
|
|
82
|
+
[-2527.1, 808.3, 52.1],
|
|
83
|
+
[-2526.8, 908.4, 67.0],
|
|
84
|
+
[-2386.7, 808.0, 37.3],
|
|
85
|
+
[-2255.3, 808.1, 51.6],
|
|
86
|
+
[-2255.3, 918.3, 68.7],
|
|
87
|
+
[-2255.3, 957.8, 68.8],
|
|
88
|
+
[-2849.9, 465.4, 6.4],
|
|
89
|
+
[-2706.4, 468.2, 6.3],
|
|
90
|
+
[-2606.9, 468.2, 16.6],
|
|
91
|
+
[-2748.1, 564.5, 16.6],
|
|
92
|
+
[-2606.8, 565.8, 16.6],
|
|
93
|
+
[-2747.1, 708.5, 43.6],
|
|
94
|
+
[-2605.6, 711.4, 30.0],
|
|
95
|
+
[-2527.3, 565.7, 16.6],
|
|
96
|
+
[-2386.6, 565.9, 26.9],
|
|
97
|
+
[-2255.3, 578.6, 37.3],
|
|
98
|
+
[-2382.9, 667.1, 37.2],
|
|
99
|
+
[-2261.8, 667.5, 51.5],
|
|
100
|
+
[-2526.9, 708.3, 30.0],
|
|
101
|
+
[-2389.0, 709.8, 37.2],
|
|
102
|
+
[-2255.3, 731.1, 51.6],
|
|
103
|
+
[2360.2, 2001.5, 12.8],
|
|
104
|
+
[2338.2, 2031.7, 13.0],
|
|
105
|
+
[2361.9, 2129.8, 12.8],
|
|
106
|
+
[2338.6, 2157.7, 12.8],
|
|
107
|
+
[1777.0, 829.0, 12.8],
|
|
108
|
+
[1811.7, 822.9, 12.9],
|
|
109
|
+
[1783.5, 863.4, 12.9],
|
|
110
|
+
[1817.5, 857.7, 13.0],
|
|
111
|
+
[2040.2, 1283.1, 13.0],
|
|
112
|
+
[2040.2, 1463.1, 13.0],
|
|
113
|
+
[2050.2, 1723.1, 12.9],
|
|
114
|
+
[2074.6, 1423.4, 13.0],
|
|
115
|
+
[2074.6, 1363.4, 13.0],
|
|
116
|
+
[2074.6, 1523.4, 13.0],
|
|
117
|
+
[2101.5, 1763.6, 13.0],
|
|
118
|
+
[2042.5, 831.0, 9.0],
|
|
119
|
+
[2082.3, 860.5, 9.1],
|
|
120
|
+
[2040.2, 983.7, 13.0],
|
|
121
|
+
[2040.2, 1103.7, 13.0],
|
|
122
|
+
[2074.6, 963.4, 13.0],
|
|
123
|
+
[2074.6, 1183.4, 13.0],
|
|
124
|
+
[2154.8, 1883.2, 13.0],
|
|
125
|
+
[2119.8, 2032.4, 13.0],
|
|
126
|
+
[2119.8, 2123.2, 13.0],
|
|
127
|
+
[2154.8, 2012.0, 13.0],
|
|
128
|
+
[2154.8, 2123.1, 13.0],
|
|
129
|
+
[1821.8, -2162.5, 15.6],
|
|
130
|
+
[1962.6, -1974.1, 15.5],
|
|
131
|
+
[1962.0, -1928.0, 15.5],
|
|
132
|
+
[2221.4, -2496.6, 15.8],
|
|
133
|
+
[2323.2, -2338.8, 15.8],
|
|
134
|
+
[2198.9, -2165.5, 15.8],
|
|
135
|
+
[2286.3, -2294.6, 15.8],
|
|
136
|
+
[2293.5, -2253.5, 15.8],
|
|
137
|
+
[2283.5, -2080.5, 15.8],
|
|
138
|
+
[2217.7, -1971.3, 15.8],
|
|
139
|
+
[2314.5, -1966.6, 15.8],
|
|
140
|
+
[2410.2, -1980.0, 15.8],
|
|
141
|
+
[2420.9, -2013.9, 15.8],
|
|
142
|
+
[2085.4, -1893.4, 15.8],
|
|
143
|
+
[2218.7, -1894.3, 15.8],
|
|
144
|
+
[2420.9, -1936.3, 15.8],
|
|
145
|
+
[2676.7, -2500.0, 15.8],
|
|
146
|
+
[2679.7, -2412.4, 15.8],
|
|
147
|
+
[2713.0, -2156.7, 13.3],
|
|
148
|
+
[2515.7, -1928.6, 15.8],
|
|
149
|
+
[2714.1, -2049.2, 15.8],
|
|
150
|
+
[2714.1, -1999.4, 15.8],
|
|
151
|
+
[2816.2, -2045.3, 13.4],
|
|
152
|
+
[2527.8, -1733.9, 15.8],
|
|
153
|
+
[2639.5, -1731.6, 13.2],
|
|
154
|
+
[2646.6, -1663.9, 13.2],
|
|
155
|
+
[2718.5, -1640.0, 15.5],
|
|
156
|
+
[2848.0, -1664.0, 13.1],
|
|
157
|
+
[2815.8, -1651.9, 13.1],
|
|
158
|
+
[2716.9, -1515.0, 32.5],
|
|
159
|
+
[2743.3, -1481.8, 32.5],
|
|
160
|
+
[2218.8, -1760.0, 15.6],
|
|
161
|
+
[2222.0, -1725.0, 15.7],
|
|
162
|
+
[2335.3, -1726.5, 15.8],
|
|
163
|
+
[2225.5, -1653.4, 17.5],
|
|
164
|
+
[2342.8, -1659.0, 15.7],
|
|
165
|
+
[2342.5, -1564.0, 26.1],
|
|
166
|
+
[2342.4, -1504.1, 26.1],
|
|
167
|
+
[2424.3, -1737.8, 15.9],
|
|
168
|
+
[2420.6, -1527.0, 26.3],
|
|
169
|
+
[2436.7, -1497.0, 26.2],
|
|
170
|
+
[2296.1, -1379.2, 26.2],
|
|
171
|
+
[2356.9, -1384.4, 26.3],
|
|
172
|
+
[2309.0, -1293.3, 26.2],
|
|
173
|
+
[2360.6, -1303.6, 26.3],
|
|
174
|
+
[2375.2, -1258.6, 26.1],
|
|
175
|
+
[2440.9, -1444.4, 26.2],
|
|
176
|
+
[2453.5, -1254.1, 26.1],
|
|
177
|
+
[2504.9, -1438.8, 30.8],
|
|
178
|
+
[2518.6, -1262.1, 37.3],
|
|
179
|
+
[2313.4, -1153.1, 29.2],
|
|
180
|
+
[2380.3, -1163.6, 29.9],
|
|
181
|
+
[2458.5, -1189.6, 38.9],
|
|
182
|
+
[2568.5, -1258.9, 48.2],
|
|
183
|
+
[2636.5, -1451.9, 32.5],
|
|
184
|
+
[2648.4, -1397.4, 32.5],
|
|
185
|
+
[2642.7, -1256.3, 52.1],
|
|
186
|
+
[2716.9, -1265.1, 61.9],
|
|
187
|
+
[2743.6, -1250.6, 61.9],
|
|
188
|
+
[2864.1, -1393.2, 13.3],
|
|
189
|
+
[2578.4, -1189.7, 64.1],
|
|
190
|
+
[2648.3, -1063.8, 71.8],
|
|
191
|
+
[2717.0, -1190.6, 71.4],
|
|
192
|
+
[2857.0, -1140.9, 13.1],
|
|
193
|
+
[1853.9, -1340.4, 15.6],
|
|
194
|
+
[1987.7, -1344.8, 26.1],
|
|
195
|
+
[2066.7, -1333.9, 26.0],
|
|
196
|
+
[2073.9, -1287.4, 26.0],
|
|
197
|
+
[1853.9, -1260.7, 15.6],
|
|
198
|
+
[1975.7, -1257.1, 26.1],
|
|
199
|
+
[2064.7, -1247.9, 26.1],
|
|
200
|
+
[2074.3, -1215.4, 26.1],
|
|
201
|
+
[1870.7, -1134.0, 26.1],
|
|
202
|
+
[1970.4, -1135.8, 28.1],
|
|
203
|
+
[1982.5, -1052.6, 26.7],
|
|
204
|
+
[2064.7, -1136.1, 26.0],
|
|
205
|
+
[2071.7, -1094.5, 27.0],
|
|
206
|
+
[1825.4, -1752.0, 15.6],
|
|
207
|
+
[1965.4, -1812.3, 15.6],
|
|
208
|
+
[1941.3, -1748.5, 15.6],
|
|
209
|
+
[2001.6, -1748.5, 15.6],
|
|
210
|
+
[2005.5, -1673.7, 15.6],
|
|
211
|
+
[1821.6, -1612.3, 15.6],
|
|
212
|
+
[1849.3, -1462.2, 15.8],
|
|
213
|
+
[2048.4, -1609.6, 15.6],
|
|
214
|
+
[1986.6, -1458.8, 15.6],
|
|
215
|
+
[2121.4, -1389.0, 26.1],
|
|
216
|
+
[2166.7, -1380.6, 26.2],
|
|
217
|
+
[2166.9, -1300.8, 26.0],
|
|
218
|
+
[2212.8, -1388.2, 26.1],
|
|
219
|
+
[2265.0, -1379.1, 26.2],
|
|
220
|
+
[2267.3, -1301.1, 26.0],
|
|
221
|
+
[2175.3, -1221.0, 26.0],
|
|
222
|
+
[2184.2, -1121.2, 27.2],
|
|
223
|
+
[2222.0, -1121.2, 27.8],
|
|
224
|
+
[2267.3, -1220.9, 26.0],
|
|
225
|
+
[2271.3, -1151.7, 28.9],
|
|
226
|
+
[2077.8, -1812.6, 15.6],
|
|
227
|
+
[2088.6, -1750.6, 15.7],
|
|
228
|
+
[2077.9, -1672.5, 15.6],
|
|
229
|
+
[2090.7, -1613.1, 15.6],
|
|
230
|
+
[2193.3, -1642.1, 17.4],
|
|
231
|
+
[2108.8, -1464.8, 26.1],
|
|
232
|
+
[1183.6, -1843.5, 15.6],
|
|
233
|
+
[1401.6, -1866.7, 15.6],
|
|
234
|
+
[1373.5, -1872.2, 15.6],
|
|
235
|
+
[1435.1, -1880.9, 15.6],
|
|
236
|
+
[1535.9, -1875.3, 15.6],
|
|
237
|
+
[1324.1, -1736.9, 15.6],
|
|
238
|
+
[1359.9, -1735.1, 15.6],
|
|
239
|
+
[1402.0, -1736.6, 15.6],
|
|
240
|
+
[1436.0, -1726.2, 15.6],
|
|
241
|
+
[1521.7, -1725.0, 15.6],
|
|
242
|
+
[1429.4, -1591.9, 15.6],
|
|
243
|
+
[1454.5, -1441.3, 15.6],
|
|
244
|
+
[1529.9, -1596.8, 15.6],
|
|
245
|
+
[1577.3, -1863.4, 15.6],
|
|
246
|
+
[1565.8, -1736.8, 15.6],
|
|
247
|
+
[1694.0, -1812.2, 15.6],
|
|
248
|
+
[1688.3, -1732.1, 15.6],
|
|
249
|
+
[1749.9, -1728.1, 15.6],
|
|
250
|
+
[1672.6, -1594.0, 15.6],
|
|
251
|
+
[1646.6, -1591.7, 15.6],
|
|
252
|
+
[1664.7, -1541.1, 15.6],
|
|
253
|
+
[1657.6, -1450.4, 15.6],
|
|
254
|
+
[1670.4, -1480.9, 15.6],
|
|
255
|
+
[1703.9, -1593.7, 15.6],
|
|
256
|
+
[1754.3, -1604.5, 15.6],
|
|
257
|
+
[1715.8, -1436.7, 15.6],
|
|
258
|
+
[1770.7, -1450.0, 15.6],
|
|
259
|
+
[1458.1, -1302.1, 15.6],
|
|
260
|
+
[1604.4, -1304.0, 19.5],
|
|
261
|
+
[1450.0, -1243.4, 15.6],
|
|
262
|
+
[1717.4, -1297.0, 15.6],
|
|
263
|
+
[1465.5, -1160.4, 26.0],
|
|
264
|
+
[1489.0, -1162.4, 26.1],
|
|
265
|
+
[1484.8, -1036.9, 25.9],
|
|
266
|
+
[1580.7, -1157.3, 26.2],
|
|
267
|
+
[1712.0, -1164.5, 25.9],
|
|
268
|
+
[797.9, -1400.3, 15.6],
|
|
269
|
+
[917.9, -1400.5, 15.4],
|
|
270
|
+
[798.7, -1323.5, 15.5],
|
|
271
|
+
[918.0, -1328.4, 15.6],
|
|
272
|
+
[947.2, -1318.9, 15.6],
|
|
273
|
+
[1057.9, -1400.8, 15.7],
|
|
274
|
+
[1053.1, -1322.0, 15.6],
|
|
275
|
+
[1065.8, -1283.2, 15.7],
|
|
276
|
+
[1048.2, -1225.7, 18.9],
|
|
277
|
+
[802.1, -1151.3, 25.6],
|
|
278
|
+
[952.8, -1145.9, 25.8],
|
|
279
|
+
[796.5, -1130.4, 25.8],
|
|
280
|
+
[794.7, -1048.9, 26.9],
|
|
281
|
+
[1057.0, -1146.7, 25.9],
|
|
282
|
+
[1088.2, -1135.3, 25.9],
|
|
283
|
+
[966.1, -1040.5, 32.2],
|
|
284
|
+
[962.2, -973.3, 41.2],
|
|
285
|
+
[1083.6, -1039.5, 34.0],
|
|
286
|
+
[1084.9, -958.3, 44.6],
|
|
287
|
+
[1196.5, -1401.7, 15.5],
|
|
288
|
+
[1151.0, -1277.1, 15.7],
|
|
289
|
+
[1202.7, -1280.8, 15.7],
|
|
290
|
+
[1255.1, -1397.0, 15.3],
|
|
291
|
+
[1258.9, -1284.3, 15.7],
|
|
292
|
+
[1164.0, -1141.8, 25.8],
|
|
293
|
+
[1216.3, -1150.1, 25.7],
|
|
294
|
+
[1350.1, -1400.5, 15.7],
|
|
295
|
+
[1344.0, -1280.7, 15.7],
|
|
296
|
+
[1263.9, -1140.3, 25.9],
|
|
297
|
+
[1344.2, -1147.5, 26.0],
|
|
298
|
+
[1167.9, -1034.8, 34.0],
|
|
299
|
+
[1160.6, -948.3, 44.9],
|
|
300
|
+
[1262.4, -1041.7, 33.9],
|
|
301
|
+
[1359.9, -1035.1, 28.7],
|
|
302
|
+
[1260.1, -940.1, 44.5],
|
|
303
|
+
[1371.9, -939.7, 36.4],
|
|
304
|
+
[637.6, -1737.2, 15.7],
|
|
305
|
+
[611.7, -1728.8, 16.2],
|
|
306
|
+
[447.8, -1586.8, 27.6],
|
|
307
|
+
[535.1, -1597.9, 18.3],
|
|
308
|
+
[324.3, -1584.1, 35.4],
|
|
309
|
+
[142.8, -1572.1, 13.3],
|
|
310
|
+
[346.6, -1576.1, 35.2],
|
|
311
|
+
[73.8, -1543.1, 7.5],
|
|
312
|
+
[153.7, -1547.0, 12.1],
|
|
313
|
+
[93.2, -1517.6, 7.1],
|
|
314
|
+
[416.4, -1458.8, 32.7],
|
|
315
|
+
[526.1, -1568.5, 18.4],
|
|
316
|
+
[447.5, -1469.1, 32.7],
|
|
317
|
+
[515.8, -1447.3, 17.6],
|
|
318
|
+
[522.7, -1406.8, 18.3],
|
|
319
|
+
[550.8, -1420.7, 18.2],
|
|
320
|
+
[632.6, -1399.4, 15.8],
|
|
321
|
+
[481.7, -1303.4, 17.9],
|
|
322
|
+
[513.1, -1260.4, 18.2],
|
|
323
|
+
[616.0, -1227.2, 20.1],
|
|
324
|
+
[650.7, -1207.3, 20.4],
|
|
325
|
+
[330.4, -1639.1, 35.4],
|
|
326
|
+
[838.6, -875.9, 70.8],
|
|
327
|
+
[889.6, -764.9, 98.1],
|
|
328
|
+
[1288.0, -599.0, 102.8],
|
|
329
|
+
];
|
|
330
|
+
//# sourceMappingURL=junctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"junctions.js","sourceRoot":"","sources":["../src/junctions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAmD;IACvE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACrB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACpB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;IACpB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;IACpB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;IACpB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACxB,CAAC"}
|
package/dist/map.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { NativeServer } from "./native.js";
|
|
2
|
+
/** 0xRRGGBBAA, or "#RRGGBB" / "#RRGGBBAA". */
|
|
3
|
+
export type MapColor = number | string;
|
|
4
|
+
export interface MapMarkerOptions {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
/** The game's radar sprite (RADAR_SPRITE_*, 1-63); 0 or left out: a diamond in `color`. */
|
|
8
|
+
icon?: number;
|
|
9
|
+
color?: MapColor;
|
|
10
|
+
/** Shown beside it. */
|
|
11
|
+
label?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface MapOverlayOptions {
|
|
14
|
+
/** The world rectangle it covers (any two opposite corners). */
|
|
15
|
+
x1: number;
|
|
16
|
+
y1: number;
|
|
17
|
+
x2: number;
|
|
18
|
+
y2: number;
|
|
19
|
+
/** PNG or JPG: its bytes, or a file path (sent to players each time). */
|
|
20
|
+
image?: Buffer | string;
|
|
21
|
+
/**
|
|
22
|
+
* Or a client file (see `clientFiles`), e.g. `"maps/interior.png"`:
|
|
23
|
+
* players download it once and keep it, so only its name is sent.
|
|
24
|
+
*/
|
|
25
|
+
file?: string;
|
|
26
|
+
/** 0-1, default 1. */
|
|
27
|
+
opacity?: number;
|
|
28
|
+
/** Higher over lower; default 0. */
|
|
29
|
+
layer?: number;
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
export declare function mapColor(c: MapColor | undefined, fallback: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* The pause menu's map: markers, images over it (custom terrain, a
|
|
35
|
+
* building's floor plan) and whether the game's own map shows under them.
|
|
36
|
+
* `server.map` is everyone's (kept: players joining get it); `player.map`
|
|
37
|
+
* one player's. Client scripts have their own (`sagl.map`), apart from
|
|
38
|
+
* these.
|
|
39
|
+
*
|
|
40
|
+
* An interior, GTA V style: `map.setWorld(false, "#000000")`, then an
|
|
41
|
+
* overlay of the interior where it is.
|
|
42
|
+
*/
|
|
43
|
+
export declare class GameMap {
|
|
44
|
+
#private;
|
|
45
|
+
/** @internal player: an id, or -1 for everyone. */
|
|
46
|
+
constructor(nativeServer: NativeServer, player: number);
|
|
47
|
+
/** Adds a marker, or changes the one with that id. */
|
|
48
|
+
setMarker(id: string, options: MapMarkerOptions): this;
|
|
49
|
+
removeMarker(id: string): this;
|
|
50
|
+
/** Adds an image over the map, or replaces the one with that id. */
|
|
51
|
+
setOverlay(id: string, options: MapOverlayOptions): this;
|
|
52
|
+
removeOverlay(id: string): this;
|
|
53
|
+
/** The game's own map under everything (true), or a plain `background` (an interior). */
|
|
54
|
+
setWorld(visible: boolean, background?: MapColor): this;
|
|
55
|
+
}
|
package/dist/map.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export function mapColor(c, fallback) {
|
|
4
|
+
if (c === undefined)
|
|
5
|
+
return fallback;
|
|
6
|
+
if (typeof c === "number")
|
|
7
|
+
return c >>> 0;
|
|
8
|
+
const m = /^#([0-9a-f]{6})([0-9a-f]{2})?$/i.exec(c);
|
|
9
|
+
if (!m)
|
|
10
|
+
throw new TypeError(`not a colour: ${c} (0xRRGGBBAA or "#RRGGBB[AA]")`);
|
|
11
|
+
return parseInt(m[1] + (m[2] ?? "ff"), 16) >>> 0;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The pause menu's map: markers, images over it (custom terrain, a
|
|
15
|
+
* building's floor plan) and whether the game's own map shows under them.
|
|
16
|
+
* `server.map` is everyone's (kept: players joining get it); `player.map`
|
|
17
|
+
* one player's. Client scripts have their own (`sagl.map`), apart from
|
|
18
|
+
* these.
|
|
19
|
+
*
|
|
20
|
+
* An interior, GTA V style: `map.setWorld(false, "#000000")`, then an
|
|
21
|
+
* overlay of the interior where it is.
|
|
22
|
+
*/
|
|
23
|
+
export class GameMap {
|
|
24
|
+
#native;
|
|
25
|
+
#player;
|
|
26
|
+
/** @internal player: an id, or -1 for everyone. */
|
|
27
|
+
constructor(nativeServer, player) {
|
|
28
|
+
this.#native = nativeServer;
|
|
29
|
+
this.#player = player;
|
|
30
|
+
}
|
|
31
|
+
/** Adds a marker, or changes the one with that id. */
|
|
32
|
+
setMarker(id, options) {
|
|
33
|
+
checkId(id);
|
|
34
|
+
this.#native.setMapMarker(this.#player, id, options.x, options.y, options.icon ?? 0, mapColor(options.color, 0xffffffff), (options.label ?? "").slice(0, 48));
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
removeMarker(id) {
|
|
38
|
+
this.#native.removeMapMarker(this.#player, id);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/** Adds an image over the map, or replaces the one with that id. */
|
|
42
|
+
setOverlay(id, options) {
|
|
43
|
+
checkId(id);
|
|
44
|
+
const opacity = Math.min(1, Math.max(0, options.opacity ?? 1));
|
|
45
|
+
if (options.file !== undefined) {
|
|
46
|
+
if (!this.#native.setMapOverlayFile(this.#player, id, options.x1, options.y1, options.x2, options.y2, options.file, opacity, options.layer ?? 0)) {
|
|
47
|
+
throw new Error(`no client file "${options.file}"`);
|
|
48
|
+
}
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
if (options.image === undefined)
|
|
52
|
+
throw new TypeError("a map overlay needs an image or a file");
|
|
53
|
+
const image = typeof options.image === "string" ? readFileSync(options.image) : options.image;
|
|
54
|
+
this.#native.setMapOverlay(this.#player, id, options.x1, options.y1, options.x2, options.y2, image, opacity, options.layer ?? 0);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
removeOverlay(id) {
|
|
58
|
+
this.#native.removeMapOverlay(this.#player, id);
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/** The game's own map under everything (true), or a plain `background` (an interior). */
|
|
62
|
+
setWorld(visible, background = 0x000000ff) {
|
|
63
|
+
this.#native.setMapWorld(this.#player, visible, mapColor(background, 0x000000ff));
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function checkId(id) {
|
|
68
|
+
if (!id || id.length > 32)
|
|
69
|
+
throw new RangeError("map ids are 1-32 characters");
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=map.js.map
|
package/dist/map.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"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"}
|
package/dist/menu.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { NativeServer } from "./native.js";
|
|
2
|
+
/**
|
|
3
|
+
* A menu row: its text; or its text and a right-hand column (a price,
|
|
4
|
+
* "Fitted"); or those and a colour swatch (0xRRGGBB, e.g. a car colour).
|
|
5
|
+
*/
|
|
6
|
+
export type MenuRow = string | [string, string] | {
|
|
7
|
+
text: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
swatch?: number;
|
|
10
|
+
};
|
|
11
|
+
/** A button's hint under a menu: its key (an action or a key icon's name) and what it does. */
|
|
12
|
+
export interface MenuHint {
|
|
13
|
+
key: "select" | "back" | "updown" | "arrows" | (string & {});
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
/** @internal Hints as sent ("" the default, "-" none). */
|
|
17
|
+
export declare function menuHints(hints: MenuHint[] | undefined): string;
|
|
18
|
+
/** @internal A row as sent: text, tab, value, tab, swatch. */
|
|
19
|
+
export declare function menuRow(r: MenuRow): string;
|
|
20
|
+
export interface MenuOptions {
|
|
21
|
+
/** In the game's heading font. */
|
|
22
|
+
title?: string;
|
|
23
|
+
/**
|
|
24
|
+
* An image over the menu (a logo), edge to edge; the title then shows as
|
|
25
|
+
* a subheading under it. A client file (see
|
|
26
|
+
* `clientFiles`), or one of the game's own textures from the player's copy,
|
|
27
|
+
* `"game:<txd>/<texture>"`, e.g. `"game:garag3_lawn/ws_Transfender_dirty"`.
|
|
28
|
+
*/
|
|
29
|
+
image?: string;
|
|
30
|
+
/** The game's ~r~ colour codes and `gxt()` keys work in them. */
|
|
31
|
+
rows: MenuRow[];
|
|
32
|
+
/** The one chosen to begin with. Default 0. */
|
|
33
|
+
row?: number;
|
|
34
|
+
/**
|
|
35
|
+
* A line under the box (e.g. their cash): a text, or a row's form (with
|
|
36
|
+
* a value on the right, a swatch). A grid's shares the line under it with
|
|
37
|
+
* the chosen cell's value.
|
|
38
|
+
*/
|
|
39
|
+
footer?: MenuRow;
|
|
40
|
+
/**
|
|
41
|
+
* The buttons' hints along the bottom left of their screen, the first
|
|
42
|
+
* leftmost. `key`: `"select"`, `"back"` or `"updown"` (the keys, or
|
|
43
|
+
* controller buttons, for it), or a key icon's name (`"space"`, `"f"`).
|
|
44
|
+
* Default: Select and Back; `[]`: none.
|
|
45
|
+
*/
|
|
46
|
+
hints?: MenuHint[];
|
|
47
|
+
/**
|
|
48
|
+
* Above 1: a grid this many across, as the game's colour picker: each row
|
|
49
|
+
* a cell (its swatch, else its text), the arrow keys moving every way, and
|
|
50
|
+
* the chosen one's text and value under it.
|
|
51
|
+
*/
|
|
52
|
+
columns?: number;
|
|
53
|
+
/** They moved to a row (Up/Down): e.g. show it off. */
|
|
54
|
+
onChoose?: (row: number, menu: PlayerMenu) => void;
|
|
55
|
+
/** They pressed Enter on a row. */
|
|
56
|
+
onSelect?: (row: number, menu: PlayerMenu) => void;
|
|
57
|
+
/** They pressed Backspace, Escape or F (as the game's). The menu stays up: close it, or show the previous one. */
|
|
58
|
+
onBack?: (menu: PlayerMenu) => void;
|
|
59
|
+
}
|
|
60
|
+
/** @internal The menu showing on one player (one at a time). */
|
|
61
|
+
export declare class PlayerMenus {
|
|
62
|
+
#private;
|
|
63
|
+
current: PlayerMenu | null;
|
|
64
|
+
constructor(native: NativeServer, player: number);
|
|
65
|
+
open(options: MenuOptions): PlayerMenu;
|
|
66
|
+
send(spec: Parameters<NativeServer["gameMenu"]>[1]): void;
|
|
67
|
+
heard(id: number, kind: number, row: number): void;
|
|
68
|
+
/** Gone (they left, or the server reset them): no more events. */
|
|
69
|
+
forget(): void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A menu on a player's screen, as the game's shops have (and SA-MP's
|
|
73
|
+
* menus): a box at the top left with a title and rows, one chosen. They
|
|
74
|
+
* move with Up/Down, select with Enter and go back with Backspace or
|
|
75
|
+
* Escape. One at a time: opening another replaces it. See `player.menu`.
|
|
76
|
+
*/
|
|
77
|
+
export declare class PlayerMenu {
|
|
78
|
+
#private;
|
|
79
|
+
readonly id: number;
|
|
80
|
+
/** @internal */
|
|
81
|
+
constructor(menus: PlayerMenus, id: number, options: MenuOptions);
|
|
82
|
+
/** The row chosen. */
|
|
83
|
+
get row(): number;
|
|
84
|
+
/** Still on their screen. */
|
|
85
|
+
get isOpen(): boolean;
|
|
86
|
+
/** Changes what it shows (rows, title, footer, hints, the row chosen), in place. */
|
|
87
|
+
update(changes: Partial<Pick<MenuOptions, "title" | "image" | "rows" | "row" | "footer" | "hints">>): this;
|
|
88
|
+
/** Takes it off their screen. */
|
|
89
|
+
close(): void;
|
|
90
|
+
/** @internal */
|
|
91
|
+
markClosed(): void;
|
|
92
|
+
/** @internal */
|
|
93
|
+
send(): void;
|
|
94
|
+
/** @internal */
|
|
95
|
+
heard(kind: number, row: number): void;
|
|
96
|
+
}
|