1 /*
2 * ProWizard PC include file
3 */
4
5 /* for htonl */
6 #ifdef _WIN32
7 #include <Winsock2.h>
8 #else
9 #include <arpa/inet.h>
10 #endif
11
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <string.h>
15 //#include <sys/param.h>
16 #include <sys/types.h>
17 #include <sys/stat.h>
18 /*#include <gtk/gtk.h>*/
19 #ifdef DOS
20 #include <winsock2.h>
21 #endif
22 #ifdef DMALLOC
23 #include "dmalloc.h"
24 #endif
25
26
27 typedef unsigned char Uchar;
28 typedef unsigned long Ulong;
29 typedef unsigned short Ushort;
30
31 #ifdef _WIN32
htonlx(Ulong v)32 __inline Ulong htonlx (Ulong v)
33 {
34 return (v >> 24) | ((v >> 8) & 0xff00) | (v << 24) | ((v << 8) & 0xff0000);
35 }
36 #endif
37
38 #define _KNOWN_FORMATS 135
39 #define _TYPES_FILENAME "_types_"
40 #define _TYPES_LINE_LENGHT 256
41 #define MINIMAL_FILE_LENGHT 64
42 #define GOOD 0
43 #define BAD 1
44 #define BZERO(a,b) memset(a,0,b)
45
46 enum
47 {
48 AC1D_packer = 0,
49 /* version 2 / 3 */
50 SoundMonitor,
51 FC_M_packer,
52 Hornet_packer,
53 KRIS_tracker,
54 Power_Music,
55 Promizer_10c,
56 Promizer_18a,
57 Promizer_20,
58 ProRunner_v1,
59 ProRunner_v2,
60 SKYT_packer,
61 Wanton_packer,
62 XANN_packer,
63 Module_protector,
64 Digital_illusion,
65 Pha_packer,
66 Promizer_01,
67 Propacker_21,
68 Propacker_30,
69 Eureka_packer,
70 Star_pack,
71 Protracker,
72 UNIC_v1,
73 UNIC_v2,
74 Fuzzac,
75 GMC,
76 Heatseeker,
77 KSM,
78 Noiserunner,
79 Noisepacker1,
80 Noisepacker2,
81 Noisepacker3,
82 P40A,
83 P40B,
84 P41A,
85 PM40,
86 PP10,
87 TP1,
88 TP2,
89 TP3,
90 ZEN,
91 P50A,
92 P60A,
93 StarTrekker,
94 /* stands for S404(data/exe),S401(data),S403(data) and S310,S300(data) */
95 S404,
96 StoneCracker270,
97 P61A,
98 STIM,
99 SoundTracker,
100 TPACK22,
101 /* stands for CrM! & CrM2 and Crunchmania Address*/
102 CRM1,
103 /* stands for both Defjam 3.2 & 3.2 pro */
104 Defjam_32,
105 TPACK21,
106 ICE,
107 /* stands for version 1.3 , 2.0 , 3.0 and Pro 1.0*/
108 ByteKiller,
109 XPK,
110 IMP,
111 RNC,
112 Double_Action,
113 Powerpacker3,
114 Powerpacker4,
115 Powerpacker23,
116 SpikeCruncher,
117 TPACK102,
118 TimeCruncher,
119 MasterCruncher,
120 /* stands also for Mega Cruncher 1.0/1.2 */
121 MegaCruncher,
122 JamCracker,
123 BSIFC,
124 DigiBooster,
125 QuadraComposer,
126 TDD,
127 FuchsTracker,
128 SyncroPacker,
129 TNMCruncher,
130 SuperCruncher,
131 /* not for PP20 themselves :) ... only PP20 subfiles inside PPbk */
132 PP20,
133 RelokIt,
134 STC292data,
135 FIRE,
136 MaxPacker,
137 SoundFX,
138 arcD,
139 PARA,
140 CRND,
141 SB_DataCruncher,
142 SF,
143 RLE,
144 VDCO,
145 SQ,
146 SP,
147 STK26,
148 IceTracker,
149 HQC,
150 TryIt,
151 FC13,
152 FC14,
153 AmnestyDesign1,
154 AmnestyDesign2,
155 MED,
156 ACECruncherData,
157 Newtron,
158 GPMO,
159 PolkaPacker,
160 GnuPlayer,
161 CJ_DataCruncher,
162 AmBk,
163 MasterCruncher3data,
164 XM,
165 MegaCruncherObj,
166 TurboSqueezer61,
167 STC299d,
168 STC310,
169 STC299b,
170 STC299,
171 STC300,
172 ThePlayer30a,
173 ThePlayer22a,
174 NoiseFromHeaven,
175 TMK,
176 DragPack252,
177 DragPack100,
178 SpeedPacker3Data,
179 AtomikPackerData,
180 AutomationPackerData,
181 /* TreasurePattern,*/
182 SGTPacker,
183 GNUPacker12,
184 CrunchmaniaSimple,
185 dmu,
186 TitanicsPlayer,
187 NewtronOld,
188 NovoTrade,
189 Skizzo,
190 StoneArtsPlayer,
191 };
192