Jump to content
The Dark Mod Forums

Recommended Posts

I'm looking for a way to either fix or disable the skybox. I've searched for this topic, and it looks like some ATI cards have the same problem as mine - skybox spins wildly when I pan - and there's really no good way to fix it that always works. So unless that's wrong, I really just want to disable it. I read to disable it you have to rename a folder or comment out a line in an mtr file. I found the folder (by looking in dozens of pk4s - the wiki didn't say which pk4 to look for the folder in), and renamed it, but that had no effect on the skybox. I haven't edited the mtr file because I cannot find it among the dozens of pk4s. Any help is much appreciated - the game is basically unplayable in outdoor areas with the very distracting skybox bug. I've heard disabling catalyst AI is supposed to help, but I don't even have it installed. Here's the wiki page I'm referring to:

 

 

http://wiki.thedarkmod.com/index.php?title=FAQ#The_sky_is_corrupted

 

I could not get this to work, because renaming the folder made no difference, and I cannot find the mtr file. Of course, it could be I was supposed to rename a different folder of the same name in a different pk4. Could someone explain to me what to do to disable (or fix, ideally) the skybox, in a relatively idiot-resistant manner? In other words, tell me the exact path to the pk4 I'm supposed to be looking in, starting in the DOOM 3 DIRECTORY, and the exact path to the folder I'm supposed to rename inside the pk4 (and similar instructions for the mtr file.) All noob-bashing and snide remarks about my intelligence and/or forum-searching skill are welcome, as long as they also contain a potential solution to the problem.

Link to post
Share on other sites

Someone might come up with a better solution but try this for now:

 

Create a new folder in your darkmod folder called materials.

Within it create a plain text file named no_skybox.mtr

Paste in the following:

 

textures/smf/portal_sky
{
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed
noFragment

noimpact
nooverlays
forceOpaque
noShadows
{
	forceHighQuality
	blend add
	cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE
	texgen skybox
	texgen wobblesky .0 .0 .0
}
}

 

I've not tried it myself yet and anyway it is certain to be inconsistent with some FMs as there are many different skies but hopefully it will be better than a spinning sky.

Link to post
Share on other sites

Just tested in the trainer and it does replace the dynamic skybox so it should fix your issue.

 

To expand on what I was saying before, this method will cause other, probably minor issues because there are different sky types.

 

An FM with an industrial skyline will lose those buildings on the horizon. A stormy rainy FM will now have a cloudless static sky.

 

An FM with moonlight streaming in windows might now have the moon in the wrong direction.

 

This method might be used to create several types to accomodate the above but hopefully someone will think up a better solution.

 

Note that many FMs do not have a dynamic skybox. I am assuming that is the only type that causes your problem. Can you confirm that you get this problem in the trainer and Thief's Den 1 but not in say, Chalice of Kings?

Link to post
Share on other sites

Thanks, that actually works perfectly. I can still see the sky, and it doesn't spin. It looks like a plain texture, although a pretty attractive one. I'm guessing this mtr reverts the skybox to some kind of basic texture skybox... ?

 

Edit: Replied at the same time as your last reply. Yes, I get the problem in the trainer and in No Honor Among Thieves part 1 Politics, haven't tried Chalice yet but I will at some point.

Edited by eigenface
Link to post
Share on other sites

You should be OK in Chalice and many other FMs because they do not use this dynamic portal sky. The problem is with this portal sky because the surface of the sky has a portal sky texture that acts like a CCTV screen with the camera in a separate skybox looking at a sky with eg, scrolling cloud textures etc.

 

But many FMs don't use that. Instead they have a fairly static sky directly on the sky surface. They should all work OK and won't be affected by this method. This method only replaces any portal sky texture with a fixed sky. So, in Thief's Den 1 it is very cloudy, stormy, and raining. With this file in place you will still see the rain but I'm afraid it will be clear skies for you! A static cloudy version of this file could be made but you'd have to known when to switch files manually.

Link to post
Share on other sites

Ah it seems that this problem hits Win7 users with an ATI HD 5xxx+ series card.

 

I've reported the issue in my bulk ticket with Doom3/OpenGL issues, there's also been a notice that there are a whole lot of OpenGL fixes coming in the next 2 driver releases. However since I now have one of these cards I can try figuring out a work around since it's not affected by Cat AI anymore, I'll look into CAP and see if there's anything I can do via that :)

Link to post
Share on other sites

Maybe I missed something said in the thread, but have you tried turning Catalyst AI off? That's how a lot of people (including me) have fixed this problem.

 

That works for most people, however it seems that with the 5xxx and 6xxx series this does not work, I have a feeling it has something to do with the problem that ATI has with id games only supporting a fixed length of OpenGL extensions, in q1/q2 and a few games based on engines around there the games don't actually start rendering correctly. I have a feeling that ATI got around that by using what nvidia does and just giving it a short legacy list, however that doing this is breaking the disabling of CatAI in some way. I've actually just spent 30 min looking at how to get this fixed and I think I have a plan using CAP profiles, and should that work it shouldn't be too hard to get them to add the required bits to the doom3 profile. Just need a way to work out some of the undocumented names and such... will shout if anything happens.

 

And I might even be able to disable the power crap that stops me from using photoshop/doom without crashing at the same time! :)

Link to post
Share on other sites

When I first encountered this issue I thought that disabling Catalyst AI didn't work, but then discovered that the Catalyst Control Center wasn't actually turning it off, even though it was saying it had. Installing the ATI Tray Tools instead allowed me to turn off Catalyst AI correctly and solve the problem.

 

I have a feeling it has something to do with the problem that ATI has with id games only supporting a fixed length of OpenGL extensions, in q1/q2 and a few games based on engines around there the games don't actually start rendering correctly. I have a feeling that ATI got around that by using what nvidia does and just giving it a short legacy list, however that doing this is breaking the disabling of CatAI in some way.

 

That's interesting -- so these games are using a fixed (and too small) buffer to retrieve the extension string, and therefore rely on the driver manufacturers to fix the bug by returning an artifically-reduced set of extensions instead?

 

Have they not heard of GLEW?

Link to post
Share on other sites

That's interesting -- so these games are using a fixed (and too small) buffer to retrieve the extension string, and therefore rely on the driver manufacturers to fix the bug by returning an artifically-reduced set of extensions instead?

 

From a post over on the Rage3D forums:

glConfig is declared in src/renderer/tr_init.c. More importantly the structure glConfig_t is defined in src/cgame/tr_types.h

The extension string is currently set to 4K, with a comment showing that it was originally 2k and they were seeing problems. Interestingly the copy is done right. The new OpenGl 4.0 driver from ATI may return more than 4k of extension strings, but the game only copies (4k - 1) and then terminates the string properly. So it's not a buffer corruption. More likely the game init code can't figure out what to do with the partial string.

 

Fixing it would require changing line 283 of tr_types.h from

char extensions_string[4 * MAX_STRING_CHARS];

to

char extensions_string[bigger-number * MAX_STRING_CHARS];

 

Additional change could be to detect the size of the opengl driver string and raise proper error.

 

The post mostly refers to Quake3, however it seems some other games silently fail or have trouble using extensions(I assume truncated). I'm pretty sure that this is the case with non-power-of-two crashes and spinning skyboxes etc.

 

On nvidia drivers there's an option for 'Extension limit' to force a max length as well as some built in profiles for games/apps they know need specific lengths. I think there's a similar option in the CAP profiles on AMD, but I need to do a bit more digging there after my next paper. AMD also said they have fixed a number of these problems, given their 2 month lead time on driver releases there should be something out in either the next release or following that.

Link to post
Share on other sites

From a post over on the Rage3D forums:

 

Could you please file a bug tracker entry? Raising the buffer size to 16K (and detecting an overflow) or some "soft" limit should be done, this can only get worse with newer drivers and hardware.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to post
Share on other sites
  • 3 months later...

FYI, this skybox bug is fixed now for me. Not sure what exactly did it. Before, I had an older driver version and no catalyst control center installed (not sure what that means for catalyst AI.) Since then I've updated my driver, still no catalyst control center, but now I've installed radeonpro and disabled catalyst AI that way.

Link to post
Share on other sites

FYI, this skybox bug is fixed now for me. Not sure what exactly did it. Before, I had an older driver version and no catalyst control center installed (not sure what that means for catalyst AI.) Since then I've updated my driver, still no catalyst control center, but now I've installed radeonpro and disabled catalyst AI that way.

 

I believe some newer drivers/control centers allow to limit the string returned by the driver, either by application (e.g. "for foo, only return the relevant info") or globally. Would still be good if TDM did not require such hacks, esp. as they are only triggered when the driver knows its running Doom3.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...