[Top][All Lists]
[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
- [Adonthell-devel] Please hit me hard! All of you!,
Kai Sterker <=