-
Notifications
You must be signed in to change notification settings - Fork 55
/
wartool.h
3006 lines (2925 loc) · 216 KB
/
wartool.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// _________ __ __
// / _____// |_____________ _/ |______ ____ __ __ ______
// \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
// / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ |
// /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
// \/ \/ \//_____/ \/
// ______________________ ______________________
// T H E W A R B E G I N S
// Utility for Stratagus - A free fantasy real time strategy game engine
//
/**@name wartool.h - Extract files from war archives. */
//
// (c) Copyright 1999-2016 by Lutz Sammer, Nehal Mistry, Jimmy Salmon,
// Pali Rohár and cybermind
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 dated June, 1991.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
#ifndef _WARTOOL_H
#define _WARTOOL_H
/*----------------------------------------------------------------------------
-- General
----------------------------------------------------------------------------*/
#define VERSION "3.3.3" // Version of extractor wartool
const char NameLine[] = "wartool V" VERSION " for Stratagus, (c) 1998-2022 by The Stratagus Project.\n"\
" Written by Lutz Sammer, Nehal Mistry, Jimmy Salmon, Pali Rohar and cybermind.\n"\
" https://wargus.github.io";
/*----------------------------------------------------------------------------
-- Includes
----------------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdint.h>
#include <ctype.h>
#include <png.h>
#include <zlib.h>
#include <string>
#ifdef USE_STORMLIB
#include "StormLib.h"
#endif
//----------------------------------------------------------------------------
// Config
//----------------------------------------------------------------------------
/**
** Destination directory of the graphics
*/
const char* Dir;
/**
** Path to the tileset graphics. (default=$DIR/graphics/tilesets)
*/
#define TILESET_PATH "graphics/tilesets"
/**
** Path to the unit graphics. (default=$DIR/graphics)
*/
#define GRAPHICS_PATH "graphics"
/**
** Path the pud files. (default=$DIR)
*/
#define PUD_PATH "."
/**
** Path the font files. (default=$DIR/graphics/ui/fonts)
*/
#define FONT_PATH "graphics/ui/fonts"
/**
** Path the cursor files. (default=$DIR/graphic/ui/)
*/
#define CURSOR_PATH "graphics/ui"
/**
** Path the graphic files. (default=$DIR/graphic)
*/
#define GRAPHIC_PATH "graphics"
/**
** Path the sound files. (default=$DIR/sounds)
*/
#define SOUND_PATH "sounds"
/**
** Path the sound files. (default=$DIR/music)
*/
#define MUSIC_PATH "music"
/**
** Path the text files. (default=$DIR/texts)
*/
#define TEXT_PATH "campaigns"
/**
** How much tiles are stored in a row.
*/
#define TILE_PER_ROW 16
/**
** Conversion control sturcture.
*/
typedef struct _control_ {
int Type; /// Entry type
int Version; /// Only in this version
const char* File; /// Save file
int Arg1; /// Extra argument 1
int Arg2; /// Extra argument 2
int Arg3; /// Extra argument 3
int Arg4; /// Extra argument 4
const char* MPQFile; /// MPQ file
const char* ArcFile; /// Archive file
} Control;
/**
** Possible entry types of archive file.
*/
enum _archive_type_ {
S, // Setup
F, // File (name)
T, // Tileset (name,pal,mega,mini,map)
R, // RGB -> gimp (name,rgb)
G, // Graphics (name,pal,gfx)
U, // Uncompressed Graphics (name,pal,gfu)
D, // Grouped Uncompressed Graphic (name,pal,gfu,glist)
P, // Pud (name,idx)
N, // Font (name,idx)
I, // Image (name,pal,img)
W, // Wav (name,wav)
M, // XMI Midi Sound (name,xmi)
X, // Text (name,text,ofs)
C, // Cursor (name,cursor)
V, // Video (name,video)
L, // Campaign Levels
Q // MPQ archive
};
#define CD_MAC (1)
#define CD_EXPANSION (1 << 1)
#define CD_US (1 << 4)
#define CD_SPANISH (1 << 5)
#define CD_GERMAN (1 << 6)
#define CD_UK (1 << 7) // also Australian
#define CD_ITALIAN (1 << 8)
#define CD_PORTUGUESE (1 << 9)
#define CD_FRENCH (1 << 10)
#define CD_RUSSIAN (1 << 11)
#define CD_UPPER (1 << 13) // Filenames on CD are upper
#define CD_BNE (1 << 14) // This is a BNE version
#define CD_BNE_CAPS (1 << 15) // This is a BNE version with capitalized Support folder
#define CD_BNE_UPPER (1 << 16) // This is a BNE version with upper Support folder
/**
** What, where, how to extract.
**
** FIXME: version alpha, demo, 1.00, 1.31, 1.40, 1.50 dependend!
*/
const char *BNEReplaceTable[] = {
"maindat.war", "support/tomes/tome.1",
"rezdat.war", "support/tomes/tome.2"
};
const char *BNEReplaceTableCaps[] = {
"maindat.war", "Support/TOMES/TOME.1",
"rezdat.war", "Support/TOMES/TOME.2"
};
static Control Todo[] = {
#define __ ,0,0,0,"",""
#define _2 ,0,0,"",""
///////////////////////////////////////////////////////////////////////////////
// TEXT (must be done for all others!)
///////////////////////////////////////////////////////////////////////////////
{F,0,"rezdat.war", 3000 __},
{I,0,"ui/Credits_background", 27, 28 _2},
{F,0,"strdat.war", 4000 __},
{S,0,"unit_names", 1 __},
{L,0,"objectives", 54, 236 _2},
//{X,0,"human/dialog", 55 __},
//{X,0,"orc/dialog", 56 __},
{X,0,"credits", 58, 4 _2},
{X,0,"human/level01h", 65, 4 _2},
{X,0,"orc/level01o", 66, 4 _2},
{X,0,"human/level02h", 67, 4 _2},
{X,0,"orc/level02o", 68, 4 _2},
{X,0,"human/level03h", 69, 4 _2},
{X,0,"orc/level03o", 70, 4 _2},
{X,0,"human/level04h", 71, 4 _2},
{X,0,"orc/level04o", 72, 4 _2},
{X,0,"human/level05h", 73, 4 _2},
{X,0,"orc/level05o", 74, 4 _2},
{X,0,"human/level06h", 75, 4 _2},
{X,0,"orc/level06o", 76, 4 _2},
{X,0,"human/level07h", 77, 4 _2},
{X,0,"orc/level07o", 78, 4 _2},
{X,0,"human/level08h", 79, 4 _2},
{X,0,"orc/level08o", 80, 4 _2},
{X,0,"human/level09h", 81, 4 _2},
{X,0,"orc/level09o", 82, 4 _2},
{X,0,"human/level10h", 83, 4 _2},
{X,0,"orc/level10o", 84, 4 _2},
{X,0,"human/level11h", 85, 4 _2},
{X,0,"orc/level11o", 86, 4 _2},
{X,0,"human/level12h", 87, 4 _2},
{X,0,"orc/level12o", 88, 4 _2},
{X,0,"human/level13h", 89, 4 _2},
{X,0,"orc/level13o", 90, 4 _2},
{X,0,"human/level14h", 91, 4 _2},
{X,0,"orc/level14o", 92, 4 _2},
{X,2,"human-exp/levelx01h", 99, 4 _2},
{X,2,"orc-exp/levelx01o", 100, 4 _2},
{X,2,"human-exp/levelx02h", 101, 4 _2},
{X,2,"orc-exp/levelx02o", 102, 4 _2},
{X,2,"human-exp/levelx03h", 103, 4 _2},
{X,2,"orc-exp/levelx03o", 104, 4 _2},
{X,2,"human-exp/levelx04h", 105, 4 _2},
{X,2,"orc-exp/levelx04o", 106, 4 _2},
{X,2,"human-exp/levelx05h", 107, 4 _2},
{X,2,"orc-exp/levelx05o", 108, 4 _2},
{X,2,"human-exp/levelx06h", 109, 4 _2},
{X,2,"orc-exp/levelx06o", 110, 4 _2},
{X,2,"human-exp/levelx07h", 111, 4 _2},
{X,2,"orc-exp/levelx07o", 112, 4 _2},
{X,2,"human-exp/levelx08h", 113, 4 _2},
{X,2,"orc-exp/levelx08o", 114, 4 _2},
{X,2,"human-exp/levelx09h", 115, 4 _2},
{X,2,"orc-exp/levelx09o", 116, 4 _2},
{X,2,"human-exp/levelx10h", 117, 4 _2},
{X,2,"orc-exp/levelx10o", 118, 4 _2},
{X,2,"human-exp/levelx11h", 119, 4 _2},
{X,2,"orc-exp/levelx11o", 120, 4 _2},
{X,2,"human-exp/levelx12h", 121, 4 _2},
{X,2,"orc-exp/levelx12o", 122, 4 _2},
{X,2,"credits2", 123, 4 _2},
//{X,2,"credits-ext", 124 __},
{X,3,"human/victory", 93, 6 _2},
{X,3,"orc/victory", 93, 556 _2},
{X,2,"human/victory", 93, 10 _2},
{X,2,"orc/victory", 93, 560 _2},
{X,2,"human-exp/victory", 93, 1086 _2},
{X,2,"orc-exp/victory", 93, 1840 _2},
///////////////////////////////////////////////////////////////////////////////
// MOST THINGS
///////////////////////////////////////////////////////////////////////////////
{F,0,"maindat.war", 1000 __},
{R,0,"summer/summer", 2 __},
{T,0,"summer/terrain/summer", 2, 3, 4, 5},
{R,0,"wasteland/wasteland", 10 __},
{T,0,"wasteland/terrain/wasteland", 10, 11, 12, 13},
{R,3,"swamp/swamp", 10 __},
{T,3,"swamp/terrain/swamp", 10, 11, 12, 13},
{R,0,"winter/winter", 18 __},
{T,0,"winter/terrain/winter", 18, 19, 20, 21},
{G,0,"human/units/%16", 2, 33 _2},
{G,0,"orc/units/%17", 2, 34 _2},
{G,0,"human/units/%44", 2, 35 _2},
{G,0,"orc/units/%45", 2, 36 _2},
{G,0,"orc/units/%47", 2, 37 _2},
{G,0,"human/units/%42", 2, 38 _2},
{G,0,"human/units/%-30", 2, 39 _2},
{G,0,"orc/units/%-31", 2, 40 _2},
{G,0,"human/units/%34", 2, 41 _2},
{G,0,"orc/units/%35", 2, 42 _2},
{G,0,"human/units/%40", 2, 43 _2},
{G,0,"orc/units/%41", 2, 44 _2},
{G,0,"human/units/%2", 2, 45 _2},
{G,0,"orc/units/%3", 2, 46 _2},
{G,0,"human/units/%4", 2, 47 _2},
{G,0,"orc/units/%5", 2, 48 _2},
{G,0,"human/units/%6", 2, 49 _2},
{G,0,"orc/units/%7", 2, 50 _2},
{G,0,"human/units/%8", 2, 51 _2},
{G,0,"orc/units/%9", 2, 52 _2},
{G,0,"human/units/%10", 2, 53 _2},
{G,0,"orc/units/%11", 2, 54 _2},
{G,0,"human/units/%12", 2, 55 _2},
{G,0,"orc/units/%13", 2, 58 _2},
{G,0,"human/units/%-28_empty", 2, 59 _2},
{G,0,"orc/units/%-29_empty", 2, 60 _2},
{G,0,"human/units/%32", 2, 61 _2},
{G,0,"orc/units/%33", 2, 62 _2},
{G,0,"orc/units/%43", 2, 63 _2},
{G,0,"tilesets/summer/neutral/units/%59", 2, 64 _2},
{G,0,"tilesets/wasteland/neutral/units/%59", 10, 65 _2},
{G,3,"tilesets/swamp/neutral/units/%59", 10, 65 _2},
{G,0,"tilesets/winter/neutral/units/%59", 18, 66 _2},
{G,0,"neutral/units/%57", 2, 69 _2},
{G,0,"neutral/units/%58", 2, 70 _2},
// 71-79 unknown
{G,0,"tilesets/summer/human/buildings/%-98", 2, 80 _2},
{G,0,"tilesets/summer/orc/buildings/%-99", 2, 81 _2},
{G,0,"tilesets/summer/human/buildings/%-100", 2, 82 _2},
{G,0,"tilesets/summer/orc/buildings/%-101", 2, 83 _2},
{G,0,"tilesets/summer/human/buildings/%82", 2, 84 _2},
{G,0,"tilesets/summer/orc/buildings/%83", 2, 85 _2},
{G,0,"tilesets/summer/human/buildings/%90", 2, 86 _2},
{G,0,"tilesets/summer/orc/buildings/%91", 2, 87 _2},
{G,0,"tilesets/summer/human/buildings/%72", 2, 88 _2},
{G,0,"tilesets/summer/orc/buildings/%73", 2, 89 _2},
{G,0,"tilesets/summer/human/buildings/%70", 2, 90 _2},
{G,0,"tilesets/summer/orc/buildings/%71", 2, 91 _2},
{G,0,"tilesets/summer/human/buildings/%60", 2, 92 _2},
{G,0,"tilesets/summer/orc/buildings/%61", 2, 93 _2},
{G,0,"tilesets/summer/human/buildings/%-62", 2, 94 _2},
{G,0,"tilesets/summer/orc/buildings/%-63", 2, 95 _2},
{G,0,"tilesets/summer/human/buildings/%64", 2, 96 _2},
{G,0,"tilesets/summer/orc/buildings/%65", 2, 97 _2},
{G,0,"tilesets/summer/human/buildings/%66", 2, 98 _2},
{G,0,"tilesets/summer/orc/buildings/%67", 2, 99 _2},
{G,0,"tilesets/summer/human/buildings/%76", 2, 100 _2},
{G,0,"tilesets/summer/orc/buildings/%77", 2, 101 _2},
{G,0,"tilesets/summer/human/buildings/%78", 2, 102 _2},
{G,0,"tilesets/summer/orc/buildings/%79", 2, 103 _2},
{G,0,"tilesets/summer/human/buildings/%68", 2, 104 _2},
{G,0,"tilesets/summer/orc/buildings/%69", 2, 105 _2},
{G,0,"tilesets/summer/human/buildings/%-84", 2, 106 _2},
{G,0,"tilesets/summer/orc/buildings/%-85", 2, 107 _2},
{G,0,"tilesets/summer/human/buildings/%-74", 2, 108 _2},
{G,0,"tilesets/summer/orc/buildings/%-75", 2, 109 _2},
{G,0,"tilesets/summer/human/buildings/%-80", 2, 110 _2},
{G,0,"tilesets/summer/orc/buildings/%-81", 2, 111 _2},
{G,0,"tilesets/summer/human/buildings/%-86", 2, 112 _2},
{G,0,"tilesets/summer/orc/buildings/%-87", 2, 113 _2},
{G,0,"tilesets/summer/human/buildings/%-88", 2, 114 _2},
{G,0,"tilesets/summer/orc/buildings/%-89", 2, 115 _2},
{G,0,"tilesets/summer/human/buildings/%92", 2, 116 _2},
{G,0,"tilesets/summer/orc/buildings/%93", 2, 117 _2},
{G,0,"tilesets/summer/neutral/buildings/%95", 2, 118 _2},
{G,0,"tilesets/summer/neutral/buildings/%94", 2, 119 _2},
{G,3,"tilesets/swamp/human/buildings/%-98", 2, 80 _2},
{G,3,"tilesets/swamp/orc/buildings/%-99", 2, 81 _2},
{G,3,"tilesets/swamp/human/buildings/%-100", 2, 82 _2},
{G,3,"tilesets/swamp/orc/buildings/%-101", 2, 83 _2},
{G,3,"tilesets/swamp/human/buildings/%82", 2, 84 _2},
{G,3,"tilesets/swamp/orc/buildings/%83", 2, 85 _2},
{G,3,"tilesets/swamp/human/buildings/%90", 2, 86 _2},
{G,3,"tilesets/swamp/orc/buildings/%91", 2, 87 _2},
{G,3,"tilesets/swamp/human/buildings/%72", 2, 88 _2},
{G,3,"tilesets/swamp/orc/buildings/%73", 2, 89 _2},
{G,3,"tilesets/swamp/human/buildings/%70", 2, 90 _2},
{G,3,"tilesets/swamp/orc/buildings/%71", 2, 91 _2},
{G,3,"tilesets/swamp/human/buildings/%60", 2, 92 _2},
{G,3,"tilesets/swamp/orc/buildings/%61", 2, 93 _2},
{G,3,"tilesets/swamp/human/buildings/%-62", 2, 94 _2},
{G,3,"tilesets/swamp/orc/buildings/%-63", 2, 95 _2},
{G,3,"tilesets/swamp/human/buildings/%64", 2, 96 _2},
{G,3,"tilesets/swamp/orc/buildings/%65", 2, 97 _2},
{G,3,"tilesets/swamp/human/buildings/%66", 2, 98 _2},
{G,3,"tilesets/swamp/orc/buildings/%67", 2, 99 _2},
{G,3,"tilesets/swamp/human/buildings/%76", 2, 100 _2},
{G,3,"tilesets/swamp/orc/buildings/%77", 2, 101 _2},
{G,3,"tilesets/swamp/human/buildings/%78", 2, 102 _2},
{G,3,"tilesets/swamp/orc/buildings/%79", 2, 103 _2},
{G,3,"tilesets/swamp/human/buildings/%68", 2, 104 _2},
{G,3,"tilesets/swamp/orc/buildings/%69", 2, 105 _2},
{G,3,"tilesets/swamp/human/buildings/%-84", 2, 106 _2},
{G,3,"tilesets/swamp/orc/buildings/%-85", 2, 107 _2},
{G,3,"tilesets/swamp/human/buildings/%-74", 2, 108 _2},
{G,3,"tilesets/swamp/orc/buildings/%-75", 2, 109 _2},
{G,3,"tilesets/swamp/human/buildings/%-80", 2, 110 _2},
{G,3,"tilesets/swamp/orc/buildings/%-81", 2, 111 _2},
{G,3,"tilesets/swamp/human/buildings/%-86", 2, 112 _2},
{G,3,"tilesets/swamp/orc/buildings/%-87", 2, 113 _2},
{G,3,"tilesets/swamp/human/buildings/%-88", 2, 114 _2},
{G,3,"tilesets/swamp/orc/buildings/%-89", 2, 115 _2},
{G,3,"tilesets/swamp/human/buildings/%92", 2, 116 _2},
{G,3,"tilesets/swamp/orc/buildings/%93", 2, 117 _2},
{G,0,"neutral/units/corpses", 2, 120 _2},
{G,0,"tilesets/summer/neutral/buildings/destroyed_site",
2, 121 _2},
// Hardcoded support for worker with resource repairing
{G,0,"human/units/%4_with_wood", 2, 122, 47, 25},
{G,0,"orc/units/%5_with_wood", 2, 123, 48, 25},
{G,0,"human/units/%4_with_gold", 2, 124, 47, 25},
{G,0,"orc/units/%5_with_gold", 2, 125, 48, 25},
{G,0,"human/units/%-28_full", 2, 126 _2},
{G,0,"orc/units/%-29_full", 2, 127 _2},
{G,0,"tilesets/winter/human/buildings/%90", 18, 128 _2},
{G,0,"tilesets/winter/orc/buildings/%91", 18, 129 _2},
{G,0,"tilesets/winter/human/buildings/%72", 18, 130 _2},
{G,0,"tilesets/winter/orc/buildings/%73", 18, 131 _2},
{G,0,"tilesets/winter/human/buildings/%70", 18, 132 _2},
{G,0,"tilesets/winter/orc/buildings/%71", 18, 133 _2},
{G,0,"tilesets/winter/human/buildings/%60", 18, 134 _2},
{G,0,"tilesets/winter/orc/buildings/%61", 18, 135 _2},
{G,0,"tilesets/winter/human/buildings/%-62", 18, 136 _2},
{G,0,"tilesets/winter/orc/buildings/%-63", 18, 137 _2},
{G,0,"tilesets/winter/human/buildings/%64", 18, 138 _2},
{G,0,"tilesets/winter/orc/buildings/%65", 18, 139 _2},
{G,0,"tilesets/winter/human/buildings/%66", 18, 140 _2},
{G,0,"tilesets/winter/orc/buildings/%67", 18, 141 _2},
{G,0,"tilesets/winter/human/buildings/%76", 18, 142 _2},
{G,0,"tilesets/winter/orc/buildings/%77", 18, 143 _2},
{G,0,"tilesets/winter/human/buildings/%78", 18, 144 _2},
{G,0,"tilesets/winter/orc/buildings/%79", 18, 145 _2},
{G,0,"tilesets/winter/human/buildings/%68", 18, 146 _2},
{G,0,"tilesets/winter/orc/buildings/%69", 18, 147 _2},
{G,0,"tilesets/winter/human/buildings/%-84", 18, 148 _2},
{G,0,"tilesets/winter/orc/buildings/%-85", 18, 149 _2},
{G,0,"tilesets/winter/human/buildings/%-74", 18, 150 _2},
{G,0,"tilesets/winter/orc/buildings/%-75", 18, 151 _2},
{G,0,"tilesets/winter/human/buildings/%-80", 18, 152 _2},
{G,0,"tilesets/winter/orc/buildings/%-81", 18, 153 _2},
{G,0,"tilesets/winter/human/buildings/%-86", 18, 154 _2},
{G,0,"tilesets/winter/orc/buildings/%-87", 18, 155 _2},
{G,0,"tilesets/winter/human/buildings/%-88", 18, 156 _2},
{G,0,"tilesets/winter/orc/buildings/%-89", 18, 157 _2},
{G,0,"tilesets/winter/human/buildings/%92", 18, 158 _2},
{G,0,"tilesets/winter/orc/buildings/%93", 18, 159 _2},
{G,0,"tilesets/winter/human/buildings/%82", 18, 160 _2},
{G,0,"tilesets/winter/orc/buildings/%83", 18, 161 _2},
{G,0,"tilesets/winter/neutral/buildings/%94", 18, 162 _2},
{G,0,"tilesets/winter/neutral/buildings/destroyed_site",
18, 163 _2},
{G,0,"human/x_startpoint", 2, 164 _2},
{G,0,"orc/o_startpoint", 2, 165 _2},
{G,0,"neutral/buildings/%102", 2, 166 _2},
{G,0,"tilesets/summer/neutral/buildings/%103", 2, 167 _2},
{G,0,"tilesets/summer/neutral/buildings/%105", 2, 168 _2},
{G,0,"tilesets/winter/human/buildings/%-98", 18, 169 _2},
{G,0,"tilesets/winter/orc/buildings/%-99", 18, 170 _2},
{G,0,"tilesets/winter/human/buildings/%-100", 18, 171 _2},
{G,0,"tilesets/winter/orc/buildings/%-101", 18, 172 _2},
{G,0,"tilesets/wasteland/human/buildings/%60", 10, 173 _2},
{G,0,"tilesets/wasteland/orc/buildings/%61", 10, 174 _2},
{G,0,"tilesets/wasteland/human/buildings/%78", 10, 175 _2},
{G,0,"tilesets/wasteland/orc/buildings/%79", 10, 176 _2},
{G,0,"tilesets/wasteland/human/buildings/%-88", 10, 177 _2},
{G,0,"tilesets/wasteland/orc/buildings/%-89", 10, 178 _2},
{G,0,"tilesets/wasteland/neutral/buildings/%94", 10, 179 _2},
{G,0,"tilesets/wasteland/neutral/buildings/%95", 10, 180 _2},
{G,3,"tilesets/swamp/human/buildings/%60", 10, 173 _2},
{G,3,"tilesets/swamp/orc/buildings/%61", 10, 174 _2},
{G,3,"tilesets/swamp/human/buildings/%78", 10, 175 _2},
{G,3,"tilesets/swamp/orc/buildings/%79", 10, 176 _2},
{G,3,"tilesets/swamp/human/buildings/%-88", 10, 177 _2},
{G,3,"tilesets/swamp/orc/buildings/%-89", 10, 178 _2},
{G,3,"tilesets/swamp/neutral/buildings/%94", 10, 179 _2},
{G,3,"tilesets/swamp/neutral/buildings/%95", 10, 180 _2},
{G,0,"neutral/buildings/%104", 2, 181 _2},
{G,0,"tilesets/wasteland/human/units/%40", 10, 182 _2},
{G,0,"tilesets/wasteland/orc/units/%41", 10, 183 _2},
{G,3,"tilesets/swamp/human/units/%40", 10, 182 _2},
{G,3,"tilesets/swamp/orc/units/%41", 10, 183 _2},
{G,0,"tilesets/winter/neutral/buildings/%103", 18, 184 _2},
{G,0,"tilesets/wasteland/neutral/buildings/%103", 10, 185 _2},
{G,3,"tilesets/swamp/neutral/buildings/%103", 10, 185 _2},
{G,3,"tilesets/swamp/neutral/buildings/%104", 2, 181 _2},
{G,0,"tilesets/winter/neutral/buildings/%104", 18, 186 _2},
{U,0,"ui/gold,wood,oil,mana", 2, 187 _2},
{G,0,"tilesets/wasteland/neutral/buildings/small_destroyed_site",
10, 188 _2},
{G,3,"tilesets/swamp/neutral/buildings/small_destroyed_site",
10, 188 _2},
{G,0,"tilesets/summer/neutral/buildings/small_destroyed_site",
2, 189 _2},
{G,0,"tilesets/winter/neutral/buildings/small_destroyed_site",
18, 190 _2},
{G,0,"tilesets/wasteland/neutral/buildings/destroyed_site",
10, 191 _2},
{G,3,"tilesets/swamp/neutral/buildings/destroyed_site",
10, 191 _2},
//--------------------------------------------------
{P,0,"campaigns/human/level01h", 192 __},
{P,0,"campaigns/orc/level01o", 193 __},
{P,0,"campaigns/human/level02h", 194 __},
{P,0,"campaigns/orc/level02o", 195 __},
{P,0,"campaigns/human/level03h", 196 __},
{P,0,"campaigns/orc/level03o", 197 __},
{P,0,"campaigns/human/level04h", 198 __},
{P,0,"campaigns/orc/level04o", 199 __},
{P,0,"campaigns/human/level05h", 200 __},
{P,0,"campaigns/orc/level05o", 201 __},
{P,0,"campaigns/human/level06h", 202 __},
{P,0,"campaigns/orc/level06o", 203 __},
{P,0,"campaigns/human/level07h", 204 __},
{P,0,"campaigns/orc/level07o", 205 __},
{P,0,"campaigns/human/level08h", 206 __},
{P,0,"campaigns/orc/level08o", 207 __},
{P,0,"campaigns/human/level09h", 208 __},
{P,0,"campaigns/orc/level09o", 209 __},
{P,0,"campaigns/human/level10h", 210 __},
{P,0,"campaigns/orc/level10o", 211 __},
{P,0,"campaigns/human/level11h", 212 __},
{P,0,"campaigns/orc/level11o", 213 __},
{P,0,"campaigns/human/level12h", 214 __},
{P,0,"campaigns/orc/level12o", 215 __},
{P,0,"campaigns/human/level13h", 216 __},
{P,0,"campaigns/orc/level13o", 217 __},
{P,0,"campaigns/human/level14h", 218 __},
{P,0,"campaigns/orc/level14o", 219 __},
// --------------------------------------------------
{P,0,"maps/skirmish/(6)gold-separates-east-west", 220 __},
{P,0,"maps/skirmish/(4)oil-is-the-key", 221 __},
{P,0,"maps/skirmish/(8)bridge-to-bridge-combat", 222 __},
{P,0,"maps/skirmish/(8)plains-of-snow", 223 __},
{P,0,"maps/skirmish/(3)three-ways-to-cross", 224 __},
{P,0,"maps/skirmish/(8)a-continent-to-explore", 225 __},
{P,0,"maps/skirmish/(8)high-seas-combat", 226 __},
{P,0,"maps/skirmish/(4)islands-in-the-stream", 227 __},
{P,0,"maps/skirmish/(4)opposing-city-states", 228 __},
{P,0,"maps/skirmish/(4)death-in-the-middle", 229 __},
{P,0,"maps/skirmish/(5)the-spiral", 230 __},
{P,0,"maps/skirmish/(2)mysterious-dragon-isle", 231 __},
{P,0,"maps/skirmish/(4)the-four-corners", 232 __},
{P,0,"maps/skirmish/(6)no-way-out-of-this-maze", 233 __},
{P,0,"maps/skirmish/(8)fierce-ocean-combat", 234 __},
{P,0,"maps/skirmish/(2)cross-the-streams", 235 __},
{P,0,"maps/skirmish/(5)how-much-can-you-mine", 236 __},
{P,0,"maps/skirmish/(2)x-marks-the-spot", 237 __},
{P,0,"maps/skirmish/(2)one-way-in-one-way-out", 238 __},
{P,0,"maps/skirmish/(4)nowhere-to-run", 239 __},
{P,0,"maps/skirmish/(2)2-players", 240 __},
{P,0,"maps/skirmish/(7)and-the-rivers-ran-as-blood", 241 __},
{P,0,"maps/skirmish/(3)critter-attack", 242 __},
{P,0,"maps/skirmish/(6)skull-isle", 243 __},
{P,0,"maps/skirmish/(8)cross-over", 244 __},
{P,0,"maps/skirmish/(8)garden-of-war", 245 __},
{P,0,"maps/skirmish/(4)mine-the-center", 246 __},
{P,0,"maps/skirmish/(3)river-fork", 247 __},
// -------------------------------------------------
{P,0,"maps/demo/demo01", 248 __},
{P,0,"maps/demo/demo02", 249 __},
{P,0,"maps/demo/demo03", 250 __},
{P,0,"maps/demo/demo04", 251 __},
// --------------------------------------------------
{G,0,"neutral/buildings/land_construction_site", 2, 252 _2},
{G,0,"human/buildings/shipyard_construction_site", 2, 253 _2},
{G,0,"orc/buildings/shipyard_construction_site", 2, 254 _2},
{G,3,"tilesets/swamp/neutral/buildings/land_construction_site",
2, 252 _2},
{G,3,"tilesets/swamp/human/buildings/shipyard_construction_site",
2, 253 _2},
{G,3,"tilesets/swamp/orc/buildings/shipyard_construction_site",
2, 254 _2},
{G,0,"tilesets/summer/human/buildings/oil_well_construction_site",
2, 255 _2},
{G,0,"tilesets/summer/orc/buildings/oil_well_construction_site",
2, 256 _2},
{G,0,"human/buildings/refinery_construction_site", 2, 257 _2},
{G,0,"orc/buildings/refinery_construction_site", 2, 258 _2},
{G,0,"human/buildings/foundry_construction_site", 2, 259 _2},
{G,0,"orc/buildings/foundry_construction_site", 2, 260 _2},
{G,3,"tilesets/swamp/human/buildings/refinery_construction_site",
2, 257 _2},
{G,3,"tilesets/swamp/orc/buildings/refinery_construction_site",
2, 258 _2},
{G,3,"tilesets/swamp/human/buildings/foundry_construction_site",
2, 259 _2},
{G,3,"tilesets/swamp/orc/buildings/foundry_construction_site",
2, 260 _2},
{G,0,"tilesets/summer/neutral/buildings/wall_construction_site",
2, 261 _2},
{G,0,"tilesets/winter/neutral/buildings/land_construction_site",
18, 262 _2},
{G,0,"tilesets/winter/human/buildings/shipyard_construction_site",
18, 263 _2},
{G,0,"tilesets/winter/orc/buildings/shipyard_construction_site",
18, 264 _2},
{G,0,"tilesets/winter/human/buildings/oil_well_construction_site",
18, 265 _2},
{G,0,"tilesets/winter/orc/buildings/oil_well_construction_site",
18, 266 _2},
{G,0,"tilesets/winter/human/buildings/refinery_construction_site",
18, 267 _2},
{G,0,"tilesets/winter/orc/buildings/refinery_construction_site",
18, 268 _2},
{G,0,"tilesets/winter/human/buildings/foundry_construction_site",
18, 269 _2},
{G,0,"tilesets/winter/orc/buildings/foundry_construction_site",
18, 270 _2},
{G,0,"tilesets/wasteland/human/buildings/oil_well_construction_site",
10, 271 _2},
{G,0,"tilesets/wasteland/orc/buildings/oil_well_construction_site",
10, 272 _2},
{G,3,"tilesets/swamp/human/buildings/oil_platform_construction_site",
10, 271 _2},
{G,3,"tilesets/swamp/orc/buildings/oil_platform_construction_site",
10, 272 _2},
{G,0,"tilesets/winter/neutral/buildings/wall", 18, 273 _2},
{G,0,"tilesets/wasteland/neutral/buildings/wall", 10, 274 _2},
{G,3,"tilesets/swamp/neutral/buildings/wall", 10, 274 _2},
{G,0,"tilesets/winter/neutral/buildings/wall_construction_site",
18, 275 _2},
{G,0,"tilesets/wasteland/neutral/buildings/wall_construction_site",
10, 276 _2},
{G,3,"tilesets/swamp/neutral/buildings/wall_construction_site",
10, 276 _2},
// 277 Control programs for computer player AI
// 278 Control programs for unit movement
// --------------------------------------------------
{N,0,"large_episode_titles", 279 __},
{N,0,"small_episode_titles", 280 __},
{N,0,"large", 281 __},
{N,0,"game", 282 __},
{N,0,"small", 283 __},
// --------------------------------------------------
{I,0,"ui/human/menubutton", 2, 293 _2},
{I,0,"ui/orc/menubutton", 2, 294 _2},
{I,0,"ui/human/minimap", 2, 295 _2},
{I,0,"ui/orc/minimap", 2, 296 _2},
{I,0,"ui/title", 300, 299 _2},
// 284-286 unknown
// --------------------------------------------------
{I,0,"ui/human/resource", 2, 287 _2},
{I,0,"ui/orc/resource", 2, 288 _2},
{I,0,"ui/human/filler-right", 2, 289 _2},
{I,0,"ui/orc/filler-right", 2, 290 _2},
{I,0,"ui/human/statusline", 2, 291 _2},
{I,0,"ui/orc/statusline", 2, 292 _2},
{I,0,"ui/human/buttonpanel", 2, 297 _2},
{I,0,"ui/orc/buttonpanel", 2, 298 _2},
// --------------------------------------------------
{C,0,"human/cursors/human_gauntlet", 2, 301 _2},
{C,0,"orc/cursors/orcish_claw", 2, 302 _2},
{C,0,"human/cursors/human_dont_click_here", 2, 303 _2},
{C,0,"orc/cursors/orcish_dont_click_here", 2, 304 _2},
{C,0,"human/cursors/yellow_eagle", 2, 305 _2},
{C,0,"orc/cursors/yellow_crosshairs", 2, 306 _2},
{C,0,"human/cursors/red_eagle", 2, 307 _2},
{C,0,"orc/cursors/red_crosshairs", 2, 308 _2},
{C,0,"human/cursors/green_eagle", 2, 309 _2},
{C,0,"orc/cursors/green_crosshairs", 2, 310 _2},
{C,0,"cursors/magnifying_glass", 2, 311 _2},
{C,0,"cursors/small_green_cross", 2, 312 _2},
{C,0,"cursors/hourglass", 2, 313 _2},
{C,0,"cursors/credits_arrow", 27, 314 _2},
{C,0,"cursors/arrow_N", 2, 315 _2},
{C,0,"cursors/arrow_NE", 2, 316 _2},
{C,0,"cursors/arrow_E", 2, 317 _2},
{C,0,"cursors/arrow_SE", 2, 318 _2},
{C,0,"cursors/arrow_S", 2, 319 _2},
{C,0,"cursors/arrow_SW", 2, 320 _2},
{C,0,"cursors/arrow_W", 2, 321 _2},
{C,0,"cursors/arrow_NW", 2, 322 _2},
{U,0,"ui/bloodlust,haste,slow,invisible,shield", 2, 323 _2},
// --------------------------------------------------------
{G,0,"missiles/lightning", 2, 324 _2},
{G,0,"missiles/gryphon_hammer", 2, 325 _2},
// "fireball (also dragon breath)"
{G,0,"missiles/dragon_breath", 2, 326 _2},
// "fireball (when casting flameshield)"
{G,0,"missiles/fireball", 2, 327 _2},
{G,0,"missiles/flame_shield", 2, 328 _2},
{G,0,"missiles/blizzard", 2, 329 _2},
{G,0,"missiles/death_and_decay", 2, 330 _2},
{G,0,"missiles/big_cannon", 2, 331 _2},
{G,0,"missiles/exorcism", 2, 332 _2},
{G,0,"missiles/heal_effect", 2, 333 _2},
{G,0,"missiles/touch_of_death", 2, 334 _2},
{G,0,"missiles/rune", 2, 335 _2},
{G,0,"missiles/tornado", 2, 336 _2},
{G,0,"missiles/catapult_rock", 2, 337 _2},
{G,0,"missiles/ballista_bolt", 2, 338 _2},
{G,0,"missiles/arrow", 2, 339 _2},
{G,0,"missiles/axe", 2, 340 _2},
{G,0,"missiles/submarine_missile", 2, 341 _2},
{G,0,"missiles/turtle_missile", 2, 342 _2},
{G,0,"missiles/small_fire", 2, 343 _2},
{G,0,"missiles/big_fire", 2, 344 _2},
{G,0,"missiles/ballista-catapult_impact", 2, 345 _2},
{G,0,"missiles/normal_spell", 2, 346 _2},
{G,0,"missiles/explosion", 2, 347 _2},
{G,0,"missiles/cannon", 2, 348 _2},
{G,0,"missiles/cannon_explosion", 2, 349 _2},
{G,0,"missiles/cannon-tower_explosion", 2, 350 _2},
{G,0,"missiles/daemon_fire", 2, 351 _2},
{G,0,"missiles/green_cross", 2, 352 _2},
{G,0,"missiles/unit_shadow", 2, 353 _2},
{U,0,"ui/human/infopanel", 2, 354 _2},
{U,0,"ui/orc/infopanel", 2, 355 _2},
{G,0,"tilesets/summer/icons", 2, 356 _2},
{G,0,"tilesets/winter/icons", 18, 357 _2},
{G,0,"tilesets/wasteland/icons", 10, 358 _2},
{G,3,"tilesets/swamp/icons", 10, 358 _2},
{I,0,"ui/human/victory", 363, 359 _2},
{I,0,"ui/orc/victory", 364, 360 _2},
{I,0,"ui/human/defeat", 365, 361 _2},
{I,0,"ui/orc/defeat", 366, 362 _2},
{I,0,"../campaigns/human/interface/introscreen1", 367, 369 _2},
{I,0,"../campaigns/orc/interface/introscreen1", 368, 370 _2},
{I,0,"../campaigns/orc/interface/introscreen2", 368, 371 _2},
{I,0,"../campaigns/orc/interface/introscreen3", 368, 372 _2},
{I,0,"../campaigns/orc/interface/introscreen4", 368, 373 _2},
{I,0,"../campaigns/orc/interface/introscreen5", 368, 374 _2},
{I,0,"../campaigns/human/interface/introscreen2", 367, 375 _2},
{I,0,"../campaigns/human/interface/introscreen3", 367, 376 _2},
{I,0,"../campaigns/human/interface/introscreen4", 367, 377 _2},
{I,0,"../campaigns/human/interface/introscreen5", 367, 378 _2},
{W,0,"ui/click", 432 __},
{W,0,"human/act", 433 __},
{W,0,"orc/act", 434 __},
{W,0,"ui/highclick", 435 __},
{W,0,"ui/statsthump", 436 __},
{M,0,"Human Battle 1", 413 __},
{M,0,"Human Battle 2", 414 __},
{M,0,"Human Battle 3", 415 __},
{M,0,"Human Battle 4", 416 __},
{M,0,"Orc Battle 1", 417 __},
{M,0,"Orc Battle 2", 418 __},
{M,0,"Orc Battle 3", 419 __},
{M,0,"Orc Battle 4", 420 __},
{M,0,"Human Defeat", 421 __},
{M,0,"Orc Defeat", 422 __},
{M,0,"Human Victory", 423 __},
{M,0,"Orc Victory", 424 __},
{M,0,"Orc Battle 5", 425 __},
{M,0,"I'm a Medieval Man", 426 __},
{M,0,"Human Battle 5", 427 __},
{M,0,"Human Briefing", 428 __},
{M,0,"Orc Briefing", 429 __},
{M,0,"Main Menu", 429 __},
{V,0,"videos/logo", 430 __},
{R,2,"swamp/swamp", 438 __},
{T,2,"swamp/terrain/swamp", 438, 439, 440, 441, "", ""},
// --------------------------------------------------
{P,2,"campaigns/human-exp/levelx01h", 446 __},
{P,2,"campaigns/orc-exp/levelx01o", 447 __},
{P,2,"campaigns/human-exp/levelx02h", 448 __},
{P,2,"campaigns/orc-exp/levelx02o", 449 __},
{P,2,"campaigns/human-exp/levelx03h", 450 __},
{P,2,"campaigns/orc-exp/levelx03o", 451 __},
{P,2,"campaigns/human-exp/levelx04h", 452 __},
{P,2,"campaigns/orc-exp/levelx04o", 453 __},
{P,2,"campaigns/human-exp/levelx05h", 454 __},
{P,2,"campaigns/orc-exp/levelx05o", 455 __},
{P,2,"campaigns/human-exp/levelx06h", 456 __},
{P,2,"campaigns/orc-exp/levelx06o", 457 __},
{P,2,"campaigns/human-exp/levelx07h", 458 __},
{P,2,"campaigns/orc-exp/levelx07o", 459 __},
{P,2,"campaigns/human-exp/levelx08h", 460 __},
{P,2,"campaigns/orc-exp/levelx08o", 461 __},
{P,2,"campaigns/human-exp/levelx09h", 462 __},
{P,2,"campaigns/orc-exp/levelx09o", 463 __},
{P,2,"campaigns/human-exp/levelx10h", 464 __},
{P,2,"campaigns/orc-exp/levelx10o", 465 __},
{P,2,"campaigns/human-exp/levelx11h", 466 __},
{P,2,"campaigns/orc-exp/levelx11o", 467 __},
{P,2,"campaigns/human-exp/levelx12h", 468 __},
{P,2,"campaigns/orc-exp/levelx12o", 469 __},
// ------------------------------------------
{G,2,"tilesets/swamp/neutral/units/%59", 438, 470 _2},
{G,2,"tilesets/swamp/icons", 438, 471 _2},
// 472: default UDTA for expansion PUDs
{G,2,"tilesets/swamp/human/buildings/%90", 438, 473 _2},
{G,2,"tilesets/swamp/orc/buildings/%91", 438, 474 _2},
{G,2,"tilesets/swamp/human/buildings/%72", 438, 475 _2},
{G,2,"tilesets/swamp/orc/buildings/%73", 438, 476 _2},
{G,2,"tilesets/swamp/human/buildings/%70", 438, 477 _2},
{G,2,"tilesets/swamp/orc/buildings/%71", 438, 478 _2},
{G,2,"tilesets/swamp/human/buildings/%60", 438, 479 _2},
{G,2,"tilesets/swamp/orc/buildings/%61", 438, 480 _2},
{G,2,"tilesets/swamp/human/buildings/%-62", 438, 481 _2},
{G,2,"tilesets/swamp/orc/buildings/%-63", 438, 482 _2},
{G,2,"tilesets/swamp/human/buildings/%64", 438, 483 _2},
{G,2,"tilesets/swamp/orc/buildings/%65", 438, 484 _2},
{G,2,"tilesets/swamp/human/buildings/%66", 438, 485 _2},
{G,2,"tilesets/swamp/orc/buildings/%67", 438, 486 _2},
{G,2,"tilesets/swamp/human/buildings/%76", 438, 487 _2},
{G,2,"tilesets/swamp/orc/buildings/%77", 438, 488 _2},
{G,2,"tilesets/swamp/human/buildings/%78", 438, 489 _2},
{G,2,"tilesets/swamp/orc/buildings/%79", 438, 490 _2},
{G,2,"tilesets/swamp/human/buildings/%68", 438, 491 _2},
{G,2,"tilesets/swamp/orc/buildings/%69", 438, 492 _2},
{G,2,"tilesets/swamp/human/buildings/%-84", 438, 493 _2},
{G,2,"tilesets/swamp/orc/buildings/%-85", 438, 494 _2},
{G,2,"tilesets/swamp/human/buildings/%-74", 438, 495 _2},
{G,2,"tilesets/swamp/orc/buildings/%-75", 438, 496 _2},
{G,2,"tilesets/swamp/human/buildings/%-80", 438, 497 _2},
{G,2,"tilesets/swamp/orc/buildings/%-81", 438, 498 _2},
{G,2,"tilesets/swamp/human/buildings/%-86", 438, 499 _2},
{G,2,"tilesets/swamp/orc/buildings/%-87", 438, 500 _2},
{G,2,"tilesets/swamp/human/buildings/%-88", 438, 501 _2},
{G,2,"tilesets/swamp/orc/buildings/%-89", 438, 502 _2},
{G,2,"tilesets/swamp/human/buildings/%92", 438, 503 _2},
{G,2,"tilesets/swamp/orc/buildings/%93", 438, 504 _2},
{G,2,"tilesets/swamp/human/buildings/%82", 438, 505 _2},
{G,2,"tilesets/swamp/orc/buildings/%83", 438, 506 _2},
{G,2,"tilesets/swamp/human/buildings/%-98", 438, 507 _2},
{G,2,"tilesets/swamp/orc/buildings/%-99", 438, 508 _2},
{G,2,"tilesets/swamp/human/buildings/%-100", 438, 509 _2},
{G,2,"tilesets/swamp/orc/buildings/%-101", 438, 510 _2},
{G,2,"tilesets/swamp/neutral/buildings/%94", 438, 511 _2},
{G,2,"tilesets/swamp/neutral/buildings/destroyed_site",
438, 512 _2},
{G,2,"tilesets/swamp/neutral/buildings/%103", 438, 513 _2},
{G,2,"tilesets/swamp/neutral/buildings/%104", 438, 514 _2},
{G,2,"tilesets/swamp/neutral/buildings/%95", 438, 515 _2},
{G,2,"tilesets/swamp/human/buildings/%-74_construction_site",
438, 516 _2},
{G,2,"tilesets/swamp/orc/buildings/%-75_construction_site",
438, 517 _2},
{G,2,"tilesets/swamp/human/buildings/%-88_construction_site",
438, 518 _2},
{G,2,"tilesets/swamp/orc/buildings/%-89_construction_site",
438, 519 _2},
{G,2,"tilesets/swamp/human/buildings/%-86_construction_site",
438, 520 _2},
{G,2,"tilesets/swamp/orc/buildings/%-87_construction_site",
438, 521 _2},
{G,2,"tilesets/swamp/human/buildings/%-80_construction_site",
438, 522 _2},
{G,2,"tilesets/swamp/orc/buildings/%-81_construction_site",
438, 523 _2},
{G,2,"tilesets/swamp/neutral/buildings/small_destroyed_site",
438, 524 _2},
{G,2,"tilesets/swamp/neutral/buildings/%102", 438, 525 _2},
{G,2,"tilesets/swamp/human/units/%40", 438, 526 _2},
{G,2,"tilesets/swamp/orc/units/%41", 438, 527 _2},
///////////////////////////////////////////////////////////////////////////////
// SOUNDS
///////////////////////////////////////////////////////////////////////////////
{F,4,"sfxdat.sud", 5000 __},
// 0 file length
// 1 description
{W,4,"ui/placement_error", 2 __},
{W,4,"ui/placement_success", 3 __},
{W,4,"misc/building_construction", 4 __},
{W,4,"human/basic_voices/selected/1", 5 __},
{W,4,"orc/basic_voices/selected/1", 6 __},
{W,4,"human/basic_voices/selected/2", 7 __},
{W,4,"orc/basic_voices/selected/2", 8 __},
{W,4,"human/basic_voices/selected/3", 9 __},
{W,4,"orc/basic_voices/selected/3", 10 __},
{W,4,"human/basic_voices/selected/4", 11 __},
{W,4,"orc/basic_voices/selected/4", 12 __},
{W,4,"human/basic_voices/selected/5", 13 __},
{W,4,"orc/basic_voices/selected/5", 14 __},
{W,4,"human/basic_voices/selected/6", 15 __},
{W,4,"orc/basic_voices/selected/6", 16 __},
{W,4,"human/basic_voices/annoyed/1", 17 __},
{W,4,"orc/basic_voices/annoyed/1", 18 __},
{W,4,"human/basic_voices/annoyed/2", 19 __},
{W,4,"orc/basic_voices/annoyed/2", 20 __},
{W,4,"human/basic_voices/annoyed/3", 21 __},
{W,4,"orc/basic_voices/annoyed/3", 22 __},
{W,4,"human/basic_voices/annoyed/4", 23 __},
{W,4,"orc/basic_voices/annoyed/4", 24 __},
{W,4,"human/basic_voices/annoyed/5", 25 __},
{W,4,"orc/basic_voices/annoyed/5", 26 __},
{W,4,"human/basic_voices/annoyed/6", 27 __},
{W,4,"orc/basic_voices/annoyed/6", 28 __},
{W,4,"human/basic_voices/annoyed/7", 29 __},
{W,4,"orc/basic_voices/annoyed/7", 30 __},
{W,4,"misc/explosion", 31 __},
{W,4,"human/basic_voices/acknowledgement/1", 32 __},
{W,4,"orc/basic_voices/acknowledgement/1", 33 __},
{W,4,"human/basic_voices/acknowledgement/2", 34 __},
{W,4,"orc/basic_voices/acknowledgement/2", 35 __},
{W,4,"human/basic_voices/acknowledgement/3", 36 __},
{W,4,"orc/basic_voices/acknowledgement/3", 37 __},
{W,4,"human/basic_voices/acknowledgement/4", 38 __},
{W,4,"orc/basic_voices/acknowledgement/4", 39 __},
{W,4,"human/basic_voices/work_complete", 40 __},
{W,4,"orc/basic_voices/work_complete", 41 __},
{W,4,"human/units/peasant/work_complete", 42 __},
{W,4,"human/basic_voices/ready", 43 __},
{W,4,"orc/basic_voices/ready", 44 __},
{W,4,"human/basic_voices/help/1", 45 __},
{W,4,"orc/basic_voices/help/1", 46 __},
{W,4,"human/basic_voices/help/2", 47 __},
{W,4,"orc/basic_voices/help/2", 48 __},
{W,4,"human/basic_voices/dead", 49 __},
{W,4,"orc/basic_voices/dead", 50 __},
{W,4,"ships/sinking", 51 __},
{W,4,"misc/building_explosion/1", 52 __},
{W,4,"misc/building_explosion/2", 53 __},
{W,4,"misc/building_explosion/3", 54 __},
{W,4,"missiles/catapult-ballista_attack", 55 __},
{W,4,"misc/tree_chopping/1", 56 __},
{W,4,"misc/tree_chopping/2", 57 __},
{W,4,"misc/tree_chopping/3", 58 __},
{W,4,"misc/tree_chopping/4", 59 __},
{W,4,"missiles/sword_attack/1", 60 __},
{W,4,"missiles/sword_attack/2", 61 __},
{W,4,"missiles/sword_attack/3", 62 __},
{W,4,"missiles/punch", 63 __},
{W,4,"missiles/fireball_hit", 64 __},
{W,4,"missiles/fireball_throw", 65 __},
{W,4,"missiles/bow_throw", 66 __},
{W,4,"missiles/bow_hit", 67 __},
{W,4,"spells/basic_spell_sound", 68 __},
{W,4,"buildings/blacksmith", 69 __},
{W,4,"human/buildings/church", 70 __},
{W,4,"orc/buildings/altar_of_storms", 71 __},
{W,4,"human/buildings/stables", 72 __},
{W,4,"orc/buildings/ogre_mound", 73 __},
{W,4,"human/buildings/farm", 74 __},
{W,4,"orc/buildings/pig_farm", 75 __},
{W,4,"neutral/buildings/gold_mine", 76 __},
{W,4,"missiles/axe_throw", 77 __},
{W,4,"ships/tanker/acknowledgement/1", 78 __},
{W,4,"missiles/fist", 79 __},
{W,4,"buildings/shipyard", 80 __},
{W,4,"human/units/peasant/attack", 81 __},
{W,4,"buildings/oil_platform", 82 __},
{W,4,"buildings/oil_refinery", 83 __},
{W,4,"buildings/lumbermill", 84 __},
{W,4,"misc/transport_docking", 85 __},
{W,4,"misc/burning", 86 __},
{W,4,"human/buildings/gryphon_aviary", 87 __},
{W,4,"orc/buildings/dragon_roost", 88 __},
{W,4,"buildings/foundry", 89 __},
{W,4,"human/buildings/gnomish_inventor", 90 __},
{W,4,"orc/buildings/goblin_alchemist", 91 __},
{W,4,"human/buildings/mage_tower", 92 __},
{W,4,"orc/buildings/temple_of_the_damned", 93 __},
{W,4,"human/capture", 94 __},
{W,4,"orc/capture", 95 __},
{W,4,"human/rescue", 96 __},
{W,4,"orc/rescue", 97 __},
{W,4,"spells/bloodlust", 98 __},
{W,4,"spells/death_and_decay", 99 __},
{W,4,"spells/death_coil", 100 __},
{W,4,"spells/exorcism", 101 __},
{W,4,"spells/flame_shield", 102 __},
{W,4,"spells/haste", 103 __},
{W,4,"spells/healing", 104 __},
{W,4,"spells/holy_vision", 105 __},
{W,4,"spells/blizzard", 106 __},
{W,4,"spells/invisibility", 107 __},
{W,4,"spells/eye_of_kilrogg", 108 __},
{W,4,"spells/polymorph", 109 __},
{W,4,"spells/slow", 110 __},
{W,4,"spells/lightning", 111 __},
{W,4,"spells/touch_of_darkness", 112 __},
{W,4,"spells/unholy_armor", 113 __},
{W,4,"spells/whirlwind", 114 __},
{W,4,"orc/peon/ready", 115 __},
{W,4,"orc/units/death_knight/annoyed/1", 116 __},
{W,4,"orc/units/death_knight/annoyed/2", 117 __},
{W,4,"orc/units/death_knight/annoyed/3", 118 __},
{W,4,"orc/units/death_knight/ready", 119 __},
{W,4,"orc/units/death_knight/selected/1", 120 __},
{W,4,"orc/units/death_knight/selected/2", 121 __},
{W,4,"orc/units/death_knight/acknowledgement/1", 122 __},
{W,4,"orc/units/death_knight/acknowledgement/2", 123 __},
{W,4,"orc/units/death_knight/acknowledgement/3", 124 __},
{W,4,"human/units/dwarven_demolition_squad/annoyed/1", 125 __},
{W,4,"human/units/dwarven_demolition_squad/annoyed/2", 126 __},
{W,4,"human/units/dwarven_demolition_squad/annoyed/3", 127 __},
{W,4,"human/units/dwarven_demolition_squad/ready",
128 __},
{W,4,"human/units/dwarven_demolition_squad/selected/1",
129 __},
{W,4,"human/units/dwarven_demolition_squad/selected/2",
130 __},
{W,4,"human/units/dwarven_demolition_squad/acknowledgement/1",
131 __},
{W,4,"human/units/dwarven_demolition_squad/acknowledgement/2",
132 __},
{W,4,"human/units/dwarven_demolition_squad/acknowledgement/3",
133 __},
{W,4,"human/units/dwarven_demolition_squad/acknowledgement/4",
134 __},
{W,4,"human/units/dwarven_demolition_squad/acknowledgement/5",