func doInit(_data) if(pos("fmodex", LIBS) == 0) LIBS += " -lfmodex" end lng.include('fmod.h') fvar(fsys) fsys = FMOD_Init lng.decl_priv_var(fsys, 'FMOD_SYSTEM*') lng.decl_loc_var(res, 'FMOD_RESULT') println(res + ' = FMOD_System_Create(&' + fsys + ');') println('if(' + res + ' == FMOD_OK) {') block.inclvl() println(res + ' = FMOD_System_Init(' + fsys + ', ' + MaxChannels + ', FMOD_INIT_NORMAL, 0);') println(res + ' = FMOD_System_SetSpeakerMode(' + fsys + ', FMOD_SPEAKERMODE_' + code(upper(SpeakerMode)) + ');') event(onInit) block.declvl() if(linked(onError)) println('} else {') block.inclvl() event(onError, res@int ^ ('FMOD_ErrorString(' + res + ')')@str) block.declvl() end println('}') end