--- Begin Message ---
Subject: |
Hang after hitting monster with overfull screen |
Date: |
Thu, 27 Sep 2012 08:17:39 +0200 |
Package: freedink-engine
Version: 1.08.20120427-2
Severity: normal
Tags: patch
When hitting a monster on a full screen, spr[0].seq is filled with a non-zero
value. This makes dink hang the next time he triggers a warp on a type 2
sprite.
traceback with a watchpoint on spr[0].seq:
(gdb) run -g ~/dmods/4towers -w
Starting program:
/home/shevek/src/git/pydink/dink-source/freedink-1.08.20100420/src/freedink
-g ~/dmods/4towers -w
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[New Thread 0xb6f5cb70 (LWP 4604)]
[New Thread 0xb2470b70 (LWP 4605)]
[Thread 0xb2470b70 (LWP 4605) exited]
[New Thread 0xb2470b70 (LWP 4606)]
....
(gdb) watch spr[0].seq
Hardware watchpoint 3: spr[0].seq
(gdb) c
Continuing.
[ERROR] [DinkC] boss-splitbug:34: out of var space, all 250 used
[ERROR] [DinkC] boss-splitbug:34:[var_equals]: unknown var &crap
[ERROR] [DinkC] boss-splitbug:34: out of var space, all 250 used
[ERROR] [DinkC] boss-splitbug:34:[var_equals]: unknown var &crap
Hardware watchpoint 3: spr[0].seq
Old value = 0
New value = 189
random_blood (mx=607, my=349, sprite=232) at dinkvar.c:3939
3939 if (sprite > 0)
(gdb) bt
#0 random_blood (mx=607, my=349, sprite=232) at dinkvar.c:3939
#1 0x08074dfc in run_through_tag_list (h=1, strength=6) at freedink.c:3737
#2 0x0807890b in updateFrame () at update_frame.c:615
#3 0x0804bbcd in main (argc=4, argv=0xbffff2a4) at freedink.c:5027
(gdb) l
3934 int crap2 = add_sprite(mx,my,5,myseq,1);
3935 spr[crap2].speed = 0;
3936 spr[crap2].base_walk = -1;
3937 spr[crap2].nohit = 1;
3938 spr[crap2].seq = myseq;
3939 if (sprite > 0)
3940 spr[crap2].que = spr[sprite].y+1;
3941
3942 }
3943
In other words, the solution is to let random_blood check if the sprite can be
created (that is, crap2 != 0), and if not, don't fill its members. I've
attached a patch.
Thanks,
Bas
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-3-686-pae (SMP w/2 CPU cores)
Locale: LANG=nl_NL.UTF-8, LC_CTYPE=nl_NL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages freedink-engine depends on:
ii fonts-liberation [ttf-liberation] 1.07.2-5
ii freedink-data 1.08.20111016-1
ii freepats 20060219-1
ii libc6 2.13-35
ii libfontconfig1 2.9.0-7
ii libsdl-gfx1.2-4 2.0.23-2
ii libsdl-image1.2 1.2.12-2
ii libsdl-mixer1.2 1.2.12-3
ii libsdl-ttf2.0-0 2.0.11-2
ii libsdl1.2debian 1.2.15-5
ii ttf-liberation 1.07.2-5
Versions of packages freedink-engine recommends:
ii freedink-dfarc 3.10-1
freedink-engine suggests no packages.
-- no debconf information
hang.patch
Description: Text Data
--- End Message ---
--- Begin Message ---
Subject: |
Bug#688934: fixed in freedink 1.08.20121209-1 |
Date: |
Sun, 09 Dec 2012 18:32:38 +0000 |
Source: freedink
Source-Version: 1.08.20121209-1
We believe that the bug you reported is fixed in the latest version of
freedink, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to address@hidden,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Sylvain Beucler <address@hidden> (supplier of updated freedink package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing address@hidden)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 09 Dec 2012 18:09:55 +0100
Source: freedink
Binary: freedink-engine freedink-engine-dbg freedink
Architecture: source amd64 all
Version: 1.08.20121209-1
Distribution: experimental
Urgency: low
Maintainer: Debian Games Team <address@hidden>
Changed-By: Sylvain Beucler <address@hidden>
Description:
freedink - adventure and role-playing game
freedink-engine - adventure and role-playing game (engine)
freedink-engine-dbg - debugging symbols for freedink
Closes: 688934
Changes:
freedink (1.08.20121209-1) experimental; urgency=low
.
* New Upstream Version (Closes: #688934)
* Remove patch for install-reloc (integrated upstream)
Checksums-Sha1:
9eb9ec7358d9d43f8eeb658e6ebdfaa8a199e2ff 1571 freedink_1.08.20121209-1.dsc
b160d005fa0ef11a3bbe5bb2bfaa22dca483ef5e 1853822
freedink_1.08.20121209.orig.tar.gz
63170786804faec5d7187c5ad0a9f37d9b1fbb30 9078
freedink_1.08.20121209-1.debian.tar.gz
d48029ae888ca71abe414c67fab391edb06b97d6 339156
freedink-engine_1.08.20121209-1_amd64.deb
0a6a4c934df88134ddb6c37dc5ebae940e0b8b95 553138
freedink-engine-dbg_1.08.20121209-1_amd64.deb
9d620f8d911faa2faf4cb496345798ae5a784191 1022 freedink_1.08.20121209-1_all.deb
Checksums-Sha256:
76e6009d2ec26d0197bae19a794207caab27ddd566cd7a93627a43f94d34475b 1571
freedink_1.08.20121209-1.dsc
196bfcc7b874c2fb9ac94d663f14fb759e644cc2400f77f734a098ca568dbda7 1853822
freedink_1.08.20121209.orig.tar.gz
6dd9d594213b21fdc0f8317336912d0df0a70463c7069afe95c612662cabcef3 9078
freedink_1.08.20121209-1.debian.tar.gz
7dd4e2c6e4438de6aabbb8b4a35503065ec147ceabf7a2a7845523f7d54f09ab 339156
freedink-engine_1.08.20121209-1_amd64.deb
ad8a4fbb2df30b70902c17bba33fda1196c558618812ad990ef35bb99d3bab5d 553138
freedink-engine-dbg_1.08.20121209-1_amd64.deb
f0144ad8c69a86bc567ac3019244b27111692eb2670e6218a671ab0834c1bce0 1022
freedink_1.08.20121209-1_all.deb
Files:
16b863be49e15216b3cd39f1b3e04831 1571 games extra freedink_1.08.20121209-1.dsc
c63fe38ab68158ded2a8039cbec2c8e3 1853822 games extra
freedink_1.08.20121209.orig.tar.gz
58d779edc9a21164e1878d5f547d29e2 9078 games extra
freedink_1.08.20121209-1.debian.tar.gz
6dfe5cd581841451cb059b37332e1da9 339156 games extra
freedink-engine_1.08.20121209-1_amd64.deb
fa41fdccd81c4c6ff0c4a6cde1a3b49d 553138 debug extra
freedink-engine-dbg_1.08.20121209-1_amd64.deb
cbb4586d6ff44165fb4361146c14a1ae 1022 games extra
freedink_1.08.20121209-1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEARECAAYFAlDE0yoACgkQcllesYFwS5PhigCeOnFrc6aVY6pQofQDFIGPmS4c
/t0An2OVjz0nU/YNF8h1r+vOYsjvjg0h
=upQh
-----END PGP SIGNATURE-----
--- End Message ---