AGSC (File Format): Difference between revisions
Jump to navigation
Jump to search
→Normal / Drum Page Entry
imported>Antidote |
imported>Jackoalan |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 103: | Line 103: | ||
==== ObjectID ==== | ==== ObjectID ==== | ||
After this are four tables of objects. Each object is identified with a 16-bit '''ObjectID''' | After this are four tables of objects. Each object is identified with a 16-bit '''ObjectID'''. | ||
Factor5 designed ObjectIDs to used in a polymorphic manner. The top 2 bits of the ID are used | |||
to differentiate between SoundMacros, Keymaps, and Layers. If the ID passes a mask of 0x4000, | |||
the object is a ''Keymap''. If the ID passes a mask of 0x8000, the object is a ''Layer''. | |||
Otherwise, the object is assumed to be a ''SoundMacro''. ''Tables'' don't require this type of | |||
polymorphism due to the context in which they are accessed. | |||
''' | |||
==== SoundMacros ==== | ==== SoundMacros ==== | ||
Line 743: | Line 727: | ||
| Ctrl | | Ctrl | ||
| A = | | A = | ||
| colspan="1" {{unknown|}} | |||
| colspan="2" | Immediate | | colspan="2" | Immediate | ||
| colspan=" | | colspan="2" {{unknown|}} | ||
|- | |- | ||
| 0x70 | | 0x70 | ||
Line 1,077: | Line 1,062: | ||
These function the same way as the SoundMacro ID table, but indexes other types of entities instead. | These function the same way as the SoundMacro ID table, but indexes other types of entities instead. | ||
'''Note:''' Keymap and Layer IDs in these tables have their top 2 bits (indicating their type) masked off. | |||
Keymaps must be OR'd with 0x4000 and Layers must be OR'd with 0x8000 in order to reconstruct the actual IDs. | |||
==== Normal / Drum Page Entry ==== | ==== Normal / Drum Page Entry ==== | ||
Line 1,108: | Line 1,096: | ||
| '''Padding''' | | '''Padding''' | ||
|} | |} | ||
'''Note:''' The drum table is accessed when the MIDI channel is 10, otherwise the normal table is accessed. | |||
==== SFX Entry ==== | ==== SFX Entry ==== | ||
Line 1,145: | Line 1,135: | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | 1 | ||
| '''Definite Key'''; The default pitch ( | | '''Definite Key'''; The default pitch - usually 0x3C (MIDI C4) | ||
|- | |||
| 0x9 | |||
| 1 | |||
| '''Padding''' | |||
|} | |} | ||