Mercurial > hg > dmlib
annotate minijss/jssmod.h @ 2313:866e036d7706
Clean up some code duplication.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 09 Jul 2019 11:52:15 +0300 |
parents | dcf1016f3d27 |
children | 9807ae37ad69 |
rev | line source |
---|---|
0 | 1 /* |
2 * miniJSS - Module structure and handling routines | |
3 * Programmed and designed by Matti 'ccr' Hamalainen | |
2279 | 4 * (C) Copyright 2006-2019 Tecnic Software productions (TNSP) |
0 | 5 */ |
6 #ifndef JSSMOD_H | |
7 #define JSSMOD_H | |
8 | |
9 #include "jss.h" | |
10 #include "dmres.h" | |
11 | |
358 | 12 #ifdef __cplusplus |
13 extern "C" { | |
14 #endif | |
0 | 15 |
16 // Max data size definitions | |
1220 | 17 #define jsetMaxChannels (128) |
18 #define jsetMaxRows (16*1024) // Number of rows checked against | |
1248
d8324718d4b9
Add define for default number of rows in pattern.
Matti Hamalainen <ccr@tnsp.org>
parents:
1246
diff
changeset
|
19 #define jsetDefaultRows (64) // Default number of rows in pattern |
1220 | 20 #define jsetMaxPatterns (1024) // Max patterns |
1215
66c79bae8704
Bump up some maximum values for JSS module data.
Matti Hamalainen <ccr@tnsp.org>
parents:
1210
diff
changeset
|
21 #define jsetMaxInstruments (1024) |
66c79bae8704
Bump up some maximum values for JSS module data.
Matti Hamalainen <ccr@tnsp.org>
parents:
1210
diff
changeset
|
22 #define jsetMaxOrders (512) |
0 | 23 #define jsetNNotes (11 * 12) |
1220 | 24 #define jsetMinNote (0) // Smallest note number |
0 | 25 #define jsetMaxNote (jsetNNotes - 1) |
1220 | 26 #define jsetMaxEnvPoints (64) // Max number of envelope points |
0 | 27 |
28 // Instrument envelope flags | |
29 #define jenvfUsed (0x01) // Envelope is used | |
30 #define jenvfSustain (0x02) // Envelope has a sustain point (XM) or has sustain loop (IT) | |
31 #define jenvfLooped (0x04) // Envelope is looped | |
32 | |
33 // Instrument vibrato waveform types | |
34 #define jvibSine (0) | |
35 #define jvibRamp (1) | |
36 #define jvibSquare (2) | |
37 #define jvibRandom (3) | |
38 | |
39 // General stuff | |
40 #define jsetNoteOff (-2) | |
41 #define jsetOrderEnd (-1) | |
42 #define jsetOrderSkip (-2) | |
43 | |
44 | |
45 // General module flags | |
46 #define jmdfAmigaPeriods (0x0001) // Use non-linear periods (Amiga) | |
47 #define jmdfAmigaLimits (0x0002) // Use Amiga-styled valuelimits | |
48 #define jmdfStereo (0x0008) // Use stereo output, if possible | |
49 | |
50 #define jmdfFT2Replay (0x0010) // Use FT2 replaying bugs/features | |
51 #define jmdfST300Slides (0x0020) // Use Scream Tracker 3.00 slides | |
52 #define jmdfByteLStart (0x0040) // LStart is in BYTES instead of WORDS (MOD only) | |
53 | |
54 | |
55 // Module format types | |
56 enum JMDT | |
57 { | |
58 jmdtMOD = 1, | |
59 jmdtS3M, | |
60 jmdtXM, | |
61 jmdtIT | |
62 }; | |
63 | |
64 | |
65 // Bits for sample conversion routines | |
66 #define jsampDelta (0x01) | |
67 #define jsampFlipSign (0x02) | |
68 #define jsampSwapEndianess (0x04) | |
69 #define jsampSplit (0x08) | |
70 | |
1236 | 71 #define jsampHasData (0x80) // Special flag |
72 | |
0 | 73 |
74 // Internal instrument structure | |
75 typedef struct | |
76 { | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
77 int size, // Length in units |
0 | 78 loopS, // Loop start position in units |
79 loopE; // Loop end position in units | |
80 int volume, // Volume [jsetMinVol...jsetMaxVol] | |
81 flags, // Flags - see jss.h jsfXXXX | |
82 C4BaseSpeed, // C4BaseSpeed | |
83 ERelNote, // Extended: Relative note value | |
84 EFineTune, // Extended: Fine-tune value | |
85 EPanning; // Extended: Panning | |
86 #ifndef JSS_LIGHT | |
87 char *desc; | |
88 #endif | |
89 void *data; // Sample data | |
90 | |
91 int convFlags; | |
92 } JSSInstrument; | |
93 | |
94 | |
95 // Envelope point structure | |
96 typedef struct | |
97 { | |
98 int frame, value; | |
99 } JSSEnvelopePoint; | |
100 | |
101 | |
102 // Envelope structure | |
103 typedef struct | |
104 { | |
105 int flags, | |
106 npoints, | |
107 sustain, | |
108 loopS, | |
109 loopE; | |
110 JSSEnvelopePoint points[jsetMaxEnvPoints]; | |
111 } JSSEnvelope; | |
112 | |
113 | |
114 // Extended instrument | |
115 typedef struct | |
116 { | |
117 #ifndef JSS_LIGHT | |
118 char *desc; | |
119 #endif | |
1178
f1bbac567942
Oops, forgot to commit this change to add the conversion table to
Matti Hamalainen <ccr@tnsp.org>
parents:
1163
diff
changeset
|
120 int nsamples, |
f1bbac567942
Oops, forgot to commit this change to add the conversion table to
Matti Hamalainen <ccr@tnsp.org>
parents:
1163
diff
changeset
|
121 sNumForNotes[jsetNNotes], |
1402
b47109fce375
Make JSSExtInstrument.instConvSamples dynamically allocated and add check
Matti Hamalainen <ccr@tnsp.org>
parents:
1349
diff
changeset
|
122 *instConvTable; |
b47109fce375
Make JSSExtInstrument.instConvSamples dynamically allocated and add check
Matti Hamalainen <ccr@tnsp.org>
parents:
1349
diff
changeset
|
123 |
0 | 124 JSSEnvelope volumeEnv, panningEnv; |
125 int vibratoType, | |
126 vibratoSweep, | |
127 vibratoDepth, | |
128 vibratoRate, | |
129 fadeOut; | |
130 } JSSExtInstrument; | |
131 | |
132 | |
133 // Internal pattern structures | |
134 typedef struct | |
135 { | |
136 int note, | |
137 instrument, | |
138 volume, | |
139 effect, | |
140 param; | |
141 } JSSNote; | |
142 | |
143 | |
144 typedef struct | |
145 { | |
2278
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
146 int nrows, nchannels, nmap; |
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
147 BOOL *used; |
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
148 Uint8 *map; |
0 | 149 JSSNote *data; |
150 } JSSPattern; | |
151 | |
152 | |
153 // Module structure | |
154 typedef struct | |
155 { | |
156 int moduleType; // Type of the module | |
157 char *moduleName; // Title/name | |
158 char *trackerName; // Tracker software name | |
159 int defSpeed, // Initial values | |
160 defTempo, | |
161 defFlags, | |
162 defRestartPos, | |
163 intVersion, // Format's internal version | |
164 nchannels, | |
165 ninstruments, | |
166 nextInstruments, | |
167 npatterns, | |
168 norders; | |
169 | |
170 int defPanning[jsetNChannels]; | |
171 int orderList[jsetMaxOrders]; | |
172 JSSPattern *patterns[jsetMaxPatterns + 1]; | |
173 JSSInstrument *instruments[jsetMaxInstruments]; | |
174 JSSExtInstrument *extInstruments[jsetMaxInstruments]; | |
175 | |
176 #ifdef JSS_SUP_THREADS | |
177 DMMutex *mutex; | |
178 #endif | |
179 | |
180 } JSSModule; | |
181 | |
182 | |
183 #ifdef JSS_SUP_JSSMOD | |
184 | |
2303
dcf1016f3d27
Implement new (horizontal raw element) pattern storage mode for JSSMOD. Bump
Matti Hamalainen <ccr@tnsp.org>
parents:
2279
diff
changeset
|
185 #define JSSMOD_VERSION (0x40) |
0 | 186 |
187 enum | |
188 { | |
189 PATMODE_RAW_HORIZ = 1, | |
190 PATMODE_COMP_HORIZ, | |
191 PATMODE_RAW_VERT, | |
192 PATMODE_COMP_VERT, | |
2303
dcf1016f3d27
Implement new (horizontal raw element) pattern storage mode for JSSMOD. Bump
Matti Hamalainen <ccr@tnsp.org>
parents:
2279
diff
changeset
|
193 PATMODE_RAW_ELEM_HORIZ, |
dcf1016f3d27
Implement new (horizontal raw element) pattern storage mode for JSSMOD. Bump
Matti Hamalainen <ccr@tnsp.org>
parents:
2279
diff
changeset
|
194 PATMODE_RAW_ELEM_VERT, |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
195 PATMODE_LAST |
0 | 196 }; |
197 | |
2303
dcf1016f3d27
Implement new (horizontal raw element) pattern storage mode for JSSMOD. Bump
Matti Hamalainen <ccr@tnsp.org>
parents:
2279
diff
changeset
|
198 |
0 | 199 /* JSSMOD typedefs |
200 */ | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
201 typedef struct |
0 | 202 { |
1221
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
203 char idMagic[2]; // "JM" |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
204 Uint8 idVersion; // 0x10 for 1.0, etc. |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
205 Uint16 |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
206 defFlags, // Flags field: see jmdf* flags |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
207 intVersion, // Internal version, format dependant |
0 | 208 norders, // Number of orders in orderlist |
209 npatterns, // Number of patterns | |
210 nextInstruments, // Number of extended instruments | |
211 ninstruments, // Number of sample-instruments | |
1221
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
212 defRestartPos; // Default restart position in orderlist |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
213 |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
214 Uint8 |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
215 nchannels, // Number of channels |
0 | 216 defSpeed, // Default speed (ticks/row) |
217 defTempo, // Default tempo (BPM) | |
218 patMode; // Pattern data format mode | |
219 | |
220 /* | |
221 - After this, norders long orders table will follow, of type: | |
1253
a4816eb68558
Change one JSSMOD struct type Sint16 -> Uint16.
Matti Hamalainen <ccr@tnsp.org>
parents:
1248
diff
changeset
|
222 Uint16 orderList[norders]; |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
223 |
0 | 224 - Pattern data, format depends on patMode. |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
225 |
0 | 226 - Extended instruments (*) |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
227 |
0 | 228 - Sample instrument headers (*) |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
229 |
0 | 230 - Sample data (format depends) (*) |
1127
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
231 |
e22d4ceb6414
Cosmetics pass, remove excess and trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
948
diff
changeset
|
232 (*) Items are optional and may have been omitted. Fields in the |
0 | 233 module and other headers are used to indicate if these items exist. |
234 */ | |
235 } JSSMODHeader; | |
236 | |
237 | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
238 typedef struct |
0 | 239 { |
240 Uint16 frame, value; | |
241 } JSSMODEnvelopePoint; | |
242 | |
243 | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
244 typedef struct |
0 | 245 { |
1246
7bd50496c9ec
Work on improved module conversion.
Matti Hamalainen <ccr@tnsp.org>
parents:
1240
diff
changeset
|
246 Uint8 |
865
fc5bd0ccc260
Use struct packing and specific types for JSSMOD data.
Matti Hamalainen <ccr@tnsp.org>
parents:
796
diff
changeset
|
247 flags, |
0 | 248 npoints, |
249 sustain, | |
250 loopS, | |
251 loopE; | |
252 JSSMODEnvelopePoint points[jsetMaxEnvPoints]; | |
253 } JSSMODEnvelope; | |
254 | |
255 | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
256 typedef struct |
0 | 257 { |
1229
dff0dfddaf0a
Change some JSSMOD struct member types.
Matti Hamalainen <ccr@tnsp.org>
parents:
1224
diff
changeset
|
258 Uint8 nsamples, |
dff0dfddaf0a
Change some JSSMOD struct member types.
Matti Hamalainen <ccr@tnsp.org>
parents:
1224
diff
changeset
|
259 vibratoType; |
1221
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
260 Uint16 vibratoSweep, |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
261 vibratoDepth, |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
262 vibratoRate, |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
263 fadeOut; |
1229
dff0dfddaf0a
Change some JSSMOD struct member types.
Matti Hamalainen <ccr@tnsp.org>
parents:
1224
diff
changeset
|
264 Uint32 sNumForNotes[jsetNNotes]; // 32bit because internally we use global indices |
0 | 265 JSSMODEnvelope volumeEnv, panningEnv; |
266 } JSSMODExtInstrument; | |
267 | |
268 | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
269 typedef struct |
0 | 270 { |
1236 | 271 Uint32 size, // Length in units |
0 | 272 loopS, // Loop start position in units |
273 loopE; // Loop end position in units | |
1236 | 274 Uint16 flags, // Flags - see jss.h jsfXXXX |
1349
5adf67d1dea4
Fix loading of instrument relative note, finetune and panning values, which should be signed.
Matti Hamalainen <ccr@tnsp.org>
parents:
1253
diff
changeset
|
275 C4BaseSpeed; // C4BaseSpeed |
5adf67d1dea4
Fix loading of instrument relative note, finetune and panning values, which should be signed.
Matti Hamalainen <ccr@tnsp.org>
parents:
1253
diff
changeset
|
276 Sint16 ERelNote, // Extended: Relative note value |
0 | 277 EFineTune, // Extended: Fine-tune value |
278 EPanning; // Extended: Panning | |
1236 | 279 Uint8 volume, // Volume [jsetMinVol...jsetMaxVol] |
280 convFlags; // Conversion flags .. jsampXXXX | |
281 // jsampHasData set if there is sample data | |
0 | 282 } JSSMODInstrument; |
283 | |
284 | |
1210
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
285 #define JM_COMP_NOTE (0x01) |
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
286 #define JM_COMP_INSTRUMENT (0x02) |
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
287 #define JM_COMP_VOLUME (0x04) |
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
288 #define JM_COMP_EFFECT (0x08) |
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
289 #define JM_COMP_PARAM (0x10) |
6b48bad13399
Rename pattern note packing flag COMP_* constants to JM_COMP_*.
Matti Hamalainen <ccr@tnsp.org>
parents:
1209
diff
changeset
|
290 #define JM_COMP_ALL (JM_COMP_NOTE | JM_COMP_INSTRUMENT | JM_COMP_VOLUME | JM_COMP_EFFECT | JM_COMP_PARAM) |
0 | 291 |
292 | |
2002
5cec199f49f8
Remove useless __packed__ attributes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1972
diff
changeset
|
293 typedef struct |
0 | 294 { |
1221
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
295 Uint32 size; |
e0aa979e7188
Change sizes of some JSSMOD structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1220
diff
changeset
|
296 Uint16 nrows; |
2278
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
297 Uint16 nchannels; // may differ from JSSMODHeader::nchannels |
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
298 // IF nchannels != JSSMODHeader::nchannels, then: |
40ccc09f09be
Implement empty channel removal in xm2jss and make JSSMOD format support
Matti Hamalainen <ccr@tnsp.org>
parents:
2002
diff
changeset
|
299 // Uint8 map[JSSMODPattern::nchannels]; |
0 | 300 } JSSMODPattern; |
301 | |
302 #endif | |
303 | |
1216 | 304 |
0 | 305 #ifndef JSS_LIGHT |
948 | 306 char * jssASCIItoStr(const char *src, const char endByte, const size_t len); |
1972
cedb5ca1533b
Clean up the sample conversion code a bit. Improve error handling in xm2jss.
Matti Hamalainen <ccr@tnsp.org>
parents:
1402
diff
changeset
|
307 int jssEncodeSample8(Uint8 *, const size_t, const int); |
cedb5ca1533b
Clean up the sample conversion code a bit. Improve error handling in xm2jss.
Matti Hamalainen <ccr@tnsp.org>
parents:
1402
diff
changeset
|
308 int jssEncodeSample16(Uint16 *, const size_t, const int); |
0 | 309 #endif |
1129
e466d10dae6d
Change API of jssDecodeSample{8,16}() functions to return dmlib error codes
Matti Hamalainen <ccr@tnsp.org>
parents:
1127
diff
changeset
|
310 int jssDecodeSample8(Uint8 *, const size_t, const int); |
e466d10dae6d
Change API of jssDecodeSample{8,16}() functions to return dmlib error codes
Matti Hamalainen <ccr@tnsp.org>
parents:
1127
diff
changeset
|
311 int jssDecodeSample16(Uint16 *, const size_t, const int); |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
312 int jssConvertModuleForPlaying(JSSModule *module); |
1231 | 313 |
0 | 314 JSSModule * jssAllocateModule(void); |
1223
82cc143cb7d2
Add function argument names to prototypes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1221
diff
changeset
|
315 int jssFreeModule(JSSModule * module); |
1238 | 316 |
1223
82cc143cb7d2
Add function argument names to prototypes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1221
diff
changeset
|
317 JSSPattern * jssAllocatePattern(const int nrows, const int nchannels); |
1224
e667710aee8e
Add functions jssFreeInstrument(), jssFreeExtInstrument() and jssFreePattern().
Matti Hamalainen <ccr@tnsp.org>
parents:
1223
diff
changeset
|
318 void jssFreePattern(JSSPattern *pattern); |
1238 | 319 |
0 | 320 JSSInstrument * jssAllocateInstrument(void); |
1224
e667710aee8e
Add functions jssFreeInstrument(), jssFreeExtInstrument() and jssFreePattern().
Matti Hamalainen <ccr@tnsp.org>
parents:
1223
diff
changeset
|
321 void jssFreeInstrument(JSSInstrument *inst); |
1238 | 322 |
0 | 323 JSSExtInstrument * jssAllocateExtInstrument(void); |
1224
e667710aee8e
Add functions jssFreeInstrument(), jssFreeExtInstrument() and jssFreePattern().
Matti Hamalainen <ccr@tnsp.org>
parents:
1223
diff
changeset
|
324 void jssFreeExtInstrument(JSSExtInstrument *inst); |
0 | 325 |
326 #ifdef JSS_SUP_XM | |
1223
82cc143cb7d2
Add function argument names to prototypes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1221
diff
changeset
|
327 int jssLoadXM(DMResource *file, JSSModule **pmodule, BOOL probe); |
0 | 328 #endif |
329 | |
330 #ifdef JSS_SUP_JSSMOD | |
1223
82cc143cb7d2
Add function argument names to prototypes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1221
diff
changeset
|
331 int jssLoadJSSMOD(DMResource *file, JSSModule **pmodule, BOOL probe); |
0 | 332 #endif |
333 | |
1223
82cc143cb7d2
Add function argument names to prototypes.
Matti Hamalainen <ccr@tnsp.org>
parents:
1221
diff
changeset
|
334 |
358 | 335 #ifdef __cplusplus |
336 } | |
337 #endif | |
338 | |
0 | 339 #endif // JSSMOD_H |