interesting rendering problem...

Started by
47 comments, last by cpu 21 years, 9 months ago
Every graphical anomaly described was eradicated, none detected (so far).
This was a good day to... ehm, kill bugs

greetz,
cpu
Advertisement
hey cpu, I just tried on a computer with windows 98 and an ATI Rage 128. The program crahed while starting up. I checked the log file and the last entry said initializing DirectInput... The problem may simply be old drivers, but just wanted to let you know. Glad to hear you squashed the bugs and are seeing no more anomalies.



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

BZZZZTT - CRASH - BANG

"What was that!"

"Captain, it appears that we have encountered a strange sub-space anomaly. I'm getting a high reading of tracheons beams. The anomaly seems to be some kind of rift in the space-time continuum. -- Never mind, Bones was just using the microwave again."

[edited by - DDSquad on July 31, 2002 11:08:08 PM]
-------------------------------------------------------BZZZZTT - CRASH - BANG"What was that?!""Captain, it appears that we have encountered a strange sub-space anomaly. I'm getting a high reading of tracheons beams. The anomaly seems to be some kind of rift in the space-time continuum. -- Never mind, Bones was just using the microwave again."
quote:Original post by DDSquad
hey cpu, I just tried on a computer with windows 98 and an ATI Rage 128. The program crahed while starting up. I checked the log file and the last entry said initializing DirectInput... The problem may simply be old drivers, but just wanted to let you know. Glad to hear you squashed the bugs and are seeing no more anomalies.

Now, that is not good, it really isn''t. I mean the crash, not squashing the bugs.
It crashed another win98 computer I tested it on, too.
I reckon you''re probably not using directx 8.x, are you? If you do, then I don''t know what this is caused by; if you don''t, then I should probably check for the appropriate DX version at runtime...

cpu
Actually it does have DirectX 8.0, so that must not be the problem. I'd say it's a pure compatability problem. You must be using a new API call, or some other issue like this.

[edited by - DDSquad on August 1, 2002 4:11:47 PM]
-------------------------------------------------------BZZZZTT - CRASH - BANG"What was that?!""Captain, it appears that we have encountered a strange sub-space anomaly. I'm getting a high reading of tracheons beams. The anomaly seems to be some kind of rift in the space-time continuum. -- Never mind, Bones was just using the microwave again."
this will possibly start a flamewar, but cpu, i''ll suggest to not support win98 anymore. i hope dos finally can die in peace, its still reanimated for too long. everyone can move to win2000 or winXP if he wants to play games, there are nearly no points in stopping himself. there''s yet quite a lot of stuff not working on non-NT systems anymore anyways.

is the bugfree demo up? i''ll try that one then again..

"take a look around" - limp bizkit
www.google.com
If that's not the help you're after then you're going to have to explain the problem better than what you have. - joanusdmentia

My Page davepermen.net | My Music on Bandcamp and on Soundcloud

quote:Original post by davepermen
this will possibly start a flamewar, but cpu, i''ll suggest to not support win98 anymore. i hope dos finally can die in peace, its still reanimated for too long. everyone can move to win2000 or winXP if he wants to play games, there are nearly no points in stopping himself. there''s yet quite a lot of stuff not working on non-NT systems anymore anyways.

is the bugfree demo up? i''ll try that one then again..


I''m sorry(?) to write this, but I agree - partly. A lot of people still consider win98 a cool, working, modern OS. IMHO, this is incorrect; it''s OK as long as you only play games. WinXP is more close to a Unix type system, with journalling filesystems and this and that. Now this is why I stay away from that oldie OS, but people with less powerful machines, etc. wouldn''t really like to install WinXP as it could run slower than W98. On the other hand, if WinXP runs slow on their machines, then so would the game under Win98... and I agree that quite powerful features are simply missing.
Personally, I would really like to learn how to support both the Win98 and the NT kernels. No document I''ve found states that the initialization method described in the SDK manual actually crashes win98.
Any working example using the DX8 SDK would be appreciated

Now I''ll upload the latest version. It has a mouse cursor that has no use presently.
I also don''t know how to synchronize the cursor with the Windows GUI cursor when not in fullscreen mode, and therefore it''s quite disturbing that you have two cursors moving at different velocities.

New version available as a rar here.
as to not supporting win98.

remember coders if you code like crap, the OS will work like crap. just like anything else. just turns out win98 is more finiky then NT style OSes like winxp and win2k.

your simply doing something wrong. if tons of high end 3d demos have no problem using dx8 on a win98 (winme) pc, then you should not either. also you may want to upgrade to dx8.1 since it does fix a few things.

please post an init method mentioned in the docs that causes a crash. i assume you dont pass bad data nor have anything miscreated. i also assume you check error messages as well.
quote:Original post by davepermen
this will possibly start a flamewar, but cpu, i''ll suggest to not support win98 anymore. i hope dos finally can die in peace, its still reanimated for too long. everyone can move to win2000 or winXP if he wants to play games, there are nearly no points in stopping himself. there''s yet quite a lot of stuff not working on non-NT systems anymore anyways.

is the bugfree demo up? i''ll try that one then again..

"take a look around" - limp bizkit
www.google.com


Better not let my housemates see that! I live in a house of 5 computer scientists and we all run 98

Enigma
quote:Original post by a person
as to not supporting win98.

remember coders if you code like crap, the OS will work like crap. just like anything else. just turns out win98 is more finiky then NT style OSes like winxp and win2k.

your simply doing something wrong. if tons of high end 3d demos have no problem using dx8 on a win98 (winme) pc, then you should not either. also you may want to upgrade to dx8.1 since it does fix a few things.

please post an init method mentioned in the docs that causes a crash. i assume you dont pass bad data nor have anything miscreated. i also assume you check error messages as well.


I know I'm doing something wrong, and I would like to correct it. I think I didn't say that I don't want to support win98...
Here's the init code:

      int DInput::Init(){HRESULT hr;DIPROPDWORD dip;	if (lpdiKeyboard!=NULL) {		return DIN_ALREADY_INIT;	}	//Create the main DirectInput object	hr=DirectInput8Create(hinstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&lpdi, NULL);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not create main DInput object");		return DIN_FATAL_ERROR;	}	//Create the keyboard's device object	hr=lpdi->CreateDevice(GUID_SysKeyboard, &lpdiKeyboard, NULL);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not create keyboard's object");		Shutdown();		return DIN_FATAL_ERROR;	}	//Set the keyboard's data format 	hr=lpdiKeyboard->SetDataFormat(&c_dfDIKeyboard);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set keyboard's data format");		Shutdown();		return DIN_FATAL_ERROR;	}	dip.diph.dwSize=sizeof(DIPROPDWORD);	dip.diph.dwHeaderSize=sizeof(DIPROPHEADER);	dip.diph.dwObj=0;	dip.diph.dwHow=DIPH_DEVICE;	dip.dwData=128;	hr=lpdiKeyboard->SetProperty(DIPROP_BUFFERSIZE, &(dip.diph));	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set keyboard's buffer size");		Shutdown();		return DIN_FATAL_ERROR;	}	//Set the keyboard's cooperation level with your computer's	//environment.	hr=lpdiKeyboard->SetCooperativeLevel(hwnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set keyboard's cooperative level");		Shutdown();		return DIN_FATAL_ERROR;	}	//And finally, acquire the keyboard for use.	hr=lpdiKeyboard->Acquire();	hr=lpdi->CreateDevice(GUID_SysMouse, &lpdiMouse, NULL);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not create mouse object");		Shutdown();		return DIN_FATAL_ERROR;	}	hr=lpdiMouse->SetDataFormat(&c_dfDIMouse2);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set mouse data format");		Shutdown();		return DIN_FATAL_ERROR;	}	hr=lpdiMouse->SetCooperativeLevel(hwnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);	if(FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set mouse cooperative level");		Shutdown();		return DIN_FATAL_ERROR;	}DIPROPDWORD dipdw;	// the header	dipdw.diph.dwSize       = sizeof(DIPROPDWORD);	dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);	dipdw.diph.dwObj        = 0;	dipdw.diph.dwHow        = DIPH_DEVICE;	// the data	dipdw.dwData            = MOUSE_BUFFER_SIZE;	hr = lpdiMouse->SetProperty(DIPROP_BUFFERSIZE, &dipdw.diph);	if (FAILED(hr)) {		LogSysMsg(LOG_FATAL, "Could not set mouse eventbuffer size");		Shutdown();		return DIN_FATAL_ERROR;	}	hr=lpdiMouse->Acquire();	return DIN_OK;}      


I modified the source slightly to be more verbose, and changed the first parameter of DirectInput8Create to GetModuleHandle(NULL). It logs every step into the logfile. The rar file has been updated.
Feel free to test it on any Win98 machine with DX 8.1 and a 3D card!

[edited by - cpu on August 2, 2002 7:44:21 AM]
yay, works great. and its even a dx program that works. cool

just to note, we use all win98 in the company, as we use some old realdos programs, we have to.. and its not _THAT_ much of a problem..

to the statement if you don''t get it working of win98 you do something wrong. partially yes, but partially i know as well as there are much things that you simply have to know as coder, that they don''t work as they should in win98. one is the screen-refresh-frequency-enumeration, wich simply returns nothing in win98, and there are plenty others. if you code in win2000 or winXP most stuff works as it should, and then caring about the win98 "features" is difficult. i just remember the fileenumeration for listboxes wich worked on one but not the other, and much others.. you don''t know that if you don''t use both os'', and how much people do that?!

"take a look around" - limp bizkit
www.google.com
If that's not the help you're after then you're going to have to explain the problem better than what you have. - joanusdmentia

My Page davepermen.net | My Music on Bandcamp and on Soundcloud

This topic is closed to new replies.

Advertisement