Anonymous

Changes

From Final Fantasy Inside

FF7/PSX/Sound/AKAO sequence

488 bytes added, 05:31, 30 May 2020
no edit summary
=== Channel info (size: 4 bytes + 2 bytes * <channels count>) ===
struct AkaoChannelInfo { uint32_t mask; // represents bitmask of used channels in this frame uint32_t start_offsets[num_channels]; // offsets to channel opcode data };  int num_channels = 0; while (int bit = 0; ((info.mask & 0xFFFFFF) & (1 << bit)) != 0; bit++) num_channels++; First there is 32-bit number (offset 0x10), which represents bitmask of used channels in this frame, after . After this frame , there is <channels count> offsets to channel opcode data counting from current offset.Each offsets is a relative offset based on the address *next to* the offset itself. (This is a general rule for early versions of AKAO to interpret relative offsets.) 
=== Channel Commands [AKAO Opcodes] ===
112
edits