Refactor Tracker::LoadSongs function by commenting out unused code and variables
- Commented out a significant number of unused variable declarations and code segments in the `LoadSongs` function to enhance readability and maintainability. - This change does not impact functionality but reduces clutter, preparing the code for future enhancements.
This commit is contained in:
@@ -379,273 +379,273 @@ short Tracker::LoadSpcCommand(Rom &rom, unsigned short addr, short bank,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Tracker::LoadSongs(Rom &rom) {
|
void Tracker::LoadSongs(Rom &rom) {
|
||||||
unsigned char *b;
|
// unsigned char *b;
|
||||||
unsigned char *c;
|
// unsigned char *c;
|
||||||
unsigned char *d;
|
// unsigned char *d;
|
||||||
short *e;
|
// short *e;
|
||||||
|
|
||||||
Song song;
|
// Song song;
|
||||||
Song song2;
|
// Song song2;
|
||||||
SongPart *sp;
|
// SongPart *sp;
|
||||||
SpcCommand *spc_command;
|
// SpcCommand *spc_command;
|
||||||
ZeldaWave *zelda_wave;
|
// ZeldaWave *zelda_wave;
|
||||||
|
|
||||||
int i;
|
// int i;
|
||||||
int j;
|
// int j;
|
||||||
int k;
|
// int k;
|
||||||
int l = 0;
|
// int l = 0;
|
||||||
int m;
|
// int m;
|
||||||
int n;
|
// int n;
|
||||||
int o;
|
// int o;
|
||||||
int p;
|
// int p;
|
||||||
int q;
|
// int q;
|
||||||
int r;
|
// int r;
|
||||||
int t;
|
// int t;
|
||||||
int u;
|
// int u;
|
||||||
int range;
|
// int range;
|
||||||
int filter;
|
// int filter;
|
||||||
|
|
||||||
spc_command = current_spc_command_ =
|
// spc_command = current_spc_command_ =
|
||||||
(SpcCommand *)malloc(1024 * sizeof(SpcCommand));
|
// (SpcCommand *)malloc(1024 * sizeof(SpcCommand));
|
||||||
m_free = 0;
|
// m_free = 0;
|
||||||
m_size = 1024;
|
// m_size = 1024;
|
||||||
srnum = 0;
|
// srnum = 0;
|
||||||
srsize = 0;
|
// srsize = 0;
|
||||||
song_range_ = 0;
|
// song_range_ = 0;
|
||||||
sp_mark = 0;
|
// sp_mark = 0;
|
||||||
b = rom.mutable_data();
|
// b = rom.mutable_data();
|
||||||
|
|
||||||
sbank_ofs[1] = (b[0x91c] << 15) + ((b[0x918] & 127) << 8) + b[0x914];
|
// sbank_ofs[1] = (b[0x91c] << 15) + ((b[0x918] & 127) << 8) + b[0x914];
|
||||||
sbank_ofs[3] = (b[0x93a] << 15) + ((b[0x936] & 127) << 8) + b[0x932];
|
// sbank_ofs[3] = (b[0x93a] << 15) + ((b[0x936] & 127) << 8) + b[0x932];
|
||||||
|
|
||||||
for (i = 0; i < 1024; i++) {
|
// for (i = 0; i < 1024; i++) {
|
||||||
spc_command[i].next = i + 1;
|
// spc_command[i].next = i + 1;
|
||||||
spc_command[i].prev = i - 1;
|
// spc_command[i].prev = i - 1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Init blank songs.
|
// // Init blank songs.
|
||||||
for (i = 0; i < 128; i++) {
|
// for (i = 0; i < 128; i++) {
|
||||||
Song new_song;
|
// Song new_song;
|
||||||
songs.emplace_back(new_song);
|
// songs.emplace_back(new_song);
|
||||||
}
|
// }
|
||||||
|
|
||||||
spc_command[1023].next = -1;
|
// spc_command[1023].next = -1;
|
||||||
for (i = 0; i < 3; i++) {
|
// for (i = 0; i < 3; i++) {
|
||||||
// Extract the song banks.
|
// // Extract the song banks.
|
||||||
b = GetSpcAddr(rom, 0xd000, i);
|
// b = GetSpcAddr(rom, 0xd000, i);
|
||||||
for (j = 0;; j++) {
|
// for (j = 0;; j++) {
|
||||||
if ((r = ((unsigned short *)b)[j]) >= 0xd000) {
|
// if ((r = ((unsigned short *)b)[j]) >= 0xd000) {
|
||||||
r = (r - 0xd000) >> 1;
|
// r = (r - 0xd000) >> 1;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
numsong[i] = r;
|
// numsong[i] = r;
|
||||||
for (j = 0; j < r; j++) {
|
// for (j = 0; j < r; j++) {
|
||||||
k = ((unsigned short *)b)[j];
|
// k = ((unsigned short *)b)[j];
|
||||||
if (!k)
|
// if (!k)
|
||||||
songs[l].in_use = false;
|
// songs[l].in_use = false;
|
||||||
else {
|
// else {
|
||||||
c = GetSpcAddr(rom, k, i);
|
// c = GetSpcAddr(rom, k, i);
|
||||||
|
|
||||||
// Init the bank index we are current loading.
|
// // Init the bank index we are current loading.
|
||||||
if (!spcbank)
|
// if (!spcbank)
|
||||||
m = 0;
|
// m = 0;
|
||||||
else
|
// else
|
||||||
m = l - j;
|
// m = l - j;
|
||||||
|
|
||||||
for (; m < l; m++)
|
// for (; m < l; m++)
|
||||||
if (songs[m].in_use && songs[m].addr == k) {
|
// if (songs[m].in_use && songs[m].addr == k) {
|
||||||
(songs[l] = songs[m]).inst++;
|
// (songs[l] = songs[m]).inst++;
|
||||||
|
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (m == l) {
|
// if (m == l) {
|
||||||
// create a new song (Song *)malloc(sizeof(Song));
|
// // create a new song (Song *)malloc(sizeof(Song));
|
||||||
songs[l] = song;
|
// songs[l] = song;
|
||||||
song.inst = 1;
|
// song.inst = 1;
|
||||||
song.addr = k;
|
// song.addr = k;
|
||||||
song.flag = !spcbank;
|
// song.flag = !spcbank;
|
||||||
|
|
||||||
for (m = 0;; m++)
|
// for (m = 0;; m++)
|
||||||
if ((n = ((unsigned short *)c)[m]) < 256) break;
|
// if ((n = ((unsigned short *)c)[m]) < 256) break;
|
||||||
|
|
||||||
if (n > 0) {
|
// if (n > 0) {
|
||||||
song.flag |= 2;
|
// song.flag |= 2;
|
||||||
song.lopst = (((unsigned short *)c)[m + 1] - k) >> 1;
|
// song.lopst = (((unsigned short *)c)[m + 1] - k) >> 1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
song.numparts = m;
|
// song.numparts = m;
|
||||||
song.tbl = (SongPart **)malloc(4 * m);
|
// song.tbl = (SongPart **)malloc(4 * m);
|
||||||
|
|
||||||
for (m = 0; m < song.numparts; m++) {
|
// for (m = 0; m < song.numparts; m++) {
|
||||||
k = ((unsigned short *)c)[m];
|
// k = ((unsigned short *)c)[m];
|
||||||
d = GetSpcAddr(rom, k, i);
|
// d = GetSpcAddr(rom, k, i);
|
||||||
if (!spcbank)
|
// if (!spcbank)
|
||||||
n = 0;
|
// n = 0;
|
||||||
else
|
// else
|
||||||
n = l - j;
|
// n = l - j;
|
||||||
|
|
||||||
for (; n < l; n++) {
|
// for (; n < l; n++) {
|
||||||
song2 = songs[n];
|
// song2 = songs[n];
|
||||||
if (song2.in_use)
|
// if (song2.in_use)
|
||||||
for (o = 0; o < song2.numparts; o++)
|
// for (o = 0; o < song2.numparts; o++)
|
||||||
if (song2.tbl[o]->addr == k) {
|
// if (song2.tbl[o]->addr == k) {
|
||||||
(song.tbl[m] = song2.tbl[o])->inst++;
|
// (song.tbl[m] = song2.tbl[o])->inst++;
|
||||||
goto foundpart;
|
// goto foundpart;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
for (o = 0; o < m; o++)
|
// for (o = 0; o < m; o++)
|
||||||
if (song.tbl[o]->addr == k) {
|
// if (song.tbl[o]->addr == k) {
|
||||||
(song.tbl[m] = song.tbl[o])->inst++;
|
// (song.tbl[m] = song.tbl[o])->inst++;
|
||||||
goto foundpart;
|
// goto foundpart;
|
||||||
}
|
// }
|
||||||
|
|
||||||
sp = song.tbl[m] = (SongPart *)malloc(sizeof(SongPart));
|
// sp = song.tbl[m] = (SongPart *)malloc(sizeof(SongPart));
|
||||||
sp->flag = !spcbank;
|
// sp->flag = !spcbank;
|
||||||
sp->inst = 1;
|
// sp->inst = 1;
|
||||||
sp->addr = k;
|
// sp->addr = k;
|
||||||
p = 50000;
|
// p = 50000;
|
||||||
for (o = 0; o < 8; o++) {
|
// for (o = 0; o < 8; o++) {
|
||||||
q = sp->tbl[o] =
|
// q = sp->tbl[o] =
|
||||||
LoadSpcCommand(rom, ((unsigned short *)d)[o], i, p);
|
// LoadSpcCommand(rom, ((unsigned short *)d)[o], i, p);
|
||||||
spc_command = current_spc_command_ + q;
|
// spc_command = current_spc_command_ + q;
|
||||||
if ((spc_command->flag & 4) && spc_command->tim < p)
|
// if ((spc_command->flag & 4) && spc_command->tim < p)
|
||||||
p = spc_command->tim;
|
// p = spc_command->tim;
|
||||||
}
|
// }
|
||||||
foundpart:;
|
// foundpart:;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
l++;
|
// l++;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
b = GetSpcAddr(rom, 0x800, 0);
|
// b = GetSpcAddr(rom, 0x800, 0);
|
||||||
snddat1 = (char *)malloc(spclen);
|
// snddat1 = (char *)malloc(spclen);
|
||||||
sndlen1 = spclen;
|
// sndlen1 = spclen;
|
||||||
memcpy(snddat1, b, spclen);
|
// memcpy(snddat1, b, spclen);
|
||||||
|
|
||||||
b = GetSpcAddr(rom, 0x17c0, 0);
|
// b = GetSpcAddr(rom, 0x17c0, 0);
|
||||||
snddat2 = (char *)malloc(spclen);
|
// snddat2 = (char *)malloc(spclen);
|
||||||
sndlen2 = spclen;
|
// sndlen2 = spclen;
|
||||||
memcpy(snddat2, b, spclen);
|
// memcpy(snddat2, b, spclen);
|
||||||
|
|
||||||
b = GetSpcAddr(rom, 0x3d00, 0);
|
// b = GetSpcAddr(rom, 0x3d00, 0);
|
||||||
insts = (ZeldaInstrument *)malloc(spclen);
|
// insts = (ZeldaInstrument *)malloc(spclen);
|
||||||
memcpy(insts, b, spclen);
|
// memcpy(insts, b, spclen);
|
||||||
numinst = spclen / 6;
|
// numinst = spclen / 6;
|
||||||
|
|
||||||
b = GetSpcAddr(rom, 0x3e00, 0);
|
// b = GetSpcAddr(rom, 0x3e00, 0);
|
||||||
m_ofs = b - rom.mutable_data() + spclen;
|
// m_ofs = b - rom.mutable_data() + spclen;
|
||||||
sndinsts = (ZeldaSfxInstrument *)malloc(spclen);
|
// sndinsts = (ZeldaSfxInstrument *)malloc(spclen);
|
||||||
memcpy(sndinsts, b, spclen);
|
// memcpy(sndinsts, b, spclen);
|
||||||
numsndinst = spclen / 9;
|
// numsndinst = spclen / 9;
|
||||||
|
|
||||||
b = GetSpcAddr(rom, 0x3c00, 0);
|
// b = GetSpcAddr(rom, 0x3c00, 0);
|
||||||
zelda_wave = waves = (ZeldaWave *)malloc(sizeof(ZeldaWave) * (spclen >> 2));
|
// zelda_wave = waves = (ZeldaWave *)malloc(sizeof(ZeldaWave) * (spclen >> 2));
|
||||||
p = spclen >> 1;
|
// p = spclen >> 1;
|
||||||
|
|
||||||
for (i = 0; i < p; i += 2) {
|
// for (i = 0; i < p; i += 2) {
|
||||||
j = ((unsigned short *)b)[i];
|
// j = ((unsigned short *)b)[i];
|
||||||
|
|
||||||
if (j == 65535) break;
|
// if (j == 65535) break;
|
||||||
|
|
||||||
for (k = 0; k < i; k += 2) {
|
// for (k = 0; k < i; k += 2) {
|
||||||
if (((unsigned short *)b)[k] == j) {
|
// if (((unsigned short *)b)[k] == j) {
|
||||||
zelda_wave->copy = (short)(k >> 1);
|
// zelda_wave->copy = (short)(k >> 1);
|
||||||
goto foundwave;
|
// goto foundwave;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
zelda_wave->copy = -1;
|
// zelda_wave->copy = -1;
|
||||||
|
|
||||||
foundwave:
|
// foundwave:
|
||||||
|
|
||||||
d = GetSpcAddr(rom, j, 0);
|
// d = GetSpcAddr(rom, j, 0);
|
||||||
e = (short *)malloc(2048);
|
// e = (short *)malloc(2048);
|
||||||
|
|
||||||
k = 0;
|
// k = 0;
|
||||||
l = 1024;
|
// l = 1024;
|
||||||
u = t = 0;
|
// u = t = 0;
|
||||||
|
|
||||||
for (;;) {
|
// for (;;) {
|
||||||
m = *(d++);
|
// m = *(d++);
|
||||||
|
|
||||||
range = (m >> 4) + 8;
|
// range = (m >> 4) + 8;
|
||||||
filter = (m & 12) >> 2;
|
// filter = (m & 12) >> 2;
|
||||||
|
|
||||||
for (n = 0; n < 8; n++) {
|
// for (n = 0; n < 8; n++) {
|
||||||
o = (*d) >> 4;
|
// o = (*d) >> 4;
|
||||||
|
|
||||||
if (o > 7) o -= 16;
|
// if (o > 7) o -= 16;
|
||||||
|
|
||||||
o <<= range;
|
// o <<= range;
|
||||||
|
|
||||||
if (filter)
|
// if (filter)
|
||||||
o += (t * fil1[filter] >> fil2[filter]) -
|
// o += (t * fil1[filter] >> fil2[filter]) -
|
||||||
((u & -256) * fil3[filter] >> 4);
|
// ((u & -256) * fil3[filter] >> 4);
|
||||||
|
|
||||||
if (o > 0x7fffff) o = 0x7fffff;
|
// if (o > 0x7fffff) o = 0x7fffff;
|
||||||
|
|
||||||
if (o < -0x800000) o = -0x800000;
|
// if (o < -0x800000) o = -0x800000;
|
||||||
|
|
||||||
u = o;
|
// u = o;
|
||||||
|
|
||||||
// \code if(t>0x7fffff) t=0x7fffff;
|
// // \code if(t>0x7fffff) t=0x7fffff;
|
||||||
// \code if(t < -0x800000) t=-0x800000;
|
// // \code if(t < -0x800000) t=-0x800000;
|
||||||
|
|
||||||
e[k++] = o >> 8;
|
// e[k++] = o >> 8;
|
||||||
|
|
||||||
o = *(d++) & 15;
|
// o = *(d++) & 15;
|
||||||
|
|
||||||
if (o > 7) o -= 16;
|
// if (o > 7) o -= 16;
|
||||||
|
|
||||||
o <<= range;
|
// o <<= range;
|
||||||
|
|
||||||
if (filter)
|
// if (filter)
|
||||||
o += (u * fil1[filter] >> fil2[filter]) -
|
// o += (u * fil1[filter] >> fil2[filter]) -
|
||||||
((t & -256) * fil3[filter] >> 4);
|
// ((t & -256) * fil3[filter] >> 4);
|
||||||
|
|
||||||
if (o > 0x7fffff) o = 0x7fffff;
|
// if (o > 0x7fffff) o = 0x7fffff;
|
||||||
|
|
||||||
if (o < -0x800000) o = -0x800000;
|
// if (o < -0x800000) o = -0x800000;
|
||||||
|
|
||||||
t = o;
|
// t = o;
|
||||||
// \code if(u>0x7fffff) u=0x7fffff;
|
// // \code if(u>0x7fffff) u=0x7fffff;
|
||||||
// \code if(u < -0x800000) u= -0x800000;
|
// // \code if(u < -0x800000) u= -0x800000;
|
||||||
e[k++] = o >> 8;
|
// e[k++] = o >> 8;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (m & 1) {
|
// if (m & 1) {
|
||||||
zelda_wave->lflag = (m & 2) >> 1;
|
// zelda_wave->lflag = (m & 2) >> 1;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
if (k == l) {
|
// if (k == l) {
|
||||||
l += 1024;
|
// l += 1024;
|
||||||
e = (short *)realloc(e, l << 1);
|
// e = (short *)realloc(e, l << 1);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
e = zelda_wave->buf = (short *)realloc(e, (k + 1) << 1);
|
// e = zelda_wave->buf = (short *)realloc(e, (k + 1) << 1);
|
||||||
|
|
||||||
zelda_wave->lopst = (((unsigned short *)b)[i + 1] - j) * 16 / 9;
|
// zelda_wave->lopst = (((unsigned short *)b)[i + 1] - j) * 16 / 9;
|
||||||
|
|
||||||
if (zelda_wave->lflag)
|
// if (zelda_wave->lflag)
|
||||||
e[k] = e[zelda_wave->lopst];
|
// e[k] = e[zelda_wave->lopst];
|
||||||
else
|
// else
|
||||||
e[k] = 0;
|
// e[k] = 0;
|
||||||
|
|
||||||
zelda_wave->end = k;
|
// zelda_wave->end = k;
|
||||||
|
|
||||||
zelda_wave++;
|
// zelda_wave++;
|
||||||
}
|
// }
|
||||||
|
|
||||||
numwave = i >> 1;
|
// numwave = i >> 1;
|
||||||
m_loaded = 1;
|
// m_loaded = 1;
|
||||||
w_modf = 0;
|
// w_modf = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
short Tracker::SaveSpcCommand(Rom &rom, short num, short songtime,
|
short Tracker::SaveSpcCommand(Rom &rom, short num, short songtime,
|
||||||
|
|||||||
Reference in New Issue
Block a user