vrl2vrs\r
vrsdump\r
vrldbg\r
+dro2imf\r
ps.exe\r
*.upx\r
# except foo.html which is maintained by hand.\r
[submodule "shitman"]
path = 16/shitman
url = https://github.com/joncampbell123/shitman.git
+
+[submodule "dro2imf"]
+ path = "16/dro2imf"
+ url = https://github.com/Malvineous/dro2imf.git
+++ /dev/null
-Subproject commit 30235e5eabc57190c68d5b042a687295029026cc
pcxsscut &
vrl2vrs &
vrsdump &
- vrldbg
+ vrldbg &
+ dro2imf
#UTILEXEC += $(SPRIUTILEXEC)
!endif
@if exist *.OBJ $(REMOVECOMMAND) *.OBJ
#@for %f in ($(SPRIUTILEXEC)) do @if exist %f $(REMOVECOMMAND) %f
@if not exist vrl2vrs wmake -s -h pcx2vrl
+ @if not exist dro2imf wmake -s -h drotoimf
!else
@if exist *.o $(REMOVECOMMAND) *.o
!endif
@$(REMOVECOMMAND) -rf 16/keen
@$(REMOVECOMMAND) -rf 16/Catacomb3D
@$(REMOVECOMMAND) -rf 16/shitman
+ @$(REMOVECOMMAND) -rf 16/dro2imf
@wmake -s -h initlibs
initlibs: .symbolic
@git clone https://github.com/id-Software/wolf3d.git
@git clone https://github.com/keendreams/keen.git
@git clone https://github.com/FlatRockSoft/Catacomb3D.git
+ @git clone https://github.com/Malvineous/dro2imf.git
@cd $(BUILD_ROOT)
@$(COPYCOMMAND) $(DOSLIBDIR)/make-lowercase .
@cd $(BUILD_ROOT)
!ifdef __LINUX__
+drotoimf: .symbolic
+ @cd 16/dro2imf
+ @make
+ @$(MOVECOMMAND) dro2imf ../..
+ @cd $(BUILD_ROOT)
vrs: .symbolic
vrl: .symbolic
$(SPRIUTILEXEC):
shutdown_adlib_opl3(); // NTS: Apparently the music won't play otherwise\r
}\r
\r
+void SD_imf_reset_music(global_game_variables_t *gvar)\r
+{\r
+ gvar->ca.sd.imf_music = gvar->ca.sd.imf_play_ptr = gvar->ca.sd.imf_music_end = NULL;\r
+ gvar->ca.sd.imf_delay_countdown = 0;\r
+}\r
+\r
void SD_imf_free_music(global_game_variables_t *gvar)\r
{\r
#ifndef SD_USESCAMMPM\r
#else\r
MM_FreePtr(MEMPTRCONV gvar->ca.audiosegs[0], gvar); //TODO make behave like id engine\r
#endif\r
- gvar->ca.sd.imf_music = gvar->ca.sd.imf_play_ptr = gvar->ca.sd.imf_music_end = NULL;\r
- gvar->ca.sd.imf_delay_countdown = 0;\r
+ SD_imf_reset_music(gvar);\r
}\r
\r
int SD_imf_load_music(const char *path, global_game_variables_t *gvar)\r
unsigned char buf[8];\r
int fd;\r
\r
+#ifndef SD_USESCAMMPM\r
SD_imf_free_music(gvar);\r
+#else\r
+ SD_imf_reset_music(gvar);\r
+#endif\r
\r
fd = open(path,O_RDONLY|O_BINARY);\r
if (fd < 0) return 0;\r
#include <hw/dos/dos.h>\r
#include <hw/8259/8259.h>\r
\r
-//#define SD_USESCAMMPM\r
+#define SD_USESCAMMPM\r
\r
#define MIN_REGISTER 0x01\r
#define MAX_REGISTER 0xF5\r
void FMSetVoice(int voiceNum, FMInstrument *ins);\r
\r
void SD_Initimf(global_game_variables_t *gvar);\r
+void SD_imf_reset_music(global_game_variables_t *gvar);\r
void SD_imf_free_music(global_game_variables_t *gvar);\r
int SD_imf_load_music(const char *path, global_game_variables_t *gvar);\r
void interrupt SD_irq0(void);\r
}\r
\r
vgmFile->dataLen = vgmBaseHdr.lngEOFOffset + 0x04;\r
- //vgmFile->data = (UINT8*)malloc(vgmFile->dataLen);\r
+#ifndef VGM_USESCAMMPM\r
+ vgmFile->data = (UINT8*)malloc(vgmFile->dataLen);\r
+#else\r
MM_GetPtr(MEMPTRCONV gvar->ca.audiosegs[0], vgmFile->dataLen, gvar);\r
vgmFile->data = (UINT8*)gvar->ca.audiosegs[0];\r
+#endif\r
if (vgmFile->data == NULL)\r
{\r
fclose(hFile);\r
\r
void FreeVGMFile(VGM_FILE* vgmFile, global_game_variables_t *gvar)\r
{\r
- //if(vgmFile->data){ free(vgmFile->data); vgmFile->data = NULL; }\r
+#ifndef VGM_USESCAMMPM\r
+ if(vgmFile->data){ free(vgmFile->data); vgmFile->data = NULL; }\r
+#else\r
MM_FreePtr(MEMPTRCONV gvar->ca.audiosegs[0], gvar);\r
- if(vgmFile->data) free(vgmFile->data);\r
+#endif\r
+// if(vgmFile->data) free(vgmFile->data);\r
vgmFile->dataLen = 0;\r
\r
-// return;\r
+ return;\r
}\r
\r
\r
#ifndef __VGMSNDDRV_H__\r
#define __VGMSNDDRV_H__\r
\r
+//#define VGM_USESCAMMPM\r
+\r
#ifdef __cplusplus\r
extern "C"\r
{\r
[submodule "shitman"]
path = 16/shitman
url = https://github.com/joncampbell123/shitman.git
+
+[submodule "dro2imf"]
+ path = "16/dro2imf"
+ url = https://github.com/Malvineous/dro2imf.git