Re: [Super-tux-devel] a little patch
Brought to you by:
wkendrick
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 |