mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-09-22 22:48:08 +03:00
Use EM_JS where possible
This commit is contained in:
+10
-10
@@ -29,8 +29,8 @@ static int frame_of_getpos = -1;
|
||||
|
||||
static int cdrom_init(char *);
|
||||
static int cdrom_exit();
|
||||
static int cdrom_start(int, boolean);
|
||||
static int cdrom_stop();
|
||||
extern int cdrom_start(int, boolean);
|
||||
extern int cdrom_stop();
|
||||
static int cdrom_getPlayingInfo(cd_time *);
|
||||
|
||||
#define cdrom cdrom_emscripten
|
||||
@@ -53,15 +53,15 @@ int cdrom_exit() {
|
||||
return OK;
|
||||
}
|
||||
|
||||
int cdrom_start(int trk, boolean loop) {
|
||||
EM_ASM_ARGS({ xsystem35.cdPlayer.play($0, $1); }, trk, loop);
|
||||
return OK;
|
||||
}
|
||||
EM_JS(int, cdrom_start, (int trk, boolean loop), {
|
||||
xsystem35.cdPlayer.play(trk, loop);
|
||||
return xsystem35.Status.OK;
|
||||
});
|
||||
|
||||
int cdrom_stop() {
|
||||
EM_ASM( xsystem35.cdPlayer.stop(); );
|
||||
return OK;
|
||||
}
|
||||
EM_JS(int, cdrom_stop, (), {
|
||||
xsystem35.cdPlayer.stop();
|
||||
return xsystem35.Status.OK;
|
||||
});
|
||||
|
||||
int cdrom_getPlayingInfo(cd_time *info) {
|
||||
if (nact->frame_count == frame_of_getpos)
|
||||
|
||||
+27
-28
@@ -28,15 +28,15 @@ static int midi_initilize(char *pname, int subdev);
|
||||
static int midi_exit();
|
||||
static int midi_start(int no, int loop, char *data, int datalen);
|
||||
static int midi_stop();
|
||||
static int midi_pause(void);
|
||||
static int midi_unpause(void);
|
||||
extern int midi_pause(void);
|
||||
extern int midi_unpause(void);
|
||||
static int midi_get_playing_info(midiplaystate *st);
|
||||
static int midi_getflag(int mode, int index);
|
||||
static int midi_setflag(int mode, int index, int val);
|
||||
static int midi_setvol(int vol);
|
||||
static int midi_getvol();
|
||||
static int midi_fadestart(int time, int volume, int stop);
|
||||
static boolean midi_fading();
|
||||
extern int midi_setvol(int vol);
|
||||
extern int midi_getvol();
|
||||
extern int midi_fadestart(int time, int volume, int stop);
|
||||
extern boolean midi_fading();
|
||||
|
||||
#define midi midi_emscripten
|
||||
mididevice_t midi = {
|
||||
@@ -83,15 +83,15 @@ static int midi_stop() {
|
||||
return OK;
|
||||
}
|
||||
|
||||
static int midi_pause(void) {
|
||||
EM_ASM( xsystem35.midiPlayer.pause(); );
|
||||
return OK;
|
||||
}
|
||||
EM_JS(int, midi_pause, (void), {
|
||||
xsystem35.midiPlayer.pause();
|
||||
return xsystem35.Status.OK;
|
||||
});
|
||||
|
||||
static int midi_unpause(void) {
|
||||
EM_ASM( xsystem35.midiPlayer.resume(); );
|
||||
return OK;
|
||||
}
|
||||
EM_JS(int, midi_unpause, (void), {
|
||||
xsystem35.midiPlayer.resume();
|
||||
return xsystem35.Status.OK;
|
||||
});
|
||||
|
||||
static int midi_get_playing_info(midiplaystate *st) {
|
||||
if (midino != 0) {
|
||||
@@ -117,20 +117,19 @@ static int midi_setflag(int mode, int index, int val) {
|
||||
return NG;
|
||||
}
|
||||
|
||||
static int midi_setvol(int vol) {
|
||||
EM_ASM_ARGS({ xsystem35.midiPlayer.setVolume($0); }, vol);
|
||||
return OK;
|
||||
}
|
||||
EM_JS(int, midi_setvol, (int vol), {
|
||||
xsystem35.midiPlayer.setVolume(vol);
|
||||
return xsystem35.Status.OK;
|
||||
});
|
||||
|
||||
static int midi_getvol() {
|
||||
return EM_ASM_INT_V( return xsystem35.midiPlayer.getVolume(); );
|
||||
}
|
||||
EM_JS(int, midi_getvol,(), {
|
||||
return xsystem35.midiPlayer.getVolume();
|
||||
});
|
||||
|
||||
static int midi_fadestart(int time, int volume, int stop) {
|
||||
return EM_ASM_ARGS({ xsystem35.midiPlayer.fadeStart($0, $1, $2); },
|
||||
time, volume, stop);
|
||||
}
|
||||
EM_JS(int, midi_fadestart, (int time, int volume, int stop), {
|
||||
return xsystem35.midiPlayer.fadeStart(time, volume, stop);
|
||||
});
|
||||
|
||||
static boolean midi_fading() {
|
||||
return EM_ASM_INT_V( return xsystem35.midiPlayer.isFading(); );
|
||||
}
|
||||
EM_JS(boolean, midi_fading, (), {
|
||||
return xsystem35.midiPlayer.isFading();
|
||||
});
|
||||
|
||||
+5
-3
@@ -55,11 +55,13 @@ static int loadSysVar(char *buf);
|
||||
static void* loadGameData(int no, int *status, int *size);
|
||||
static int saveGameData(int no, char *buf, int size);
|
||||
|
||||
static void scheduleSync() {
|
||||
#ifdef __EMSCRIPTEN__
|
||||
EM_ASM( xsystem35.shell.syncfs(); );
|
||||
EM_JS(void, scheduleSync, (), {
|
||||
xsystem35.shell.syncfs();
|
||||
});
|
||||
#else
|
||||
#define scheduleSync()
|
||||
#endif
|
||||
}
|
||||
|
||||
/* savefile がある directory を登録 */
|
||||
void save_set_path(char *path) {
|
||||
|
||||
+5
-3
@@ -89,13 +89,15 @@ void sdl_Remove(void) {
|
||||
}
|
||||
|
||||
/* name is UTF-8 */
|
||||
void sdl_setWindowTitle(char *name) {
|
||||
#ifdef __EMSCRIPTEN__
|
||||
EM_ASM_ARGS({ xsystem35.shell.setWindowTitle(UTF8ToString($0)); }, name);
|
||||
EM_JS(void, sdl_setWindowTitle, (char *name), {
|
||||
xsystem35.shell.setWindowTitle(UTF8ToString(name));
|
||||
});
|
||||
#else
|
||||
void sdl_setWindowTitle(char *name) {
|
||||
SDL_SetWindowTitle(sdl_window, name);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Visual に応じて Window を生成する */
|
||||
static void window_init(void) {
|
||||
|
||||
Reference in New Issue
Block a user