Page 1 of 3 123 LastLast
Results 1 to 40 of 92

Thread: LucasArts was too lazy to fix Jedi Knight, so we did

  1. #1
    Imon, umon...everymon!
    Posts
    19,022

    LucasArts was too lazy to fix Jedi Knight, so we did

    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.
    Last edited by Emon; 09-25-2009 at 08:42 AM.
    Bassoon, n. A brazen instrument into which a fool blows out his brains.

  2. #2
    Good work you two!

  3. #3
    Registered Citizen
    Posts
    135
    Great, I'm definitely looking forward to this. Definitely good work.

  4. #4
    Administrator
    Posts
    7,796
    That totally rocks.

  5. #5
    Zeq, I am your #1 fan.

  6. #6
    Registered Citizen
    Posts
    135
    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.

  7. #7
    ⌐_⌐
    ¬_¬

    Posts
    6,095
    Unreal doesn't need wrappers, it has a plugin system for rendering so anyone can write their own renderer.


  8. #8
    Registered Citizen
    Posts
    135
    I see... my bad

  9. #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!

  10. #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

  11. #11
    Child's Play Charity"You Would Have Been BALEETED..."
    Posts
    3,900
    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"

  12. #12
    Child's Play CharityHow do I change this?
    Posts
    5,706
    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 .
    Quote Originally Posted by FastGamerr
    "hurr hairy guy said my backhair looks dumb hurr hairy guy smash"

  13. #13
    Child's Play CharityGoY's Pessimistic Soy Boy Toy
    Posts
    17,363
    Or get served a cease.
    ᵗʰᵉᵇˢᵍ๒ᵍᵐᵃᶥᶫ∙ᶜᵒᵐ
    ᴸᶥᵛᵉ ᴼᵑ ᴬᵈᵃᵐ

  14. #14
    New, Improved, and Boneless
    Posts
    6,607
    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

  15. #15
    Registered Citizen
    Posts
    135
    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?

  16. #16
    Imon, umon...everymon!
    Posts
    19,022
    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.

  17. #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!


  18. #18
    So I can actually update my nvidia Geforce drivers to something newer than Nov 2006?

  19. #19
    Imon, umon...everymon!
    Posts
    19,022
    Quote Originally Posted by El Scorcho View Post
    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.

    Quote Originally Posted by El Scorcho View Post
    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.

  20. #20
    Registered Citizen
    Posts
    135
    Available for download? Awesome! Thanks guys.

  21. #21
    Child's Play CharityHow do I change this?
    Posts
    5,706
    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"

  22. #22
    So now I suppose I should find my JK CDs.
    woot!

  23. #23
    Registered User
    Posts
    1
    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

  24. #24
    Imon, umon...everymon!
    Posts
    19,022
    Edit: Nevermind, I missed Zeq's post.
    Last edited by Emon; 09-25-2009 at 12:37 PM.
    Bassoon, n. A brazen instrument into which a fool blows out his brains.

  25. #25

    Woohoo!!

    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!

  26. #26
    I'll try it later when I get the chance.

  27. #27
    It's Stuart, Martha Stuart
    Posts
    7,913
    Nice! Look forward to installing this when I get home. Thanks guys!

  28. #28
    Registered User Sex Offender
    Posts
    1,044
    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?

  29. #29
    The more X's you have in your name, the cooler you are
    Posts
    113
    yay! works for me:
    Nvidia 9800GTX+, Vista x86

    3D Accel enabled, 1680x1050, V-Sync disabled: average 275 FPS on Canyon Oasis

  30. #30
    Registered Citizen
    Posts
    135
    You're sir_phobos! haha

  31. #31
    The more X's you have in your name, the cooler you are
    Posts
    113
    yip. i have a username before this one, even, but it's pretty lame.

  32. #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?

  33. #33
    Imon, umon...everymon!
    Posts
    19,022
    Tracer, are you using -windowgui?
    Bassoon, n. A brazen instrument into which a fool blows out his brains.

  34. #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*
    Last edited by Cool Matty; 09-25-2009 at 01:46 PM.

  35. #35
    Imon, umon...everymon!
    Posts
    19,022
    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.

  36. #36
    Registered Citizen
    Posts
    135
    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.

  37. #37
    Registered Citizen
    Posts
    135
    I get the flickering border as well, but just for a second and then it goes away.

  38. #38
    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.


  39. #39
    Quote Originally Posted by Emon View Post
    Tracer, are you using -windowgui?
    No, I'll try that out.

  40. #40
    Child's Play CharityHow do I change this?
    Posts
    5,706


    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"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •