make xm/mod loop working and sort files
This commit is contained in:
parent
1af31757fd
commit
f69a8b3132
26 changed files with 26798 additions and 6 deletions
|
|
@ -78,7 +78,7 @@ int main(int argc, char** argv){
|
|||
|
||||
GSClientToggleSkybox(GSEngineGetClient(engine), GSTrue);
|
||||
|
||||
if((sound = GSSoundOpen(GSClientGetSoundEngine(GSEngineGetClient(engine)), "game:/fracture.mod")) != NULL){
|
||||
if((sound = GSSoundOpen(GSClientGetSoundEngine(GSEngineGetClient(engine)), "game:/shanghai.mp3")) != NULL){
|
||||
GSSoundToggleLoop(sound, 1);
|
||||
GSSoundStart(sound);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,8 +20,9 @@ add_subdirectory(external/ode)
|
|||
include_directories(external/stb)
|
||||
include_directories(external/jar)
|
||||
include_directories(external/miniaudio)
|
||||
include_directories(external/dr_libs)
|
||||
|
||||
file(GLOB GearSrc_SRC src/*.c)
|
||||
file(GLOB GearSrc_SRC src/*.c src/gl/*.c src/sound/*.c src/external/*.c)
|
||||
|
||||
add_library(GearSrc SHARED ${GearSrc_SRC})
|
||||
target_include_directories(GearSrc PUBLIC include)
|
||||
|
|
|
|||
12561
engine/external/dr_libs/dr_flac.h
generated
vendored
Normal file
12561
engine/external/dr_libs/dr_flac.h
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
5342
engine/external/dr_libs/dr_mp3.h
generated
vendored
Normal file
5342
engine/external/dr_libs/dr_mp3.h
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
8878
engine/external/dr_libs/dr_wav.h
generated
vendored
Normal file
8878
engine/external/dr_libs/dr_wav.h
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
2
engine/src/external/dr_flac.c
vendored
Normal file
2
engine/src/external/dr_flac.c
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#define DR_FLAC_IMPLEMENTATION
|
||||
#include <dr_flac.h>
|
||||
2
engine/src/external/dr_mp3.c
vendored
Normal file
2
engine/src/external/dr_mp3.c
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#define DR_MP3_IMPLEMENTATION
|
||||
#include <dr_mp3.h>
|
||||
2
engine/src/external/dr_wav.c
vendored
Normal file
2
engine/src/external/dr_wav.c
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#define DR_WAV_IMPLEMENTATION
|
||||
#include <dr_wav.h>
|
||||
|
|
@ -12,11 +12,13 @@ static void snd_reset(GSSound sound) {
|
|||
}
|
||||
|
||||
static int snd_read(GSSound sound, GSI16* out, int frame) {
|
||||
if(((jar_mod_context_t*)sound->opaque1)->loopcount > 0) return 0;
|
||||
int f = ((jar_mod_context_t*)sound->opaque1)->last;
|
||||
|
||||
if(f == -1) f = frame;
|
||||
|
||||
jar_mod_fillbuffer(sound->opaque1, out, frame, NULL);
|
||||
|
||||
return frame;
|
||||
return f;
|
||||
}
|
||||
|
||||
static void snd_close(GSSound sound) {
|
||||
|
|
@ -10,11 +10,13 @@ static void snd_reset(GSSound sound) {
|
|||
}
|
||||
|
||||
static int snd_read(GSSound sound, GSI16* out, int frame) {
|
||||
if(jar_xm_get_loop_count(sound->opaque1) == 1) return 0;
|
||||
int f = jar_xm_get_last(sound->opaque1);
|
||||
|
||||
if(f == -1) f = frame;
|
||||
|
||||
jar_xm_generate_samples_16bit(sound->opaque1, out, frame);
|
||||
|
||||
return frame;
|
||||
return f;
|
||||
}
|
||||
|
||||
static void snd_close(GSSound sound) {
|
||||
Loading…
Add table
Add a link
Reference in a new issue