Age | Commit message (Collapse) | Author |
|
|
|
|
|
The field B_transpose on drums means note number, and is no need extra calculations
Here is a right specification for AIL's bank format, gotten from AIL 2 sources which are been published by Miles
```
//GTL - "Global Timbre Bank"
struct GTL Head // GTL file header entry structure
{
uint8_t patch;
uint8_t bank;
uint32_t offset;
}
//- Length is 6 bytes
//Look for timbre until .patch will equal to 0xFF, then look for each instrument
Note:
DW - Define Word - uint16_t
DB - Define Byte - uint8_t
BNK STRUC ;.BNK-style timbre definition
B_length dw ? ; lenght of timbre entry
B_transpose db ?
B_mod_AVEKM db ? ;op_0 = FM modulator
B_mod_KSLTL db ?
B_mod_AD db ?
B_mod_SR db ?
B_mod_WS db ?
B_fb_c db ?
B_car_AVEKM db ? ;op_1 = FM carrier
B_car_KSLTL db ?
B_car_AD db ?
B_car_SR db ?
B_car_WS db ?
ENDS
OPL3BNK STRUC ;.BNK-style OPL3 timbre definition
BNK <>
O_mod_AVEKM db ? ;op_2
O_mod_KSLTL db ?
O_mod_AD db ?
O_mod_SR db ?
O_mod_WS db ?
O_fb_c db ?
O_car_AVEKM db ? ;op_3
O_car_KSLTL db ?
O_car_AD db ?
O_car_SR db ?
O_car_WS db ?
ENDS
```
|
|
|
|
Now this bank is finally works fine!
|
|
Using BNKs directly results a wrong pitch for the drums and set is incompatible with General Midi, so, some drums has been swapped and copy-pasted
|
|
|
|
|
|
|
|
# Conflicts:
# src/adldata.cpp
|
|
|
|
|
|
|
|
(old IBK with modded bank has been replaced with better OP3 file)
|
|
|
|
|
|
|
|
- small work over updated drum bank
- set usage of Duke Nukem 3D's drum bank to O'Connel's (66) and to Ultimate Soccer Manager's (48) banks
|
|
|
|
|
|
|
|
|