]> github.com/historicalsource and other repositories - DRGNSRC.git/blob - DDANIMW.ASM
Fixed README extension
[DRGNSRC.git] / DDANIMW.ASM
1 \r
2 assume          ds:dseg\r
3 \r
4 dseg            segment public 'data'\r
5 \r
6 include         ddaddres.asm\r
7 \r
8 right   equ     1\r
9 left    equ     2\r
10 \r
11 public          club_heldr, club_heldl ,whip_held_r, whip_held_l, barrel_stat, crate_stat\r
12 public          w_frame_0_table, club_stat, whip_stat, tnt_stat, knife_stat\r
13 public          tnt_thrown_r_7, tnt_thrown_l_7, barrel_held_r, barrel_held_l\r
14 public          knife_thrn_r_7, knife_thrn_l_7, crate_held_r, crate_held_l\r
15 public          rock_held, blowup_0, splat_0, null_0, splash_0, flame_0\r
16 public          thumb_0,smash_1_0,stone_0,stone_1,stab_0,stab_1\r
17 public          platf_0,smash_5_0,stab_2x,wall_0,stab_1f\r
18 public          gunfire_0\r
19 \r
20 public          club_0f,bale_0\r
21 public          null_0f,wepend\r
22 \r
23 w_frame_0_table dw      ?, ?, ?, ?, ?, ?, ?             ; nonexistent\r
24 \r
25                 dw      offset club_stat\r
26                 dw      offset whip_stat\r
27                 dw      offset knife_stat\r
28                 dw      offset tnt_stat\r
29                 dw      offset barrel_stat\r
30                 dw      offset crate_stat\r
31                 dw      offset rock_stat\r
32 \r
33                 dw      offset club_drop\r
34                 dw      offset whip_drop\r
35                 dw      offset knife_drop\r
36                 dw      offset tnt_drop\r
37                 dw      offset barrel_drop\r
38                 dw      offset crate_drop\r
39                 dw      offset rock_drop\r
40 \r
41                 dw      ?                               ; right-handed moves\r
42                 dw      ?\r
43                 dw      offset knife_thrn_r_0\r
44                 dw      offset tnt_thrown_r_0\r
45                 dw      offset barrel_roll_r_0\r
46                 dw      offset crate_slide\r
47                 dw      offset rock_slide_r_0\r
48 \r
49                 dw      offset club_used_r_0\r
50                 dw      offset whip_used_r_0\r
51                 dw      offset knife_used_r_0\r
52                 dw      offset tnt_used_r_0\r
53                 dw      ?\r
54                 dw      ?\r
55                 dw      ?\r
56 \r
57                 dw      offset club_heldr\r
58                 dw      offset whip_held_r\r
59                 dw      offset knife_held\r
60                 dw      offset tnt_held\r
61                 dw      offset barrel_held_r\r
62                 dw      offset crate_held_r\r
63                 dw      offset rock_held\r
64 \r
65                 dw      ?\r
66                 dw      ?\r
67                 dw      ?\r
68                 dw      ?\r
69                 dw      offset barrel_pkp_r_0\r
70                 dw      offset crate_pkp_r_0\r
71                 dw      offset rock_pkp_0\r
72 \r
73 ;       MIKE ASSUMED 56 gap between starts of these two tables\r
74 \r
75                 dw      ?                               ; left-handed moves\r
76                 dw      ?\r
77                 dw      offset knife_thrn_l_0\r
78                 dw      offset tnt_thrown_l_0\r
79                 dw      offset barrel_roll_l_0\r
80                 dw      offset crate_slide\r
81                 dw      offset rock_slide_l_0\r
82 \r
83                 dw      offset club_used_l_0\r
84                 dw      offset whip_used_l_0\r
85                 dw      offset knife_used_l_0\r
86                 dw      offset tnt_used_l_0\r
87                 dw      ?\r
88                 dw      ?\r
89                 dw      ?\r
90 \r
91                 dw      offset club_heldl\r
92                 dw      offset whip_held_l\r
93                 dw      offset knife_held\r
94                 dw      offset tnt_held\r
95                 dw      offset barrel_held_l\r
96                 dw      offset crate_held_l\r
97                 dw      offset rock_held\r
98 \r
99                 dw      ?\r
100                 dw      ?\r
101                 dw      ?\r
102                 dw      ?\r
103                 dw      offset barrel_pkp_l_0\r
104                 dw      offset crate_pkp_l_0\r
105                 dw      offset rock_pkp_0\r
106 \r
107 \r
108 \r
109 \r
110 null_0          dw      offset null_0f, offset null_0\r
111 \r
112 club_stat       dw      offset club_3f, offset club_stat        ,right\r
113 whip_stat       dw      offset whip_1f, offset whip_stat        ,right\r
114 knife_stat      dw      offset knife_2f, offset knife_stat      ,right\r
115 tnt_stat        dw      offset tnt_2f, offset tnt_stat          ,right\r
116 barrel_stat     dw      offset barrel_3f, offset barrel_stat    ,right\r
117 crate_stat      dw      offset crate_0f, offset crate_stat      ,right\r
118 rock_stat       dw      offset rock_0f, offset rock_stat        ,right\r
119 \r
120 \r
121 club_drop       dw      offset club_4f, offset club_drop        ,right\r
122 whip_drop       dw      offset whip_2f, offset whip_drop        ,right\r
123 knife_drop      dw      offset knife_1f, offset knife_drop      ,right\r
124 tnt_drop        dw      offset tnt_1f, offset tnt_drop          ,right\r
125 barrel_drop     dw      offset barrel_3f, offset barrel_drop    ,right\r
126 crate_drop      dw      offset crate_1f, offset crate_drop      ,right\r
127 rock_drop       dw      offset rock_0f, offset rock_drop        ,right\r
128 \r
129 \r
130 knife_thrn_r_0  dw      offset knife_0f, offset knife_thrn_r_1  ,right\r
131 knife_thrn_r_1  dw      offset knife_1f, offset knife_thrn_r_2  ,right\r
132 knife_thrn_r_2  dw      offset knife_2f, offset knife_thrn_r_3  ,right\r
133 knife_thrn_r_3  dw      offset knife_3f, offset knife_thrn_r_4  ,right\r
134 knife_thrn_r_4  dw      offset knife_4f, offset knife_thrn_r_5  ,right\r
135 knife_thrn_r_5  dw      offset knife_5f, offset knife_thrn_r_6  ,right\r
136 knife_thrn_r_6  dw      offset knife_6f, offset knife_thrn_r_7  ,right\r
137 knife_thrn_r_7  dw      offset knife_7f, offset knife_thrn_r_0  ,right\r
138 \r
139 knife_thrn_l_0  dw      offset knife_0f, offset knife_thrn_l_1  ,left\r
140 knife_thrn_l_1  dw      offset knife_7f, offset knife_thrn_l_2  ,left\r
141 knife_thrn_l_2  dw      offset knife_6f, offset knife_thrn_l_3  ,left\r
142 knife_thrn_l_3  dw      offset knife_5f, offset knife_thrn_l_4  ,left\r
143 knife_thrn_l_4  dw      offset knife_4f, offset knife_thrn_l_5  ,left\r
144 knife_thrn_l_5  dw      offset knife_3f, offset knife_thrn_l_6  ,left\r
145 knife_thrn_l_6  dw      offset knife_2f, offset knife_thrn_l_7  ,left\r
146 knife_thrn_l_7  dw      offset knife_1f, offset knife_thrn_l_0  ,left\r
147 \r
148 tnt_thrown_r_0  dw      offset tnt_0f, offset tnt_thrown_r_1    ,right\r
149 tnt_thrown_r_1  dw      offset tnt_1f, offset tnt_thrown_r_7    ,right\r
150 tnt_thrown_r_7  dw      offset tnt_2f, offset tnt_thrown_r_0    ,right\r
151 \r
152 tnt_thrown_l_0  dw      offset tnt_0f, offset tnt_thrown_l_1    ,left\r
153 tnt_thrown_l_1  dw      offset tnt_1f, offset tnt_thrown_l_7    ,left\r
154 tnt_thrown_l_7  dw      offset tnt_2f, offset tnt_thrown_l_0    ,left\r
155 \r
156 barrel_roll_r_0 dw      offset barrel_3f, offset barrel_roll_r_1        ,right\r
157 barrel_roll_r_1 dw      offset barrel_3f, offset barrel_roll_r_0        ,left\r
158 \r
159 barrel_roll_l_0 dw      offset barrel_3f, offset barrel_roll_l_1        ,left\r
160 barrel_roll_l_1 dw      offset barrel_3f, offset barrel_roll_l_0        ,right\r
161 \r
162 crate_slide     dw      offset crate_0f, offset crate_slide     ,right\r
163 \r
164 rock_slide_r_0  dw      offset rock_0f, offset rock_slide_r_1   ,right\r
165 rock_slide_r_1  dw      offset rock_1f, offset rock_slide_r_2   ,left\r
166 rock_slide_r_2  dw      offset rock_1f, offset rock_slide_r_0   ,right\r
167 \r
168 rock_slide_l_0  dw      offset rock_0f, offset rock_slide_l_1   ,left\r
169 rock_slide_l_1  dw      offset rock_1f, offset rock_slide_l_2   ,right\r
170 rock_slide_l_2  dw      offset rock_1f, offset rock_slide_l_0   ,left\r
171 \r
172 club_used_r_0   dw      offset club_3f, offset club_used_r_1    ,left\r
173 club_used_r_1   dw      offset null_0f, offset club_used_r_2    ,right\r
174 club_used_r_2   dw      offset club_3f, offset club_used_r_3    ,right\r
175 club_used_r_3   dw      offset club_2f, offset club_heldr       ,right\r
176 \r
177 club_used_l_0   dw      offset club_3f, offset club_used_l_1    ,right\r
178 club_used_l_1   dw      offset null_0f, offset club_used_l_2    ,left\r
179 club_used_l_2   dw      offset club_3f, offset club_used_l_3    ,left\r
180 club_used_l_3   dw      offset club_2f, offset club_heldl       ,left\r
181 \r
182 whip_used_r_0   dw      offset whip_3f, offset whip_used_r_1    ,right\r
183 whip_used_r_1   dw      offset whip_1f, offset whip_used_r_2    ,right\r
184 whip_used_r_2   dw      offset whip_2f, offset whip_used_r_3    ,right\r
185 whip_used_r_3   dw      offset whip_2f, offset whip_held_r      ,right\r
186 \r
187 whip_used_l_0   dw      offset whip_3f, offset whip_used_l_1    ,left\r
188 whip_used_l_1   dw      offset whip_1f, offset whip_used_l_2    ,left\r
189 whip_used_l_2   dw      offset whip_2f, offset whip_used_l_3    ,left\r
190 whip_used_l_3   dw      offset whip_2f, offset whip_held_r      ,left\r
191 \r
192 knife_used_r_0  dw      offset knife_0f, offset knife_used_r_1  ,right\r
193 knife_used_r_1  dw      offset knife_1f, offset knife_thrn_r_7  ,right\r
194 \r
195 knife_used_l_0  dw      offset knife_0f, offset knife_used_l_1  ,left\r
196 knife_used_l_1  dw      offset knife_1f, offset knife_thrn_l_7  ,left\r
197 \r
198 tnt_used_r_0    dw      offset tnt_0f, offset tnt_used_r_1      ,right\r
199 tnt_used_r_1    dw      offset tnt_1f, offset tnt_thrown_r_7    ,right\r
200 \r
201 tnt_used_l_0    dw      offset tnt_0f, offset tnt_used_l_1      ,left\r
202 tnt_used_l_1    dw      offset tnt_1f, offset tnt_thrown_l_7    ,left\r
203 \r
204 \r
205 club_heldr      dw      offset club_4f, offset club_heldr       ,right\r
206 club_heldl      dw      offset club_4f, offset club_heldl       ,left\r
207 whip_held_r     dw      offset whip_0f, offset whip_held_r      ,right\r
208 whip_held_l     dw      offset whip_0f, offset whip_held_l      ,left\r
209 knife_held      dw      offset knife_0f, offset knife_held      ,right\r
210 tnt_held        dw      offset tnt_0f, offset tnt_held          ,right\r
211 barrel_held_r   dw      offset barrel_3f, offset barrel_held_r  ,right\r
212 barrel_held_l   dw      offset barrel_3f, offset barrel_held_l  ,left\r
213 crate_held_r    dw      offset crate_0f, offset crate_held_r    ,right\r
214 crate_held_l    dw      offset crate_1f, offset crate_held_l    ,left\r
215 rock_held       dw      offset rock_0f, offset rock_held        ,right\r
216 \r
217 \r
218 barrel_pkp_r_0  dw      offset barrel_3f, offset barrel_pkp_r_1 ,right\r
219 barrel_pkp_r_1  dw      offset barrel_3f, offset barrel_pkp_r_2 ,right\r
220 barrel_pkp_r_2  dw      offset barrel_0f, offset barrel_held_r  ,right\r
221 \r
222 barrel_pkp_l_0  dw      offset barrel_3f, offset barrel_pkp_l_1 ,left\r
223 barrel_pkp_l_1  dw      offset barrel_3f, offset barrel_pkp_l_2 ,left\r
224 barrel_pkp_l_2  dw      offset barrel_0f, offset barrel_held_l  ,left\r
225 \r
226 crate_pkp_r_0   dw      offset crate_0f, offset crate_pkp_r_1   ,right\r
227 crate_pkp_r_1   dw      offset crate_1f, offset crate_pkp_r_2   ,right\r
228 crate_pkp_r_2   dw      offset crate_2f, offset crate_held_r    ,right\r
229 \r
230 crate_pkp_l_0   dw      offset crate_0f, offset crate_pkp_l_1   ,left\r
231 crate_pkp_l_1   dw      offset crate_1f, offset crate_pkp_l_2   ,left\r
232 crate_pkp_l_2   dw      offset crate_2f, offset crate_held_l    ,left\r
233 \r
234 rock_pkp_0      dw      offset rock_0f, offset rock_pkp_1       ,right\r
235 rock_pkp_1      dw      offset rock_0f, offset rock_pkp_2       ,right\r
236 rock_pkp_2      dw      offset rock_0f, offset rock_held        ,right\r
237 \r
238 thumb_0         dw      offset thumb_0f, offset thumb_1 ,right\r
239 thumb_1         dw      offset thumb_0f, offset thumb_2 ,right\r
240 thumb_2         dw      offset thumb_0f, offset thumb_3 ,right\r
241 thumb_3         dw      offset null_0f, offset thumb_4  ,right\r
242 thumb_4         dw      offset null_0f, offset thumb_5  ,right\r
243 thumb_5         dw      offset null_0f, offset thumb_0  ,right\r
244 \r
245 ;       kill this rubbish eventually !\r
246 splash_0        dw      offset splash_0f, offset splash_1       ,right\r
247 splash_1        dw      offset splash_1f, offset splash_2       ,right\r
248 splash_2        dw      offset splash_2f, offset null_0 ,right\r
249 \r
250 splat_0         dw      offset splat_0f, offset splat_1 ,right\r
251 splat_1         dw      offset splat_0f, offset null_0  ,right\r
252 ;think theres no splat in ddii??\r
253 \r
254 flame_0         dw      offset flame_0f, offset flame_1 ,right\r
255 ;flame_1a       dw      offset null_0f,offset flame_1           ,right\r
256 flame_1         dw      offset flame_1f, offset flame_2 ,right\r
257 ;flame_2a       dw      offset null_0f,offset flame_2           ,right\r
258 flame_2         dw      offset flame_2f, offset flame_0 ,right\r
259 ;flame_0a       dw      offset null_0f,offset flame_0           ,right\r
260 \r
261 blowup_0        dw      offset blowup_0f, offset blowup_1       ,right\r
262 blowup_1        dw      offset blowup_0f, offset blowup_2       ,left\r
263 blowup_2        dw      offset blowup_1f, offset blowup_3       ,right\r
264 blowup_3        dw      offset blowup_2f, offset blowup_4       ,left\r
265 blowup_4        dw      offset blowup_2f, offset null_0         ,right\r
266 \r
267 smash_1_0       dw      offset smash_1_0f,offset smash_1_1      ,right\r
268 smash_1_1       dw      offset smash_1_0f,offset smash_1_2      ,right\r
269 smash_1_2       dw      offset smash_1_0f,offset smash_1_3      ,right\r
270 smash_1_3       dw      offset smash_1_0f,offset smash_1_4      ,right\r
271 smash_1_4       dw      offset smash_1_1f,offset smash_1_5      ,right\r
272 smash_1_5       dw      offset smash_1_2f,offset null_0         ,right\r
273 \r
274 platf_0         dw      offset platf_0f,offset platf_0  ,right\r
275 \r
276 smash_5_0       dw      offset smash_5_0f,offset smash_5_0      ,right\r
277 smash_5_1       dw      offset smash_5_1f,offset smash_5_2      ,right\r
278 smash_5_2       dw      offset smash_5_2f,offset null_0         ,right\r
279 \r
280 gunfire_0       dw      offset blowup_0f, offset gunfire_1      ,right\r
281 gunfire_1       dw      offset blowup_0f, offset gunfire_2      ,right\r
282 gunfire_2       dw      offset blowup_0f, offset gunfire_3      ,right\r
283 gunfire_3       dw      offset blowup_0f, offset gunfire_4      ,right\r
284 gunfire_4       dw      offset blowup_0f, offset gunfire_5      ,right\r
285 gunfire_5       dw      offset blowup_0f, offset null_0         ,right\r
286 \r
287 bale_0          dw      offset bale_0f,offset bale_0    ,right  ; right ?\r
288 wall_0          dw      offset wall_0f, offset wall_0   ,right  ;?\r
289 \r
290 stone_0         dw      offset stone_1f,offset stone_0a ,right\r
291 stone_0a        dw      offset stone_0f,offset stone_0b ,right\r
292 stone_0b        dw      offset stone_1f,offset null_0   ,right\r
293 \r
294 stone_1         dw      offset null_0f,offset stone_1a  ,right\r
295 stone_1a        dw      offset stone_1f,offset stone_1b ,right\r
296 stone_1b        dw      offset null_0f,offset null_0    ,right\r
297 \r
298 stab_0          dw      offset stab_0f,offset stab_01   ,right\r
299 stab_01         dw      offset stab_0f,offset stab_0a   ,right\r
300 stab_0a         dw      offset stab_1f,offset stab_0a1  ,right\r
301 stab_0a1        dw      offset stab_1f,offset stab_2x   ,right\r
302 stab_2x         dw      offset stab_0f,offset stab_2x   ,right\r
303 \r
304                                 ; the small animation needs restarting !\r
305 \r
306 stab_1          dw      offset null_0f,offset stab_11   ,right\r
307 stab_11         dw      offset null_0f,offset stab_1a   ,right\r
308 stab_1a         dw      offset stab_0f,offset stab_1a1  ,right\r
309 stab_1a1        dw      offset stab_0f,offset stab_1b   ,right\r
310 stab_1b         dw      offset null_0f,offset null_0    ,right\r
311 \r
312 \r
313 even\r
314 \r
315 null_0f         dw      we_hand_0\r
316                 db      2, 2, -100,-100 ;ah I think that'uns a brill frig!\r
317 \r
318 wall_0f         dw      we_wall_0\r
319                 db      12,40,0,0\r
320 \r
321 stab_0f         dw      we_stab_0\r
322                 db      12,28,-10,0\r
323 stab_1f         dw      we_stab_1\r
324                 db      10,22,-8,0\r
325 \r
326 stone_0f        dw      we_stone_0\r
327                 db      10,38,0,0\r
328 stone_1f        dw      we_stone_1\r
329                 db      10,38,0,0\r
330 \r
331 bale_0f         dw      we_bale_0\r
332                 db      8,64,0,8        ;move down \r
333 \r
334 club_0f         dw      we_spade_0\r
335                 db      8, 12, -4, -8\r
336 club_1f         dw      we_spade_1\r
337                 db      8,14,-4,-10\r
338 club_2f         dw      we_spade_2\r
339                 db      6,12,-3,-8\r
340 club_3f         dw      we_spade_3\r
341                 db      8,10,-4,-6\r
342 club_4f         dw      we_spade_4\r
343                 db      4,32,-2,-8      ;quick frig?\r
344 club_5f         dw      we_spade_5\r
345                 db      8,20,-4,-16\r
346 club_6f         dw      we_spade_6\r
347                 db      8,20,-4,-16\r
348 \r
349 whip_0f         dw      we_chain_0\r
350                 db      4, 18, -2, -12  ;moved right a bit\r
351 whip_1f         dw      we_chain_1\r
352                 db      8, 20, -3, -16\r
353 whip_2f         dw      we_chain_2\r
354                 db      6, 34, -3, -16\r
355 whip_3f         dw      we_chain_3\r
356                 db      4, 42, -3, -16\r
357 \r
358 crate_0f        dw      we_crate_0\r
359                 db      10, 34, -4, -30\r
360 crate_1f        dw      we_crate_1\r
361                 db      8, 44, -3, -40\r
362 crate_2f        dw      we_crate_2\r
363                 db      10, 42, -4, -38\r
364 crate_3f        dw      we_crate_3\r
365                 db      8,44, -3, -40\r
366 \r
367 knife_0f        dw      we_knife_0\r
368                 db      4, 16, -2, -10\r
369 knife_1f        dw      we_knife_1\r
370                 db      4, 16, -3, -10\r
371 knife_2f        dw      we_knife_2\r
372                 db      4, 10, -3, -5\r
373 knife_3f        dw      we_knife_3\r
374                 db      4, 16, -3, -10\r
375 knife_4f        dw      we_knife_4      ;mega frigg !\r
376                 db      4, 16, -3, -10\r
377 knife_5f        dw      we_knife_5\r
378                 db      4, 16, -3, -10\r
379 knife_6f        dw      we_knife_6\r
380                 db      4, 10, -3, -5\r
381 knife_7f        dw      we_knife_7\r
382                 db      4, 16, -3, -10\r
383 \r
384 \r
385 barrel_0f       dw      we_log_0                        ;make this the log\r
386                 db      12, 32, -6, -28;\r
387 ;barrel_1f      dw      we_log_0\r
388 ;db     12,42,-6,-38\r
389 ;barrel_2f      dw      we_log_0\r
390 ;db     8,48,-4,-44\r
391 barrel_3f       dw      we_log_3\r
392                 db      8,40,-4,-36\r
393 \r
394 rock_0f         dw      we_ball_0\r
395                 db      8,32,-4,-28\r
396 rock_1f         dw      we_ball_1\r
397                 db      8,32,-4,-28\r
398 \r
399 tnt_0f          dw      we_gren_0\r
400                 db      4,8,-1,-4\r
401 tnt_1f          dw      we_gren_1\r
402                 db      4,8,-1,-4\r
403 tnt_2f          dw      we_gren_2\r
404                 db      4,8,-1,-4\r
405 \r
406 thumb_0f        dw      we_hand_0\r
407                 db      10, 24, -5, -18\r
408 \r
409 splash_0f       dw      16080\r
410                 db      8, 24, -3, -18\r
411 splash_1f       dw      16464\r
412                 db      10, 40, -4, -30\r
413 splash_2f       dw      17264\r
414                 db      12, 46, -5, -33\r
415 \r
416 splat_0f        dw      we_hand_0\r
417                 db      2, 2, -100, -100\r
418 \r
419 flame_0f        dw      we_flame_0\r
420                 db      6, 34, -4, -34\r
421 flame_1f        dw      we_flame_1\r
422                 db      6, 28, -4, -28\r
423 flame_2f        dw      we_flame_2\r
424                 db      6, 26, -4, -26\r
425 \r
426 ;\r
427 \r
428 blowup_0f       dw      we_explo_0\r
429                 db      8, 26, -4, -16\r
430 blowup_1f       dw      we_explo_1\r
431                 db      8, 28, -4, -18\r
432 blowup_2f       dw      we_explo_2\r
433                 db      8, 22, -4, -12\r
434 \r
435 smash_1_0f      dw      23740\r
436                 db      8,64,-3,-60\r
437 smash_1_1f      dw      24764\r
438                 db      12,64,-3,-60\r
439 smash_1_2f      dw      26300\r
440                 db      12,54,-3,-50\r
441 \r
442 platf_0f        dw      27596\r
443                 db      18,34,-3,-30\r
444 \r
445 \r
446 smash_5_0f      dw      29972\r
447                 db      12,72,-3,-68\r
448 smash_5_1f      dw      31700\r
449                 db      12,72,-3,-68\r
450 smash_5_2f      dw      33428\r
451                 db      8,52,-3,-48\r
452 \r
453 wepend  label   word\r
454 \r
455 dseg            ends\r
456 \r
457 wep_seg         segment public 'data'\r
458 extrn           weapon_data:byte\r
459 wep_seg         ends\r
460 \r
461 end\r
462 \1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a