Commit 780c9c2f3cc5391cd5478c560386cdab3341b621
Almost done with the structs.
anonymous authored on 12/28/2015, 2:11:30 PMChristopher Snowhill committed on 6/13/2018, 12:10:58 AM
Parent: 17d5b840eb1809d7e01351c5b53c4a77c68da2ff
Files changed
src/syntrax/syntrax.h | changed |
src/syntrax/syntrax.h | ||
---|---|---|
@@ -23,8 +23,9 @@ | ||
23 | 23 | |
24 | 24 | |
25 | 25 | |
26 | 26 | //---------------------------structures------------------------ |
27 | +//don't pack | |
27 | 28 | struct VoiceEffect |
28 | 29 | { |
29 | 30 | int VMBNMTNBQU; |
30 | 31 | int TIPUANVVR; |
@@ -38,8 +39,9 @@ | ||
38 | 39 | int QOMCBTRPXF; |
39 | 40 | int ABJGHAUY; |
40 | 41 | }; |
41 | 42 | |
43 | +//don't pack | |
42 | 44 | struct Voice |
43 | 45 | { |
44 | 46 | int wavelength; |
45 | 47 | int gainDelay; |
@@ -64,8 +66,9 @@ | ||
64 | 66 | int gainDelayLeft; |
65 | 67 | int hasLooped; |
66 | 68 | }; |
67 | 69 | |
70 | +//don't pack | |
68 | 71 | struct TuneChannel |
69 | 72 | { |
70 | 73 | int JOEEPJCI; |
71 | 74 | int BNWIGU; |
@@ -181,59 +184,76 @@ | ||
181 | 184 | int8_t spd; |
182 | 185 | uint8_t command; |
183 | 186 | }; |
184 | 187 | |
185 | -//not packable | |
188 | +//almost packable | |
186 | 189 | struct Instrument |
187 | 190 | { |
188 | - int16_t version; //int16le | |
189 | - char name[32]; //char[32] | |
190 | - int16_t waveform:int; //int16le | |
191 | - int16_t wavelength:int; //int16le | |
192 | - int16_t masterVolume:int; //int16le | |
193 | - int16_t amWave:int; //int16le | |
194 | - int16_t amSpeed:int; //int16le | |
195 | - int16_t amLoopPoint:int; //int16le | |
196 | - int16_t finetune:int; //int16le | |
197 | - int16_t fmWave:int; //int16le | |
198 | - int16_t fmSpeed:int; //int16le | |
199 | - int16_t fmLoopPoint:int; //int16le | |
200 | - int16_t fmDelay:int; //int16le | |
201 | - int16_t arpIndex:int; //int16le | |
202 | - uint8_t m_ResetWave[16]; //uint8[16] | |
203 | - int16_t panWave:int; //int16le | |
204 | - int16_t panSpeed:int; //int16le | |
205 | - int16_t panLoopPoint:int; //int16le | |
206 | - int16_t UNK00:int; //int16le | |
207 | - int16_t UNK01:int; //int16le | |
208 | - int16_t UNK02:int; //int16le | |
209 | - int16_t UNK03:int; //int16le | |
210 | - int16_t UNK04:int; //int16le | |
211 | - int16_t UNK05:int; //int16le | |
212 | - effects:Vector.<InstrumentEffect>; //InstrumentEffect[4] | |
213 | - smpFullImportPath:String; //char[192] //why do we even need to store a full path? | |
214 | - int32_t UNK06:uint; //uint32le | |
215 | - int32_t UNK07:uint; //uint32le | |
216 | - int32_t UNK08:uint; //uint32le | |
217 | - int32_t UNK09:uint; //uint32le | |
218 | - int32_t UNK0A:uint; //uint32le | |
219 | - int32_t UNK0B:uint; //uint32le | |
220 | - int32_t UNK0C:uint; //uint32le | |
221 | - int32_t UNK0D:uint; //uint32le | |
222 | - int32_t UNK0E:uint; //uint32le | |
223 | - int32_t UNK0F:uint; //uint32le | |
224 | - int32_t UNK10:uint; //uint32le | |
225 | - int32_t UNK11:uint; //uint32le | |
226 | - int16_t UNK12:int; //int16le | |
227 | - int16_t shareSmpDataFromInstr:int; //int16le //0 is off | |
228 | - int16_t hasLoop:int; //int16le | |
229 | - int16_t hasBidiLoop:int; //int16le | |
230 | - sampleBuffer:WaveBuffer; //uint32le | |
231 | - smpStartPoint:int; //uint32le | |
232 | - smpLoopPoint:int; //uint32le | |
233 | - smpEndPoint:int; //uint32le | |
234 | - hasSample:int; //uint32le | |
235 | - smpLength:int; //uint32le | |
236 | - synthBuffers:Vector.<WaveBuffer>; //int16le[16][0x100] | |
191 | + int16_t version; | |
192 | + char name[32]; | |
193 | + int16_t waveform; | |
194 | + int16_t wavelength; | |
195 | + int16_t masterVolume; | |
196 | + int16_t amWave; | |
197 | + int16_t amSpeed; | |
198 | + int16_t amLoopPoint; | |
199 | + int16_t finetune; | |
200 | + int16_t fmWave; | |
201 | + int16_t fmSpeed; | |
202 | + int16_t fmLoopPoint; | |
203 | + int16_t fmDelay; | |
204 | + int16_t arpIndex; | |
205 | + uint8_t m_ResetWave[16]; | |
206 | + int16_t panWave; | |
207 | + int16_t panSpeed; | |
208 | + int16_t panLoopPoint; | |
209 | + int16_t UNK00; | |
210 | + int16_t UNK01; | |
211 | + int16_t UNK02; | |
212 | + int16_t UNK03; | |
213 | + int16_t UNK04; | |
214 | + int16_t UNK05; | |
215 | + InstrumentEffect effects[4]; | |
216 | + char smpFullImportPath[192]; //why do we even need to store a full path? | |
217 | + uint32_t UNK06; | |
218 | + uint32_t UNK07; | |
219 | + uint32_t UNK08; | |
220 | + uint32_t UNK09; | |
221 | + uint32_t UNK0A; | |
222 | + uint32_t UNK0B; | |
223 | + uint32_t UNK0C; | |
224 | + uint32_t UNK0D; | |
225 | + uint32_t UNK0E; | |
226 | + uint32_t UNK0F; | |
227 | + uint32_t UNK10; | |
228 | + uint32_t UNK11; | |
229 | + int16_t UNK12; | |
230 | + int16_t shareSmpDataFromInstr; //0 is off | |
231 | + int16_t hasLoop; | |
232 | + int16_t hasBidiLoop; | |
233 | + uint32_t smpStartPoint; | |
234 | + uint32_t smpLoopPoint; | |
235 | + uint32_t smpEndPoint; | |
236 | + uint32_t hasSample; | |
237 | + uint32_t smpLength; | |
238 | + int16_t synthBuffers[16][0x100]; | |
239 | + //move me | |
240 | + int16_t *sampleBuffer; | |
237 | 241 | }; |
238 | 242 | |
243 | +//packable | |
244 | +struct InstrumentEffect | |
245 | +{ | |
246 | + uint32_t destWave; | |
247 | + uint32_t srcWave1; | |
248 | + uint32_t srcWave2; | |
249 | + uint32_t oscWave; | |
250 | + uint32_t variable1; | |
251 | + uint32_t variable2; | |
252 | + uint32_t fxSpeed; | |
253 | + uint32_t oscSpeed; | |
254 | + uint32_t effectType; | |
255 | + int8_t in5oscSelect; | |
256 | + int8_t resetEffect; | |
257 | + int16_t UNK00; | |
258 | +}; | |
239 | 259 |
Built with git-ssb-web