Star Wars Episode I: Racer (aka Podracer)

General information and assistance with dgVoodoo.

Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2017-12-16 @ 17:01

I want to dedicate this thread to "Star Wars Episode I: Racer" (aka Podracer) game. This will mostly be a guide to running the game via dgVoodoo2 since this is the dgVoodoo2 forum, but I will also talk about other Vogons projects that can be complementary.

I tested all these on Windows 7 Ultimate Edition 64bit OS. I hope we can share tips, tricks and bug reports for this game on this thread.

The game does not work natively on most modern systems. You will get white screen or black screen in 3D scenes if you try to run the game natively.

The game works well via dgVooodo2 but there are some remaining bugs. I summarized the bugs in a separate short post below. I will try to update the bug list as people keep reporting bugs. This game is a prime candidate for inclusion into GOG catalog by using dgVoodoo2. I hope we can make it bug free.


Game Versions
There are multiple versions of this game. The most widely available one is the US English version. International versions are in foreign languages (Spanish, French, Italian, Russian, etc.). There is also a DVD version named "Star Wars Episode I DVD Collection" that contains 3 games: Star Wars Episode I Racer, Star Star Wars Episode I The Phantom Menace, Star Wars Episode 1 Insider's Guide.

I only own the US English CD version. I don't have the DVD version. If you have the single CD version and if it is in English, you surely have the US English version.


Official Patch
Lucas Arts released a patch for the USA and International versions of the game. Patch includes separate game exes for each version and a sound DLL that works with both versions. I attached the patch below. You can read about it at the link below. File download links are down, but I got them from another internet archive FTP link.
https://web.archive.org/web/20070212170 ... 1racer.htm
https://archive.org/details/ftp.lucasarts.com-20130427


Installation Using Third Party Installer (Highly Recommended)
I strongly recommend this method. It contains everything you need to get the game up and running (official patch, dgVoodoo2, LAN multiplayer fix, widescreen fix, single core affinity fix)
1) Download the third party installer created by SagaraS from the link below.
https://www.letsplayforum.de/index.php/ ... d-Patches/
2) Insert your CD and run the installer.
3) Install the game to a location where user account protection will not cause any problems. I recommend C:\Games\PodRacer
4) Installer contains an old version of dgVoodoo2. Just replace it with the latest version of dgVoodoo2.
5) If the game does not start, make sure to check "Fast Video Memory Access" setting on dgVoodoo2 control panel. If the game starts in a small rectangle on the top left side of the screen, choose "Centered, Keep Aspect Ratio" or "Stretched, Keep Aspect Ratio" as the scaling setting of dgVoodoo2.
6) Third party installer contains the latest EXE patch for the game, but it does not include the sound DLL patch. You can find the updated sound DLL in the official patch that I attached to this post.
7) You might not need the sound patch, but I noticed that some of the random crashes, loading screen freezes and cutscene video freezes on my computer were sound related. I recommend you to try the updated sound patch (dll) if you experience any random crashes or freezes.
8 ) The third party game launcher includes widescreen hack (automated hex editor) and game configuration tool. It also sets single core affinity automatically.


Installation Using the Original Installer
1) Game's original installer will not run on 64bit OSs. In order to make it run, you should download and install OpenSource InstallShield Wrapper to your PC, from the link below. It is created by Vogons community member AxXxB.
http://www.vogons.org/viewtopic.php?f=8&t=42464
2) After you install InstallShield Wrapper, just go to the Podracer game CD and run setup.exe. Install the game to a location where account protection will not cause any problems. I recommend C:\Games\PodRacer
3) Before you run the game, install the latest official patch for the game (attached to this post). Just extract the updated USA version game EXE and sound DLL to the game folder.
http://www.vogons.org/viewtopic.php?f=2 ... 00#p627469
4) Run racer.exe from the link on your desktop (or from the game directory). Racer.exe is the launcher. It will ask you to choose graphics options in the first run. Just choose the largest 4:3 resolution that your monitor supports. Exit the game when you reach the main menu.
5) Install the latest version of dgVoodoo to the game folder. If the game does not start, make sure to check "Fast Video Memory Access" setting on dgVoodoo control panel. If the game starts in a small rectangle on the top left side of the screen, choose "Centered, Keep Aspect Ratio" or "Stretched, Keep Aspect Ratio" as the scaling setting of dgVoodoo.
6) If you don't want to use the launcher, you can run the game directly using the game exe, SWEP1RCR.exe.
7) You should set single core affinity by creating a bat file that includes the following command
Code: Select all
start /affinity 1 SWEP1RCR.exe

8 ) Alternatively, you can use ImageCFG to patch the game exe to use single core (CPU0). Download link and usage command is shown below.
https://robpol86.com/imagecfg.html
Code: Select all
imagecfg -a 0x1 "C:\Games\PodRacer\SWEP1RCR.exe"



Enabling Hardware Accelerated Sound
The game uses Aureal's a3dapi.dll as the sound engine. Sound works, but it does not detect hardware acceleration. If you want to enable hardware acceleration, you can extract IndirectSound wrapper, created by Vogons community member jonpol (John-Paul), into the game directory. Make sure that you have single core affinity on the game exe, if you get glitched sound. If you have any questions regarding IndirectSound please ask it on its official thread linked below.
http://www.indirectsound.com/
http://www.vogons.org/viewtopic.php?f=8&t=36870

If you have a Creative Soundblaster card, you can also use Creative Alchemy Software wrapper to enable hardware acceleration.


Installation Using Peixoto's Tool
Vogons community member Peixoto recently added full support for "Star Wars Episode I: Racer" to his launcher/patcher tool. It works with the installation methods that I outlined above if you remove dgVoodoo files from the game directory. It also includes its own custom installer for 64bit systems. Just insert the game CD and install it using Peixoto's tool. Peixoto also added xbox controller support (xinput) and texture replacement support to the game. You can download Peixoto's tool from the official thread linked below. If you have any questions regarding Peixoto's tool please ask it on its official thread. Sadly it is not possible to chain Peixoto's tool with dgVoodoo2 for this game, but I hope this will change in the future.
http://www.vogons.org/viewtopic.php?f=24&t=53121


Suggested Improvements for the Future
1) We need a better widescreen fix. The current widescreen fix by SagaraS adjusts the aspect ratio properly, but it cuts some area from the top and bottom of the screen. I think it is FOV related. They call this "Vert-" and you can see the comparison screenshots at the link below. I hope somebody with disassembler skills can make a better widescreen fix for this game. I am sure that we can ask SagaraS to implement the new widescreen hack into his launcher.
http://www.wsgf.org/dr/star-wars-episode-i-racer
2) HD Texture pack. We need modelers for this. Currently texture replacement is possible via Peixoto's tool. I hope Dege implements texture replacement feature into dgVoodoo2 soon. :)
3) Full engine remake. :)
4) Depth shader related effects do not work in Reshade for this game. If Dege can find a way to provide depth shader access for this game, it will be awesome. I hope this can be accomplished when Dege releases his API.
Attachments
StarWarsRacerOfficialPatch.rar
Star Wars Racer Official Patch from Lucas Arts
(902.12 KiB) Downloaded 52 times
Last edited by CoolGamer on 2017-12-16 @ 17:08, edited 1 time in total.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2017-12-16 @ 17:01

Screenshots:

SWEP1RCR 2017-12-16 02-21-00-26 - Copy.jpg


SWEP1RCR 2017-12-16 02-21-32-05 - Copy.jpg


SWEP1RCR 2017-12-16 02-22-01-41 - Copy.jpg


SWEP1RCR 2017-12-16 02-22-25-55 - Copy.jpg


SWEP1RCR 2017-12-16 02-23-11-06 - Copy.jpg
Last edited by CoolGamer on 2017-12-16 @ 17:17, edited 1 time in total.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2017-12-16 @ 17:01

Open/Known Bugs with dgVoodoo2 on this game

1) This game has double cursor glitch when played via dgVoodoo2, where both the game cursor and system cursor are displayed on top of each other. Sometimes alt-tabbing in and out of the game makes this glitch go away.
2) On some systems, the game does not start if "Fast Video Memory Access" setting of dgVoodoo2 is not enabled. You can read about it at the link below.
http://www.vogons.org/viewtopic.php?f=5 ... 83#p627482
3) The screenshots taken using the in game screenshot system (by pressing F12) are glitched. Some are completely black and some has missing textures. FRAPS screenshots are fine. Just take lots of screenshots using F12 button to replicate this bug.
4) "Unforced" scaling mode combined with "Max" Resolution forcing through dgVoodoo2 sometimes makes the game start in a small rectangle on top left side of the screen. Choosing Centered AR or Stretched AR scaling modes makes this glitch go away. When I use FRAPS this glitch happens all the time. If I don't have FRAPS running, it is a random glitch. Use FRAPS to replicate it.
5) Z-fighting issues (as reported by ZellSF).
Last edited by CoolGamer on 2017-12-16 @ 17:40, edited 1 time in total.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby ZellSF » 2017-12-16 @ 17:21

CoolGamer wrote:Open/Known Bugs with dgVoodoo2 on this game

1) This game has double cursor glitch when played via dgVoodoo2, where both the game cursor and system cursor are displayed on top of each other. Sometimes alt-tabbing in and out of the game makes this glitch go away.
2) On some systems, the game does not start if "Fast Video Memory Access" setting of dgVoodoo2 is not enabled. You can read about it at the link below.
viewtopic.php?f=59&t=56583#p627482
3) The screenshots taken using the in game screenshot system (by pressing F12) are glitched. Some are completely black and some has missing textures. FRAPS screenshots are fine. Just take lots of screenshots using F12 button to replicate this bug.
4) "Unforced" scaling mode combined with "Max" Resolution forcing through dgVoodoo2 sometimes makes the game start in a small rectangle on top left side of the screen. Choosing Centered AR or Stretched AR scaling modes makes this glitch go away. When I use FRAPS this glitch happens all the time. If I don't have FRAPS running, it is a random glitch. Use FRAPS to replicate it.

Has the z-fighting issues been fixed or did you just forgot mentioning it?
ZellSF
Oldbie
 
Posts: 1097
Joined: 2006-1-01 @ 18:19

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2017-12-16 @ 17:39

ZellSF, I did not even know about the z-fighting issues. Thanks for mentioning them. I will add it to the list. Since it is a fast paced racer, I guess I never paid attention to z-fighting.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-5-02 @ 23:24

Star Wars Episode I Racer was released on GOG yesterday!!! GOG version comes with a wrapper (ddraw.dll) that outputs in DirectX9, but you can replace that wrapper with dgVoodoo2.

On a separate note, I would appreciate if somebody can name the wrapper that comes with the GOG version of the game. It is probably an opensource wrapper, but I did not post it here in case it turns out to be copyrighted. I used a hex editor on it, but could not find any strings in it that shows its name. There is also no license text file associated with the wrapper.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby ZellSF » 2018-5-03 @ 15:23

I don't think it's an open source wrapper. I don't know of any ddraw>d3d9 wrapper that can run 3D games at all. I'm guessing it's something either the developer or GoG has thrown together especially for this game. In which case I'm not impressed:
SWEP1RCR 2018-05-03 17-15-55-31.jpg
Here's dgVoodoo2 at the same place:
SWEP1RCR 2018-05-03 17-17-21-41.jpg
If only it wasn't for the z-fighting issues dgVoodoo2 would be perfect for this game.
ZellSF
Oldbie
 
Posts: 1097
Joined: 2006-1-01 @ 18:19

Re: Star Wars Episode I: Racer (aka Podracer)

Postby teleguy » 2018-5-03 @ 16:10

ZellSF wrote:I don't think it's an open source wrapper. I don't know of any ddraw>d3d9 wrapper that can run 3D games at all. I'm guessing it's something either the developer or GoG has thrown together especially for this game. In which case I'm not impressed:
The attachment SWEP1RCR 2018-05-03 17-15-55-31.jpg is no longer available
Here's dgVoodoo2 at the same place:
The attachment SWEP1RCR 2018-05-03 17-17-21-41.jpg is no longer available
If only it wasn't for the z-fighting issues dgVoodoo2 would be perfect for this game.


Different versions of that wrapper were also included with Requiem Avenging Angel and Shadows of the Empire. I couldn't find any such wrapper anywhere on the net when I looked back then so I assumed GOG created it. I couldn't get it to work with any other game either so they probably only implemented the minimum features required for those particular games.

PS: Fix for the double cursor.
Attachments
SW Racer Cursor Fix.zip
(874 Bytes) Downloaded 67 times
teleguy
Member
 
Posts: 389
Joined: 2004-2-28 @ 18:54

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-5-06 @ 22:52

ZellSF and teleguy, thanks for the clarifications regarding the DirectX wrapper that comes with the game.

Teleguy, thanks for the double cursor fix. Compatibility shim that you created works and hides the double cursor. I wonder why dgVoodoo2 needs this shim, while the game's own wrapper does not.

Dege, is there anything you can do regarding the z-fighting issues that ZellSF reported? I wrote the link to his original post below. Sadly the Youtube video that he posted is down.
viewtopic.php?f=59&t=34931&p=436044#p436044

You exchanged a couple of messages with ZellSF on this subject. In your last reply to him, you mentioned something about using 24bit depth buffer. After that the issue was never discussed further.
viewtopic.php?f=59&t=34931&start=1020#p436767

Thanks.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby Dege » 2018-5-15 @ 18:26

CoolGamer wrote:Teleguy, thanks for the double cursor fix. Compatibility shim that you created works and hides the double cursor. I wonder why dgVoodoo2 needs this shim, while the game's own wrapper does not.

Maybe the game cursor is a software drawn one by the game itself while the white arrow cursor is the real physical cursor that cannot be hidden because of the Win compat layer, or sg like that. Never debugged.
If dgVoodoo were game specific then I could make that disappear.

CoolGamer wrote:Dege, is there anything you can do regarding the z-fighting issues that ZellSF reported? I wrote the link to his original post below. Sadly the Youtube video that he posted is down.
viewtopic.php?f=59&t=34931&p=436044#p436044

You exchanged a couple of messages with ZellSF on this subject. In your last reply to him, you mentioned something about using 24bit depth buffer. After that the issue was never discussed further.
viewtopic.php?f=59&t=34931&start=1020#p436767

Yes, I've just implemented the forcable internal depth-buffer bit depth feature. Now the game seems to be much better. I checked some well visible rude points like

http://www.youtube.com/watch?v=oiDPb7qtG1o&t=13m12s

and those kind of artifacts disappear with forced 24 bit depth buffers. Other games like Miracle Boards and Tonko4 (both with heavy z-issues) also get cured with forced bit depth.
Dege
Oldbie
 
Posts: 1246
Joined: 2003-9-04 @ 11:06

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-5-20 @ 23:12

Dege, thanks for the 24bit depth buffer feature. Z-fighting was the big ticket item in terms of bugs and now it is resolved. ZellSF reported the double cursor glitch (system cursor+cursor drawn by the game) for other games such as "Battleship Surface Thunder". Whenever you have some time, please see if you can debug and come up with a solution that works for Star Wars Racer and other games with the double cursor glitch. If it is impossible to fix via dgVoodoo2, don't worry about it.

I also noticed that when I alt-tab out of the game and alt-tab back in during the race, the camera gets reversed permanently. I don't know if it is a game engine bug or dgVoodoo related bug.


Now I have some good news for everybody. I made some improvements to the game EXEs of the US CD and GOG versions. I patched both to show the hidden "Game Cheats" menu. I patched the US CD version to remove the resolution check. I explained the changes below and listed the resources that I used.

It turns out that the developers of the game implemented a secret debug menu named "Game Cheats" under the race pause menu. This Game Cheats menu was accessible in the Nintendo64 version of the game but it was thought to be missing from the PC version. The existence of this menu in the windows PC version of the game was discovered by Jannik Vogel (aka JayFoxRox). Jannik is the creator of OpenSWE1R project that aims to reverse engineer and remake the game engine of Star Wars Episode 1 Racer. I linked the github page and gitter chat of the OpenSWE1R project below. If you have programming skills, please consider helping Jannik with his awesome OpenSWE1R engine remake project.
https://github.com/OpenSWE1R/openswe1r
https://gitter.im/OpenSWE1R


I came up with a way to display the hidden "Game Cheats" option under the race pause menu by using Jannik's research.

I changed the following addresses using OllyDbg to display the Cheat Menu.
Code: Select all
ADDRESS   ORIGINAL VALUE             CHANGED VALUE
0042ADF6  NOP                        MOV DWORD PTR DS:[50C044],1
0042B555  RETN                       MOV DWORD PTR DS:[50C048],3F
0042B55F  NOP                        RETN
00445954  CALL SWEP1RCR.0042AE00     CALL SWEP1RCR.0042ADF6

Jannik also compared the GOG version of the game to the US CD version. One useful difference is that, GOG removed the resolution check from the exe to allow the game to work with all screen resolutions. I ported this improvement to the US CD version. Now you can enumerate and choose any resolution you want using dgVoodoo2 in the CD version of the game too.

I changed the following addresses using OllyDbg to remove the resolution check. This is identical to the way GOG removed resolution check from their EXE.
Code: Select all
ADDRESS    ORIGINAL VALUE            CHANGED VALUE
00488FBF   CMP EAX,200               JMP SHORT SWEP1RCR.00489037
00488FC1                             NOP
00488FC2                             NOP
00488FC3                             NOP


I linked the relevant pages from Jannik's reverse engineering research below:
https://github.com/OpenSWE1R/swe1r-re/t ... ep1rcr.exe
https://github.com/OpenSWE1R/swe1r-re/b ... ug-Mode.md
https://github.com/OpenSWE1R/swe1r-re/b ... n-Check.md
https://github.com/OpenSWE1R/openswe1r/issues/142
https://github.com/OpenSWE1R/openswe1r/wiki


The attached zip file contains three files:
-US CD Version with resolution check removed. I used Official patched version from Lucas Arts FTP as the base.
-US CD Version with resolution check removed and Game Cheats Menu enabled. I used Official patched version from Lucas Arts FTP as the base.
-GOG version v1.0_hotfix3_(20791) with Game Cheats Menu enabled. GOG version already had resolution check removed.


To access the Game Cheats menu, just press ESC during the race to bring up the pause menu. "Game Cheats" will be shown as the last item on the pause menu. You can increase variables under the Game Cheats menu by pressing "Enter" and decrease them by pressing "A".
Attachments
StarWarsRacer_Unoffical_Patches_CheatMenuEnabled_And_ScreenResolutionCheckRemoved.rar
StarWarsRacer_Unoffical_Patches_CheatMenuEnabled_And_ScreenResolutionCheckRemoved
(1.04 MiB) Downloaded 47 times
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby masterotaku » 2018-5-22 @ 10:11

Wow, thanks for the 24 bit depth buffer feature. I'll download it as soon as I can.

Thanks for the exe for cheats, Coolgamer. Now the only thing left I want for this game is no geometry culling. With the 3D Vision fix I published, (check the helixmod blog), I made a Hor+ widescreen mod for any aspect ratio or zoom levels (real time hotkeys). It unstretches the game from 4:3 (don't use a 16:9 resolution in the game config launcher / registry because it's Vert-) by modifying the X axis of the main vertex shader, but extra content at the sides has culling that can be annoying.

By the way, extra info about dgVoodoo in this game: the higher the original resolution you are trying to override, the more CPU limited you will be. That's why I use 640x480, and then 2560x1440 in dgVoodoo.
User avatar
masterotaku
Newbie
 
Posts: 13
Joined: 2017-8-31 @ 18:55

Re: Star Wars Episode I: Racer (aka Podracer)

Postby Dege » 2018-5-22 @ 20:21

masterotaku wrote:By the way, extra info about dgVoodoo in this game: the higher the original resolution you are trying to override, the more CPU limited you will be. That's why I use 640x480, and then 2560x1440 in dgVoodoo.

Fast vidmem access enabled should help, I tried it. This game locks the depth buffer for each frame like Drakan, to see if Suns or other light sources are visible.
Dege
Oldbie
 
Posts: 1246
Joined: 2003-9-04 @ 11:06

Re: Star Wars Episode I: Racer (aka Podracer)

Postby masterotaku » 2018-5-25 @ 20:57

Yep, that was it! Now in non GPU limited situations I can get a lot more fps than before. Maybe triple the fps than before. And thanks for the recent z-buffer option. It fixes all z-fighting issues in this game. I have updated the helixmod blog post with these settings.
User avatar
masterotaku
Newbie
 
Posts: 13
Joined: 2017-8-31 @ 18:55

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-5-29 @ 23:50

masterotaku, I have good news for you. I found the fix to the culling problem you have in your widescreen mod. I found the FOV address in Star Wars racer that fixes the widescreen without any culling. I used CheatEngine for this.

Memory address 00DFB1F0 contains a float 1.0 which is the FOV. If you use a disassembler you will see that the game executable's 004832EE address writes a hardcoded float 1.0 (hexadecimal float 3F800000) to the memory address 00DFB1F0. This value is hardcoded into the executable (not calculated).

All you have to do in your widescreen fix is to modify this memory address according to the formula below. I used my monitor's 1366x768 aspect ratio as the example.

NEW FOV = (Desired Wide Screen resolution aspect ratio) / (Game's original aspect ratio) = (1366/768) / (640/480) = 1.7786 / 1.3333 = 1.33398
Set Address 00DFB1F0 to float 1.33398. You can use CheatEngine to test this.

Results are below. Download the images and switch between them in fullscreen to see the difference. Notice how you can see more of the orange pod racer located on the right. Also notice how the size and aspect ratio of Anakin's pod racer and the mountain do NOT change. We add extra view to the sides of the screen without messing up anything in the 3D game world. Sadly the HUD gets stretched.
SWEP1RCR 2018-05-23 20-46-50-15 - Copy.jpg

SWEP1RCR 2018-05-23 02-11-32-38 - Copy.jpg


The only issue is that the double Suns in the sky shift down a little (and become slightly oval) since they are drawn with the HUD, but this issue is acceptable. In your mod, I think you figured out how to fix the HUD. You can prevent the culling problem by using my FOV address change trick and fix the HUD using your original fix. I am assuming that your mod is able to manipulate memory addresses.

I also found the memory addresses that control the HUD resolution (00EC86C4 width and 00EC85E8 height). Changing these two address to a 4:3 resolution (such as 1024x768) prevents the HUD from getting stretched but it does not center it. :depressed: In other words the HUD gets drawn in a 4:3 rectangle relative to the upper left corner of the screen. If anybody with good debugger/disassembler skills can find a way to fix the Suns and the HUD, it is much appreciated. :) If we can center the HUD at a 4:3 ratio, using a memory hack or an EXE hack, we will be golden.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby masterotaku » 2018-6-05 @ 21:47

Strange. In my case, that 00DFB1F0 address modifies both horizontal and vertical FOV, so I don't see any aspect ratio change. For example, a big value like 3 or 5 is very zoomed out. I'll experiment with this more.
User avatar
masterotaku
Newbie
 
Posts: 13
Joined: 2017-8-31 @ 18:55

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-6-05 @ 23:52

masterotaku, you also have to change the resolution in game's video configuration tool (e.g. to 1366x768) before you start the game. If you don't change the resolution, and only modify 00DFB1F0 address, you will see a zooming in/out effect. 00DFB1F0 address does not change the rendering resolution. That address is like a viewing cone that zooms in or out.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Re: Star Wars Episode I: Racer (aka Podracer)

Postby masterotaku » 2018-6-06 @ 08:19

Oh, right. So it's a way to compensate the zoom in of the Vert- widescreen. I can control HUD, sun and lens flares at will with my 3D fix, so I'll try to reach a perfect solution. Or something with the least possible drawbacks (definitely better than culling).

Thankfully the game is alt+tab friendly even in 3D. If not, I wouldn't be able to use cheatengine properly :p.
User avatar
masterotaku
Newbie
 
Posts: 13
Joined: 2017-8-31 @ 18:55

Re: Star Wars Episode I: Racer (aka Podracer)

Postby masterotaku » 2018-6-09 @ 10:00

I have fixed the HUD and sun / lens flares in the shader :). Sun and lens flares needed a x1.333333 correction to the Y axis and the HUD needed the inverse, a x0.75 correction to the X axis.

Image

Edit: ugh, images don't have a "max-width: 100%;" rule here it seems. Open it in a new tab.

Here's the updated 3D fix but under a different name, until I decide 100% what options I should make default: https://s3.amazonaws.com/masterotaku/St ... V_test1.7z

In this one (remember to uninstall my older mod), press "8" (not numpad) to enable the HUD/sun fix after you've used CheatEngine for 16:9 mode (I've included a cheat table in the fix file. The hotkey for now only corrects from 4:3 to 16:9. I may add more presets later, after I try a 48:9 resolution and others). My aspect geometry ratio mod is disabled by default.

For non 3D Vision use, remember to comment or delete this block of code in d3dx.ini:

Code: Select all
;Shadows and boost meter.
[TextureOverrideHUD3]
Hash=6bdb699f
filter_index=2


Otherwise, the boost bar and yellow circle will remain in 4:3.

The only remaining issue is that the fix thinks that the two repair columns are part of the sun / lens flares content (because they have the same texture hash), so it will be partially hidden by the bottom border of the screen (it's affected by the Y axis correction). But it's an HUD element that is relatively unimportant. It was either that or leaving the sun/lens flares at an incorrect position.

I'll update the helixmod blog post with a definitive version and updated instructions for CheatEngine. I wish this FOV mod could be made by patching the exe or using a config file. But this is great nonetheless.

Another edit: btw, I can also decide if I want to modify only the HUD or only sun/lens flares. But in this fix I fix both at the same time.
User avatar
masterotaku
Newbie
 
Posts: 13
Joined: 2017-8-31 @ 18:55

Re: Star Wars Episode I: Racer (aka Podracer)

Postby CoolGamer » 2018-6-09 @ 23:31

masterotaku, I can patch the EXE to modify 00DFB1F0 address. The issue is it will be a specific FOV modification that works perfectly only for a single Aspect Ratio, such as 16:9 (as you did with the cheat engine table). I can't insert a complicated code that calculates aspect ratio and modifies FOV address accordingly. As you know, some ultrawide gaming monitors use 21:9 or many other aspect ratios.

Do you want me to patch the EXE for 16:9 mode? For 16:9 Mode memory address 00DFB1F0 will be set to 1.33333, which is 3FAAAAAB in hexadecimal representation.
CoolGamer
Member
 
Posts: 121
Joined: 2017-1-14 @ 17:22

Next

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 2 guests