Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → LucasArts was too lazy to fix Jedi Knight, so we did
123
LucasArts was too lazy to fix Jedi Knight, so we did
2009-09-25, 6:39 AM #1
ZeqMacaw and I have been working on a wrapper for the Direct3D part of Jedi Knight. Zeq gave me a build of it this morning that fixes the awful HOM-like artifacts that most people see with newer video cards when using 3D acceleration.

I did some initial research into the problem but Zeq has done most of the work to make it happen, so credit goes to him. :)

Basically, there's a function called in DX5 that is broken on newer video drivers. The fix is a wrapper for ddraw.dll that wraps calls from DirectX to DirectX 7, where a different, non-broken function can be called. Once a full wrapper is implemented, we should be able to add other, minor graphical features to JK. So essentially it is a replacement ddraw.dll file that goes in your JK directory. Should work with the Steam versions, too.

I don't know the status of the fix so I haven't uploaded it, but something should be available soon.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 7:11 AM #2
Good work you two! :D
2009-09-25, 7:17 AM #3
Great, I'm definitely looking forward to this. Definitely good work.
2009-09-25, 8:10 AM #4
That totally rocks.
2009-09-25, 8:28 AM #5
Zeq, I am your #1 fan. :)
My favorite JKDF2 h4x:
EAH XMAS v2
MANIPULATOR GUN
EAH SMOOTH SNIPER
2009-09-25, 8:36 AM #6
I'm assuming the HOM effect is mostly prevalent on ATI video cards... I have 3d acceleration working on my mobile Nvidia card.

I'm still all for some updated DX improvements though. If it works out you might be able to start adding things like HDR or other post-processing effects like they have done in older Unreal games with wrappers.
2009-09-25, 8:48 AM #7
Unreal doesn't need wrappers, it has a plugin system for rendering so anyone can write their own renderer.

2009-09-25, 9:02 AM #8
I see... my bad
2009-09-25, 9:04 AM #9
if only lucasarts and steam had worked together on jk for more then the day it took to hack the exe...
Holy soap opera Batman. - FGR
DARWIN WILL PREVENT THE DOWNFALL OF OUR RACE. - Rob
Free Jin!
2009-09-25, 9:11 AM #10
Nice guys! I thought the wrapper would be a good start for this, but I certainly had no idea what to do with it. Did you guys figure anything out for the HUD?

If you could fix the broken dithering on DX10 hardware with it that would be awesome. Timeslip fixed this for dark engine games by forcing the games to a 32-bit render target. Not sure if that is outside the scope or not.

Still, really awesome that you could get something happening with the horrible HOM problem. Let me know if you need anyone to do any testing. I have an HD4850, x1800, 7200gs and x1900 cards. I'm only experiencing problems on the former of course.

The HOM effect seems to only occur on ATI DX10 hardware. Broken dithering occurs on all DX10 parts from both nvidia and ATI from testing.
-El Scorcho

"Its dodgeball time!" -Stormy Waters
2009-09-25, 9:15 AM #11
That's awesome. I personally don't have any problems with the game anymore, but if you get something stable you should maybe contact Steam about it. Maybe get some MONEYZ
"His Will Was Set, And Only Death Would Break It"

"None knows what the new day shall bring him"
2009-09-25, 9:36 AM #12
Yeah nice work, be sure not to let the file out until you talk to steam or LA. At the very least you can get some public credit :D.
Quote Originally Posted by FastGamerr
"hurr hairy guy said my backhair looks dumb hurr hairy guy smash"
2009-09-25, 9:51 AM #13
Or get served a cease.
ᵗʰᵉᵇˢᵍ๒ᵍᵐᵃᶥᶫ∙ᶜᵒᵐ
ᴸᶥᵛᵉ ᴼᵑ ᴬᵈᵃᵐ
2009-09-25, 9:55 AM #14
That's really awesome guys, congrats on all your good work, I can't wait to try it!
"If you watch television news, you will know less about the world than if you just drink gin straight out of the bottle."
--Garrison Keillor
2009-09-25, 9:55 AM #15
Is it actually editing the JK.exe file? Or would it be like directx.dll's to place in the JK directory that would act as wrappers?
2009-09-25, 10:09 AM #16
This is a wrapper that replaces ddraw.dll, it doesn't change the EXE at all. LucasArts can't say a damn thing about it because it doesn't touch their IP whatsoever.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 10:10 AM #17
The ddraw_(hack_viewport3_clear2).zip is the ddraw.dll file Emon talked about in his original post.

You can post here or (preferably) in the JKLauncher project forum to tell me if it works or not and on what system (OS and video card specs).

Oh, and let me know what specifically the other JK graphics problems you guys are having. Maybe I can fix those as well.

Enjoy!

:)
2009-09-25, 10:10 AM #18
So I can actually update my nvidia Geforce drivers to something newer than Nov 2006?
2009-09-25, 10:11 AM #19
Originally posted by El Scorcho:
Did you guys figure anything out for the HUD?

Sige's wrapper used OpenGL, he actually intercepted all the geometry data and passed it to OpenGL. This wrapper just wraps interfaces and forwards calls to DirectX 7, so the HUD works just fine.

Originally posted by El Scorcho:
If you could fix the broken dithering on DX10 hardware with it that would be awesome. Timeslip fixed this for dark engine games by forcing the games to a 32-bit render target. Not sure if that is outside the scope or not.

I personally haven't had any dither problems, but I only did a quick test this morning, maybe I didn't notice. Forcing 32-bit should be trivial.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 10:16 AM #20
Available for download? Awesome! Thanks guys.
2009-09-25, 10:21 AM #21
I actually had a dithering issue as well, but that was the last time I installed it. Haven't checked this time, or with the new file.

And yeah, LA can shove it, they can't tell someone not to modify their own DX files.
Quote Originally Posted by FastGamerr
"hurr hairy guy said my backhair looks dumb hurr hairy guy smash"
2009-09-25, 10:24 AM #22
So now I suppose I should find my JK CDs. :P
woot!
2009-09-25, 10:26 AM #23
Hey guys, just wanted to let you know that it works for me. I tested it with the Steam version as well as JKE. THANK YOU SO MUCH!

Specs that matter:
Vista x86
Ati 4870 1GB
2009-09-25, 10:34 AM #24
Edit: Nevermind, I missed Zeq's post.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 10:35 AM #25
Works great for me, I can now activate 3D Acceleration on my Radeon 4870 (Sapphire, 512MB, OS Vista x64) without any glitches, at least as far as I've tried. Using 4xAA as well, works like a charm. Had the same problems as everyone else using newer ATI cards before.

Great work, you guys! Thanks for fixing what LucasArts obviously couldn't! Now I'll have to dig out my old CD for the soundtrack. The only remaining problem on my system is the menu and cutscenes only working in windowed mode. I haven't figured out yet how to turn that off in the Steam release, and besides, as far as I've read they put that in since there seem to be some palette issues (or black screen issues...) with the menu in fullscreen mode.

Again, thanks a lot for your great work!
2009-09-25, 10:37 AM #26
I'll try it later when I get the chance.
2009-09-25, 10:44 AM #27
Nice! Look forward to installing this when I get home. Thanks guys!
2009-09-25, 10:46 AM #28
Zeq and Emon, you guys are the best. I'll have to see if this improves things with Wine. I have little reason to assume it will, but maybe more recent DirectX stuff will be better-implemented.
Why do the heathens rage behind the firehouse?
2009-09-25, 11:17 AM #29
yay! works for me:
Nvidia 9800GTX+, Vista x86

3D Accel enabled, 1680x1050, V-Sync disabled: average 275 FPS on Canyon Oasis
2009-09-25, 11:20 AM #30
You're sir_phobos! haha
2009-09-25, 11:21 AM #31
yip. i have a username before this one, even, but it's pretty lame.
2009-09-25, 11:29 AM #32
Awesome work you two.

Does anyone else have the minor issue of have to alt-tab out of jk in order to see the 2D menu screens after playing?
COUCHMAN IS BACK BABY
2009-09-25, 11:31 AM #33
Tracer, are you using -windowgui?
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 11:34 AM #34
I had to use -windowgui just to get JK to launch here. Note that it wasn't an issue with the DLL, it happened either way. Wish it could be fixed though, since I think the constant changing between windowed and fullscreen is what causes the window border to flicker in and out during gameplay.

That said, works as advertised, awesome work!

Edit: Zeq, when you think it's ready for prime time, let me know, and I'll make a proper Massassi newspost about it. This needs publicity. *insert no one visits the frontpage joke here*
2009-09-25, 11:36 AM #35
There should be a way to fix the window border. May be as simple as setting the window border style, which you can even do with an external app.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-09-25, 11:37 AM #36
I noticed using this that the opening video was still wrongly colored. The menus showed up, they never did for me before, but the text was mostly black. Starting a new game though got the movie playing fullscreen which was great.
2009-09-25, 11:38 AM #37
I get the flickering border as well, but just for a second and then it goes away.
2009-09-25, 12:08 PM #38
Quote:
Zeq, when you think it's ready for prime time, let me know, and I'll make a proper Massassi newspost about it. This needs publicity. *insert no one visits the frontpage joke here*


Go for it. The link has already been posted on the Steam JK forum. Might as well let as many people know about it as possible. Be aware that the direct download link might change, so you might want to link it the way I did in my earlier post.

I am very happy that this makes JK playable again for so many people.

:)
2009-09-25, 12:17 PM #39
Originally posted by Emon:
Tracer, are you using -windowgui?


No, I'll try that out.
COUCHMAN IS BACK BABY
2009-09-25, 12:31 PM #40
:neckbeard::neckbeard::neckbeard::neckbeard:

Applause for Massassi, once again breathing life into Jedi Knight.
Quote Originally Posted by FastGamerr
"hurr hairy guy said my backhair looks dumb hurr hairy guy smash"
123

↑ Up to the top!