pingus-devel
[Top][All Lists]
Advanced

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

Re: [Bug #1999] Pingus Crashes with segmentation fault, while bashing ou


From: Ingo Ruhnke
Subject: Re: [Bug #1999] Pingus Crashes with segmentation fault, while bashing out of right screen
Date: 18 Dec 2002 12:19:25 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Gervase Lam <address@hidden> writes:

> Along the side of the level, I'd prefer something similar to the
> original Lemmings. Touch (i.e. "Fall off") the sides of the level
> and the Pingu dies.

Me too, the current behaviour is more the random result of some colmap
changes, than the intended behaviour.

> In the original Lemmings, touching the top of the screen meant that the
> Pingu also died.  My preference would be to have nothing along the top of
> the screen.

ColMap::get_pixel() returns a out-of-screen if the coordinate is out
of screen, but that isn't really perfect, since Pingus die instantly
when they touch the border, not after they have fallen completly out
of screen, therefore the colmap should probally have a border of 32
pixel at the bottom, so that the Pingus can fall out of the screen,
before they get removed. Not sure what left/right border should be,
'air' would look stupid, so would 'out-of-screen'.

So the colmap should look like this:

+----------------------------------+
|        Out-Of-Screen             |
|  +-------------------------------+
|  |          Air                  | |
|  |--------------------------------|
|  | ? |                        |  |
|  | ? |  Real Colmap          |  |
|  | ? |                        |  |
|  | ? |                      |  |
|  | ? |                      |  |
+-------------------------------+

> For example, in desert1.xml, the top of the level is the sky. In
> this instance, it would seem a bit stupid to me if a Bridger all of
> a sudden stopped because it hit the top of the screen.

The top part of the colmap should be either simply 'air', so that
Pingus simply will fall down once they reached it, since stuff isn't
buildable out of screen.

> But I'm not too sure how this affects playability considering you'll be
> able to have Pingus doing something off the level and therefore can't be
> seen.

Pingus can't do anything out of the level beside falling, the
out-of-screen colmap is read-only.

> Ingo, what's your opinion?

The segfault itself has another cause, its simply a buffer-overflow in
the blitting code, something there doesn't check for
(x > width) || (y > height) and simply writes bejoint the
boundaries -> crash.

--
WWW:      http://pingus.seul.org/~grumbel/
Games:    http://pingus.seul.org/~grumbel/gamedesigns/
JabberID: address@hidden
ICQ:      59461927



reply via email to

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