Thread: [Super-tux-devel] a little patch
Brought to you by:
wkendrick
From: Enrico K. <enr...@gm...> - 2005-04-04 20:02:08
|
Hello, Here is my first patch to supertux ( I'm en453 in irc), it just makes the jumper badbuddy play a sound with volume based on the distance to the player. I would be glad if you gave me dev-access to the recently made BerliOS cvs repository. I got this doing "cvs diff" from the supertux directory. enrico2@linux:~/supertux-cvs/supertux> cvs diff ? data/images/SuperTux.xpm ? lib/special/.sprite.cpp.swp ? src/badguy/.jumpy.cpp.swp cvs diff: Diffing . cvs diff: Diffing contrib cvs diff: Diffing contrib/images cvs diff: Diffing contrib/images/shared cvs diff: Diffing contrib/music cvs diff: Diffing contrib/old cvs diff: Diffing contrib/old/background cvs diff: Diffing contrib/old/icons cvs diff: Diffing contrib/old/misc cvs diff: Diffing contrib/old/shared cvs diff: Diffing contrib/old/tiles cvs diff: Diffing data cvs diff: Diffing data/images cvs diff: Diffing data/images/background cvs diff: Diffing data/images/editor cvs diff: Diffing data/images/fonts cvs diff: Diffing data/images/icons cvs diff: Diffing data/images/leveleditor cvs diff: Diffing data/images/shared cvs diff: Diffing data/images/shared/bell cvs diff: Diffing data/images/shared/bigtux cvs diff: Diffing data/images/shared/smalltux cvs diff: Diffing data/images/status cvs diff: Diffing data/images/tilesets cvs diff: Diffing data/images/title cvs diff: Diffing data/images/worldmap cvs diff: Diffing data/levels cvs diff: Diffing data/levels/bonus1 cvs diff: Diffing data/levels/contribs cvs diff: Diffing data/levels/misc cvs diff: Diffing data/levels/test cvs diff: Diffing data/levels/world1 cvs diff: Diffing data/levels/world2 cvs diff: Diffing data/locale cvs diff: Diffing data/music cvs diff: Diffing data/sounds cvs diff: Diffing docs cvs diff: Diffing intl cvs diff: Diffing lib cvs diff: Diffing lib/app cvs diff: Diffing lib/audio cvs diff: Diffing lib/gui cvs diff: Diffing lib/lisp cvs diff: Diffing lib/math cvs diff: Diffing lib/special cvs diff: Diffing lib/utils cvs diff: Diffing lib/video cvs diff: Diffing m4 cvs diff: Diffing mk cvs diff: Diffing mk/autoconf cvs diff: Diffing mk/jam cvs diff: Diffing obj cvs diff: Diffing po cvs diff: Diffing src cvs diff: Diffing src/badguy Index: src/badguy/jumpy.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/badguy/jumpy.cpp,v retrieving revision 1.9 diff -r1.9 jumpy.cpp 45a46,59 > // setting the sound volume according to the distance > // to the player > float xdistance = fabs(Sector::current()->player->get_pos().x - get_pos().x); > float ydistance = fabs(Sector::current()->player->get_pos().y - get_pos().y); > // the classic pythagoras... > float distance = (sqrt(xdistance*xdistance+ydistance*ydistance)); > // compute volume based on distance (32 turned out to be a good number) > float volume = MIX_MAX_VOLUME - (int)(distance/(MIX_MAX_VOLUME/32)); > if (volume < 0) volume = 0; > if (volume > MIX_MAX_VOLUME) volume = MIX_MAX_VOLUME; > Mix_Chunk* soundToPlay = IDToSound(SND_SKID); // use existing sound-file to > // (to save disk memory and work + sounds pretty good) > Mix_VolumeChunk(soundToPlay, (int)volume); > SoundManager::get()->play_sound(soundToPlay); cvs diff: Diffing src/object cvs diff: Diffing src/trigger cvs diff: Diffing tools cvs diff: Diffing tools/innosetup cvs diff: Diffing tools/tilemanager enrico2@linux:~/supertux-cvs/supertux> |
From: Matze B. <ma...@br...> - 2005-04-04 21:43:03
|
Am Montag, den 04.04.2005, 22:02 +0200 schrieb Enrico Kravina: > Hello, Here is my first patch to supertux ( I'm en453 in irc), it just > makes the jumper badbuddy play a sound with volume based on the > distance to the player. I would be glad if you gave me dev-access to > the recently made BerliOS cvs repository. I got this doing "cvs diff" > from the supertux directory. Please use "cvs diff -u" it's considerably easier to read! Some comments about the patch are below. About cvs write access I'd say we wait for a few more patches until you know the code better. > > enrico2@linux:~/supertux-cvs/supertux> cvs diff > ? data/images/SuperTux.xpm > ? lib/special/.sprite.cpp.swp > ? src/badguy/.jumpy.cpp.swp > cvs diff: Diffing . > cvs diff: Diffing contrib > cvs diff: Diffing contrib/images > cvs diff: Diffing contrib/images/shared > cvs diff: Diffing contrib/music > cvs diff: Diffing contrib/old > cvs diff: Diffing contrib/old/background > cvs diff: Diffing contrib/old/icons > cvs diff: Diffing contrib/old/misc > cvs diff: Diffing contrib/old/shared > cvs diff: Diffing contrib/old/tiles > cvs diff: Diffing data > cvs diff: Diffing data/images > cvs diff: Diffing data/images/background > cvs diff: Diffing data/images/editor > cvs diff: Diffing data/images/fonts > cvs diff: Diffing data/images/icons > cvs diff: Diffing data/images/leveleditor > cvs diff: Diffing data/images/shared > cvs diff: Diffing data/images/shared/bell > cvs diff: Diffing data/images/shared/bigtux > cvs diff: Diffing data/images/shared/smalltux > cvs diff: Diffing data/images/status > cvs diff: Diffing data/images/tilesets > cvs diff: Diffing data/images/title > cvs diff: Diffing data/images/worldmap > cvs diff: Diffing data/levels > cvs diff: Diffing data/levels/bonus1 > cvs diff: Diffing data/levels/contribs > cvs diff: Diffing data/levels/misc > cvs diff: Diffing data/levels/test > cvs diff: Diffing data/levels/world1 > cvs diff: Diffing data/levels/world2 > cvs diff: Diffing data/locale > cvs diff: Diffing data/music > cvs diff: Diffing data/sounds > cvs diff: Diffing docs > cvs diff: Diffing intl > cvs diff: Diffing lib > cvs diff: Diffing lib/app > cvs diff: Diffing lib/audio > cvs diff: Diffing lib/gui > cvs diff: Diffing lib/lisp > cvs diff: Diffing lib/math > cvs diff: Diffing lib/special > cvs diff: Diffing lib/utils > cvs diff: Diffing lib/video > cvs diff: Diffing m4 > cvs diff: Diffing mk > cvs diff: Diffing mk/autoconf > cvs diff: Diffing mk/jam > cvs diff: Diffing obj > cvs diff: Diffing po > cvs diff: Diffing src > cvs diff: Diffing src/badguy > Index: src/badguy/jumpy.cpp > =================================================================== > RCS file: /cvsroot/super-tux/supertux/src/badguy/jumpy.cpp,v > retrieving revision 1.9 > diff -r1.9 jumpy.cpp > 45a46,59 > > // setting the sound volume according to the distance > > // to the player > > float xdistance = fabs(Sector::current()->player->get_pos().x - get_pos().x); > > float ydistance = fabs(Sector::current()->player->get_pos().y - get_pos().y); > > // the classic pythagoras... > > float distance = (sqrt(xdistance*xdistance+ydistance*ydistance)); > > // compute volume based on distance (32 turned out to be a good number) > > float volume = MIX_MAX_VOLUME - (int)(distance/(MIX_MAX_VOLUME/32)); > > if (volume < 0) volume = 0; > > if (volume > MIX_MAX_VOLUME) volume = MIX_MAX_VOLUME; > > Mix_Chunk* soundToPlay = IDToSound(SND_SKID); // use existing sound-file to > > // (to save disk memory and work + sounds pretty good) > > Mix_VolumeChunk(soundToPlay, (int)volume); > > SoundManager::get()->play_sound(soundToPlay); Ther's already a function to set sound volume based on distance SoundManager::play_sound so there's no need to reimplement that here. And well the skidding sound is kinda stupid for jumpy... Greetings, Matze |