adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-devel] Please hit me hard! All of you!


From: Kai Sterker
Subject: [Adonthell-devel] Please hit me hard! All of you!
Date: Tue, 15 Jan 2002 20:40:50 +0100

Oh my god, you cannot imagine HOW stupid that guy in the mirror is! I could 
beat him day and night for what he did!

Here's the story:

Remember how the audio was stopping shortly after loading a game from the 
start screen? Well, that was sorta fixed after fixing the other audio bug.
But, once I've added the 2 new songs yesterday, it was back, and much worse.
Because this time, SDL froze when loading another game, or when quitting. I 
spent 5 hours debugging yesterday, until I gave up at 1:00. Can't say how 
many times I rewrote part of audio.cc or browsed music.c for a bug in 
SDL_mixer.

Today, I tried again and started looking at all the variables in music.c. For 
some reason, the newly loaded song (that ceased playing after a couple of 
secs) couldn't be faded out completely, and SDL entered an infinite loop in 
the attempt to do so. I discovered that music wasn't active(!) at that point. 
So I set a watchpoint for the variable in question, and here's the result:

[...]
Hardware watchpoint 1: music_active

Old value = 1
New value = 0
Mix_PauseMusic () at music.c:746
746     }
(gdb) bt
#0  Mix_PauseMusic () at music.c:746
#1  0x080e73cf in audio::pause_music () at audio.cc:200
#2  0x080bc2e5 in _wrap_audio_pause_music (self=0x0, args=0x813e26c)
    at py_adonthell_wrap.cc:2267
#3  0x4025dc88 in PyEval_CallObjectWithKeywords ()
    from /usr/lib/libpython2.1.so.0.0
[...]
#14 0x4022f73e in PyObject_CallObject () from /usr/lib/libpython2.1.so.0.0
#15 0x080efb96 in py_callback::make_call (this=0x8455170, arg=0x0)
    at py_callback.cc:80
#16 0x080efa03 in py_callback::callback_func0 (this=0x8455170)
    at py_callback.cc:48
#17 0x0810e483 in MemberTranslator0<py_callback, void (py_callback::*)>::thunk
    (address@hidden) at callback.h:81
#18 0x0810dfdc in Functor0::operator() (this=0x8454ea4) at callback.h:68
#19 0x0810dbf7 in win_event::on_update (this=0x8454e68) at win_event.h:90
#20 0x080dc022 in win_base::update (this=0x8454e68) at win_base.cc:90
[...]

Obviously, the music is paused from one of our python scripts! A quick grep
for 'pause_music" revealed the culprit: init.py!

And who has written init.py? I!

That line removed and - it is working! Guess that's just what I deserve!
All that fuss because of 1 (in words: ONE!) eranouos line of code! I just 
can't calm myself right now ... 


Well, now that this is settled, I'll bring the audio code back in shape and 
commit the new/changed music. That'll take a while, but I'll send a mail when 
finished.

Shit happens, but I hope that is the last time this year ...

Kai



reply via email to

[Prev in Thread] Current Thread [Next in Thread]