Egoboo SVN 2.7.3 bugs

Report bugs, errors and balance issues you may encounter ingame here.

Moderator: Developers

User avatar
Zefz
Squirrel Knight (Administrator)
Squirrel Knight (Administrator)
Posts: 3820
Joined: Wed Jul 23, 2008 1:27 am
Location: Norway
Contact:

Post by Zefz »

Chainsaw wrote:Ulnas in the Soldier starter try to attack braziers.

Fixed.

In the Input control menu, the controller selection scrolls two controllers at once.

Fixed.
bgbirdsey
{]-[0{0|307 (Developer)
{]-[0{0|307 (Developer)
Posts: 1864
Joined: Wed Jul 23, 2008 4:22 am
Location: Minnesota, USA

Post by bgbirdsey »

- Particle reflections do not work. I also noticed that the zreflection value in setup.txt does nothing. I was also wondering what reflection fadeout does? (refador)


I will have to look into why this might not be working. It could be that the logic I used with zreflect might not be working.

refador was a fix for a type of card that doesn't really exist anymore.
User avatar
Zefz
Squirrel Knight (Administrator)
Squirrel Knight (Administrator)
Posts: 3820
Joined: Wed Jul 23, 2008 1:27 am
Location: Norway
Contact:

Post by Zefz »

I checked out your zreflect fix and that wasn't the cause. I changed the zreflect value into a prtreflect since it didn't do anything (and disabling particle reflections seems like a good option).

Ah I see. refador is for fixing Riva TNT video cards. I had one of those... 9 years ago. Well I am in favor for removing obsolete values in the setup.txt to make it tidier and easier for the player to modify. (MAX_VERTRICES, BIT_DEPTH, GOURAD_SHADING)
bgbirdsey
{]-[0{0|307 (Developer)
{]-[0{0|307 (Developer)
Posts: 1864
Joined: Wed Jul 23, 2008 4:22 am
Location: Minnesota, USA

Post by bgbirdsey »

don't remove BIT_DEPTH or GOURAD_SHADING yet?

BIT_DEPTH: I think we will be able to resolve the SDL_image problem. Right now, forcing the screen to be run in 32 bit mode, could mess up some people who have 24-bit depth desktops.

GOURARD_SHADING: being able to switch to flat shading would be a good idea if you were having frame rate problems. flat shading is a bit less gpu intensive. we just need to make a switch for some of the graphics routines based on this setting.
User avatar
Zefz
Squirrel Knight (Administrator)
Squirrel Knight (Administrator)
Posts: 3820
Joined: Wed Jul 23, 2008 1:27 am
Location: Norway
Contact:

Post by Zefz »

I think I read a problem which could cause why Egoboo crashes in non 32-bit modes. I think it was that if Dithering was disabled, OpenGL would have problems making all the needed colors when not in 32-bit mode (since dithering allows low bit palettes to create the illusion of color depth by diffusing pixels). The point being is that I read someone having trouble with this exact problem because dithering wasn't enabled.

Here are some example pics:
Original 32-bit
Image

Picture in 16-bit (no dither)
Image

Picture still in 16-bit, but with dithering enabled
Image
bgbirdsey
{]-[0{0|307 (Developer)
{]-[0{0|307 (Developer)
Posts: 1864
Joined: Wed Jul 23, 2008 4:22 am
Location: Minnesota, USA

Post by bgbirdsey »

32 bit means a 24 bit palette with an 8-bit alpha channel.

Any windows operating system before XP made absolutely no use of the alpha channel. XP makes some use of it to do the cursor shadow, to composite fonts, and some other minor things. Vista uses alpha a lot more to fade windows and some other things.

Most cards only ever supported 8 bit, 16 bit, 24 bit, and 32 bit. Some operating systems and video abstraction software like OpenGL, DirectX, and glx and others allow for other special sub-modes with lower bit depths. Any of these modes between 8 bit and 24 bit (ones that are 16 bit on the card) are called high color modes in win32 language.

I have never heard of an 8-bit mode that is not a 256-color indexed mode. There are some 16 bit modes that allow you to use 65535 indexed colors. I remember doing that using quick basic looooonnnnnggg ago.

A common high-color mode are so-called 15 bit modes (also called 555 since 5 bits of red, 5 bis of green, 5 bits of blue), but since this is implemented within a 16 bit mode on the card, you have one bit left over that might be ignored or used as an alpha bit.

Another common 16-bit mode was 565, where one more bit level was used in the green since our eyes are more sensitive to green and alpha was considered too computationally expensive to actually use.

Dithering is only relevant for anything below 24-bit, but would probably only be used for indexed color modes.

I have not looked into the use of dithering in DirectX 4 or 5, when Aaron was developing Egoboo 1.0, so I don't know what effect dithering was supposed to have.

Since we are basically supporting 24-bit and better graphics cards, we could automatically turn it off if the bit depth is 24 bits or greater.

--------------------------------

On another note, I'm pretty sure that the problem with SDL_image has nothing to do with the screen bit depth. I think it is because we clone the screen info to use to convert the SDL_image info to a GL texture.

So if we load a png, SDL_image used a 32-bit-depth SDL bitmap because there might or might not be alpha stuff in there. Somehow, it is the conversion between what SDL_image gives us and what we expect that's causing the problem. It must be able to be fixed. :)
User avatar
PurpleSquerkle
Massive Gelfeet (Developer)
Massive Gelfeet (Developer)
Posts: 3176
Joined: Wed Jul 23, 2008 4:54 am
Location: Oakland, CA
Contact:

Post by PurpleSquerkle »

Well, I think we can agree that the second picture in your example is infinitely superior due to the fact that it is obviously overflowing with style.

...Sorry, sorry.

I could not resist making that comment.
Even though it really only makes sense to Chainsaw and Woodmouse.



Quick question, though:
Zefz wrote:MAX_VERTRICES


I haven't heard about this in ages (probably not since Zippy); I probably missed something:
How does this work now? What is the vertex limit? Is there one? Why was it ever alterable in the first place? Etc.
User avatar
penguinflyer5234
Sheep (Developer)
Sheep (Developer)
Posts: 3025
Joined: Wed Jul 23, 2008 1:39 am
Location: Best Southwest

Post by penguinflyer5234 »

PurpleSquerkle wrote:What is the vertex limit?


2048 for one model according to the source in Md2.h (it might not be used though)
...
User avatar
Shade
Potion Mimic (Senior Member)
Potion Mimic (Senior Member)
Posts: 7349
Joined: Thu Jul 24, 2008 12:25 pm
Location: Gensokyo

Post by Shade »

With binary #22 and some 500ish revision:
Upon exiting Egoboo, the process still runs and prevents you from starting up Egoboo again. To fix it yourself, you have to terminate the process manually via the task manager currently.
User avatar
penguinflyer5234
Sheep (Developer)
Sheep (Developer)
Posts: 3025
Joined: Wed Jul 23, 2008 1:39 am
Location: Best Southwest

Post by penguinflyer5234 »

Run binary #22 -> Quit -> post log.txt
...
bgbirdsey
{]-[0{0|307 (Developer)
{]-[0{0|307 (Developer)
Posts: 1864
Joined: Wed Jul 23, 2008 4:22 am
Location: Minnesota, USA

Post by bgbirdsey »

How did you exit it the 1st time? Did it crash?
User avatar
Shade
Potion Mimic (Senior Member)
Potion Mimic (Senior Member)
Posts: 7349
Joined: Thu Jul 24, 2008 12:25 pm
Location: Gensokyo

Post by Shade »

Oh, right, the log.

Code: Select all

Starting Egoboo 2.7.0c ...
INFO: Initializing high-performance counter...
INFO: Frequency is 3579545 hz
INFO: Initializing clock services...
INFO: Initializing filesystem services...
INFO: Game directories are:
   Game: D:\Programme\Egoboo 2.6.x (SVN)
   Temp: C:\DOKUME~1\Robert\LOKALE~1\Temp\
   Save: C:\Dokumente und Einstellungen\Robert\Eigene Dateien\egoboo\
   Import: C:\DOKUME~1\Robert\LOKALE~1\Temp\import\
INFO: Initializing SDL_Image version 1.2.7... Success!
INFO: Initializing SDL version 1.2.13... Success!
INFO: Intializing SDL Video... Succeess!
INFO: Intializing SDL Timing Services... Succeess!
INFO: Intializing SDL Event Threading... Succeess!
INFO: Opening SDL Video Mode... Success!
   SDL_GL_DOUBLEBUFFER == 1
   SDL_GL_RED_SIZE     == 8
   SDL_GL_GREEN_SIZE   == 8
   SDL_GL_BLUE_SIZE    == 8
   SDL_GL_ALPHA_SIZE   == 8
   SDL_GL_DEPTH_SIZE   == 32  (z-buffer depth)
INFO: Intializing SDL Joystick... Succeess!
INFO: net_initialize: Networking not enabled.
INFO: Intializing SDL Audio... Succeess!
INFO: Initializing SDL_mixer audio services version 1.2.8... Success!
INFO: Initializing module linking... Success!
INFO: Loading module "advent.mod"
INFO: memory_cleanUp() - Attempting to clean up loaded things in memory... Success!
INFO: Exiting Egoboo 2.7.0c the good way...

The log looks fine though, if you ask me.

@birdsey: No, exiting Egoboo works fine, just as usual; it just won't start up anymore after that because the program quits, but not the process.
(If I try to start Egoboo again while the process still runs, the cursor just turns into a hourglass for a few seconds, then turns back to normal. Nothing else happens.)
User avatar
penguinflyer2222
Queen Penguin (Senior Member)
Queen Penguin (Senior Member)
Posts: 6614
Joined: Wed Jul 23, 2008 1:51 am

Post by penguinflyer2222 »

PurpleSquerkle wrote:Well, I think we can agree that the second picture in your example is infinitely superior due to the fact that it is obviously overflowing with style.

...Sorry, sorry.

I could not resist making that comment.
Even though it really only makes sense to Chainsaw and Woodmouse.

Actually, I think the second picture is pretty cool. Third one too if it didn't have the noticeable green spots.

Anyway, carry on.
......
bgbirdsey
{]-[0{0|307 (Developer)
{]-[0{0|307 (Developer)
Posts: 1864
Joined: Wed Jul 23, 2008 4:22 am
Location: Minnesota, USA

Post by bgbirdsey »

That is odd, because it would normally allow more than one instance of the program to run. Obviously, even if egoboo was able to partially restart, it did not get to the point where the logfile was opened or the old logfile would be erased.

It seems like one of the .dlls is refusing to acknowledge Egoboo. It seems likely that the problem is with a dll, Egoboo asked it to unload and it froze, freezing the old instance of egoboo. Then, it is not allowing a new instance of egoboo to get a handle to the .dll

This seems most likely to me, since inability to load a .dll might have the effect that you describe, and the .dll halting before unloading would freeze egoboo as described.

We can only do something if the .dll was one that zefz custom compiled. But I have no ideas about how this could even be debugged....
User avatar
Zefz
Squirrel Knight (Administrator)
Squirrel Knight (Administrator)
Posts: 3820
Joined: Wed Jul 23, 2008 1:27 am
Location: Norway
Contact:

Post by Zefz »

The only custom compiled .dll we need is SDL_mixer. All the others could be replaced with the "official" .dll files found on the SDL webpage.
Locked