//--------------------------- Sound PyObject* LMF_SoundLoad (PyObject *self, PyObject *args){ char* cPath; if (!PyArg_ParseTuple(args, "s", &cPath)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int SoundID = SoundLoad(cPath); return Py_BuildValue("i", SoundID); }
void LoadResourceSOUND(const char *path_name, int surface) { int i; //if(MuteLog) return; EffectsOff(); XBuffer buf; XStream ff(0); for(i = 0; i < EFF_MAX; i++) { if ((SndData[i].status & LOCAL_SOUND) && SndData[i].lpDSB && surface) { SoundRelease(SndData[i].lpDSB); SndData[i].lpDSB = NULL; } buf.init(); if((i == EFF_DRIVING) || (i == EFF_START) || (i == EFF_STOP)) { if(EngineNoise) { buf < "resource/sound/effects" < "/" < SndData[i].fname < ".wav"; } else { continue; } } else { buf < path_name < "/" < SndData[i].fname < ".wav"; } if(ff.open(buf.GetBuf(),XS_IN)) { ff.close(); if (SndData[i].lpDSB) { SoundRelease(SndData[i].lpDSB); SndData[i].lpDSB = NULL; } SoundLoad(buf.GetBuf(),&SndData[i].lpDSB); } //std::cout<<"file:"<<buf.GetBuf()<<" addr:"<<SndData[i].lpDSB<<std::endl; } EffectsOn(surface); sndBackgroundMax = sndStepMax = sndScratchMax = 0; for(i = EFF_BACKGROUND_0; i <= EFF_BACKGROUND_5; i++) if(SndData[i].lpDSB) sndBackgroundMax++; for(i = EFF_STEP0; i <= EFF_STEP2; i++) if(SndData[i].lpDSB) sndStepMax++; for(i = EFF_SCRATCH0; i <= EFF_SCRATCH1; i++) if(SndData[i].lpDSB) sndScratchMax++; }
void LoadMotorSound(void) { XBuffer buf; XStream ff(0); for(int i = 0; i < 3; i++) { buf.init(); if(EngineNoise) buf < "resource/sound/effects/" < "/" < SndData[i].fname < ".wav"; if(ff.open(buf.GetBuf(),XS_IN)) { ff.close(); if (SndData[i].lpDSB) { SoundStop(SndData[i].channel); SoundRelease(SndData[i].lpDSB); SndData[i].lpDSB = NULL; } SoundLoad(buf.GetBuf(),&SndData[i].lpDSB); } } // end for i }
void SFxInit( void) { SoundLoad("BRICKS"); SoundLoad("FIRE"); SoundLoad("MOVE"); SoundLoad("HEAD"); SoundLoad("TURN"); SoundLoad("ENDLEV"); SoundLoad("DIE"); SoundLoad("ANTI1"); SoundLoad("ANTI2"); SoundLoad("DEFLB"); SoundLoad("LASER2"); SoundLoad("PUSH2"); SoundLoad("PUSH1"); SoundLoad("ROTATE"); SoundLoad("PUSH3"); SoundLoad("SINK"); if (SFXError) MessageBox(0,"Loading Error","SFx Error",MB_OK); }