Made hmp code actually read tempo. Due to missing documentation of the format I can only guess it's a 4 bit int
This commit is contained in:
parent
47d8ca0713
commit
6b0e493500
|
@ -1,5 +1,9 @@
|
||||||
D1X-Rebirth Changelog
|
D1X-Rebirth Changelog
|
||||||
|
|
||||||
|
20130610
|
||||||
|
--------
|
||||||
|
misc/hmp.c: Made hmp code actually read tempo. Due to missing documentation of the format I can only guess it's a 4 bit int
|
||||||
|
|
||||||
20130422
|
20130422
|
||||||
--------
|
--------
|
||||||
main/net_udp.c: In restricted game mode check for player callsign and sockaddr at the same time; Clear Netgame struct each time player enters a new IP in manual join menu
|
main/net_udp.c: In restricted game mode check for player callsign and sockaddr at the same time; Clear Netgame struct each time player enters a new IP in manual join menu
|
||||||
|
|
19
misc/hmp.c
19
misc/hmp.c
|
@ -44,7 +44,7 @@ void hmp_close(hmp_file *hmp)
|
||||||
}
|
}
|
||||||
|
|
||||||
hmp_file *hmp_open(const char *filename) {
|
hmp_file *hmp_open(const char *filename) {
|
||||||
int i, data, num_tracks;
|
int i, data, num_tracks, tempo;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
PHYSFS_file *fp;
|
PHYSFS_file *fp;
|
||||||
hmp_file *hmp;
|
hmp_file *hmp;
|
||||||
|
@ -88,9 +88,21 @@ hmp_file *hmp_open(const char *filename) {
|
||||||
hmp_close(hmp);
|
hmp_close(hmp);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
hmp->num_trks = num_tracks;
|
hmp->num_trks = num_tracks;
|
||||||
hmp->tempo = 120;
|
|
||||||
|
if (PHYSFSX_fseek(fp, 0x38, SEEK_SET))
|
||||||
|
{
|
||||||
|
PHYSFS_close(fp);
|
||||||
|
hmp_close(hmp);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (PHYSFS_read(fp, &tempo, 4, 1) != 1)
|
||||||
|
{
|
||||||
|
PHYSFS_close(fp);
|
||||||
|
hmp_close(hmp);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
hmp->tempo = tempo;
|
||||||
|
|
||||||
if (PHYSFSX_fseek(fp, 0x308, SEEK_SET))
|
if (PHYSFSX_fseek(fp, 0x308, SEEK_SET))
|
||||||
{
|
{
|
||||||
|
@ -720,6 +732,7 @@ void hmp2mid(char *hmp_name, unsigned char **midbuf, unsigned int *midlen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
*midlen = 0;
|
*midlen = 0;
|
||||||
|
time_div = hmp->tempo*1.6;
|
||||||
|
|
||||||
// write MIDI-header
|
// write MIDI-header
|
||||||
*midbuf = d_realloc(*midbuf, *midlen + 4);
|
*midbuf = d_realloc(*midbuf, *midlen + 4);
|
||||||
|
|
Loading…
Reference in a new issue