Author Topic: I believe I figured out my bug!  (Read 1537 times)

Sickboy

  • Traveller
  • *
  • Posts: 21
    • View Profile
I believe I figured out my bug!
« on: December 05, 2002, 01:37:58 am »
I dont know if this is applicable for everyone, but it sure worked for me.

Clients running in 32 bit color, Open GL mode, with Nvidia based cards seem to have the most problems.  Setting color depth back to 16 bit cleared the problem up for me.  In case you dont remember or never saw in the first place, my problem was that upon connecting, I would crash to desktop upon initializing world.  It would seem that the client not only is capable of running in 32 bit color when that config is used, it EXPECTS to be in 32 bit color (or, it could be OpenGL and Nvidia cards is expecting it.  I don\'t really know).  Since the server only has 16 bit color right now, it causes a conflict (Memory instruction at 0x00426a20 referencing memory at 0x6968742c, which does not exist due to being 16 bit color.  The program (or OGL+Card) assumes that it will be 32 bit color it is recieving in the game world, and it isnt).

Just theory, mind you.  I havn\'t debugged the source/memory dumps and looked.
« Last Edit: December 05, 2002, 01:45:03 am by Sickboy »
There are 10 kinds of people in this world.  Those that understand binary, and those that dont.

Vengeance

  • Veteran
  • *
  • Posts: 1452
    • View Profile
(No subject)
« Reply #1 on: December 05, 2002, 04:58:49 am »
There is a bug with changing modes on certain video cards, so you could be partially right.  However the server has nothing to do with it.

maybe others with crashing problems can try that tip and see if it helps?

- Venge

Sickboy

  • Traveller
  • *
  • Posts: 21
    • View Profile
(No subject)
« Reply #2 on: December 06, 2002, 05:38:27 am »
Well, technically what I was saying meant that the client or graphics card was causing the problem when it expected 32 bit graphical information, not the server.

Again, this was all a guess.  I have replicated at work today the problem, using a different OS+System but using the same type (Geforce OpenGL mode with 32bit color) and again corrected it by changing the config to 16 bit.
There are 10 kinds of people in this world.  Those that understand binary, and those that dont.

og

  • Wayfarer
  • *
  • Posts: 1
    • View Profile
the bug
« Reply #3 on: December 07, 2002, 04:26:15 am »
Sickboy, i have had the same bug as you. The way to fix this, is to right click psclient.exe --->properties--->compatibility tab. Then check the \"run in compatibility mode for:\" box and then select win98/ME , this will make it so you wont crash when you try to login on a win XP machine

Link

  • Hydlaa Notable
  • *
  • Posts: 895
    • View Profile
(No subject)
« Reply #4 on: December 07, 2002, 12:52:11 pm »
I have ran it on Windows 2000 with the configuration set to 32 bit color and also windows set to 32 bit color, if it works on Windows 2000 I don\'t see why it wouldn\'t in XP, I will try it later on my laptop with XP.
The Great Linksunius

panthacold

  • Wayfarer
  • *
  • Posts: 2
    • View Profile
(No subject)
« Reply #5 on: December 11, 2002, 08:56:34 am »
well it seems that (like always) im the lucky guy...i have xp and a nvidia card so that makes me double bugged...tnx a lot for this post it helped now the game works for me...and yes if you have xp and nvidia you only have to change to 16 bits color...and if you are having problems using xp change compatibilaty to windows 98/me instead of 95....tnx a lot for the post

Link

  • Hydlaa Notable
  • *
  • Posts: 895
    • View Profile
(No subject)
« Reply #6 on: December 11, 2002, 09:23:45 am »
Quote
Originally posted by panthacold
and yes if you have xp and nvidia you only have to change to 16 bits color


Do not assume for a fact that, that is the problem, there are many more variables that could effect the program.
The Great Linksunius

Sickboy

  • Traveller
  • *
  • Posts: 21
    • View Profile
(No subject)
« Reply #7 on: December 27, 2002, 12:09:27 am »
Quote
Originally posted by og
Sickboy, i have had the same bug as you. The way to fix this, is to right click psclient.exe --->properties--->compatibility tab. Then check the \"run in compatibility mode for:\" box and then select win98/ME , this will make it so you wont crash when you try to login on a win XP machine


Umm.... og.... I\'m not running Windows XP.  I\'m running Windows 2000 server.  Windows 2000 is NOT XP.
There are 10 kinds of people in this world.  Those that understand binary, and those that dont.

Link

  • Hydlaa Notable
  • *
  • Posts: 895
    • View Profile
(No subject)
« Reply #8 on: December 27, 2002, 12:14:02 am »
To get compatibility mode in 2000 you need to turn it on if it isn\'t already on, search on google for the run command, but it isn\'t like the Windows XP one, it is beta and doesn\'t normally work right.
The Great Linksunius

Sickboy

  • Traveller
  • *
  • Posts: 21
    • View Profile
(No subject)
« Reply #9 on: December 27, 2002, 12:16:25 am »
After some playing, hacking, and testing, I\'ve figured something out.

When running any NT based OS, being Windows NT, Windows 2000, or Windows XP, AND you have a Geforce 4 card, due to the way the program is parsing the programmatical instructions it will die if the server is not giving it what it expects.  If the config file says that there will be 32 bit color textures et al, then the OS/Hardware expects there to be 32 bit color.  Since the server is only at this point passing 16 bit color, it generates an unhandled exception, due to the fact that it is trying to generate XYZ polygons without enough data to do so.

Think of it this way.  Im going to generate a 1 by 1 by 1 polygon.  To do so in 32 bit color requires that at least 96 bits of information (enough to color each side in).  The game knows this, the rendering engine knows this, so it requests the information from the server.  The server sends back only 48 bits and signals for an end to the transfer.  The rendering engine goes WHAT?  No way dude, resend (thus the reason why it takes so long for the program to die).  After finally figuring out that hey buddy, that\'s all thats coming, the program says fine, thats not enough, I cannot render, and errors to desktop with an unhandled unspecified error.

However.  Set your color depth to 16 bit, and the program knows that it only needs X amount of data to fill the vertices.  The server IS sending 16 bit data, so, the program gets happy.

Clearer now?
There are 10 kinds of people in this world.  Those that understand binary, and those that dont.