Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
Last visit was: less than a minute ago It is currently 07 May 2021, 17:55

All times are UTC [ DST ]




 [ 20 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 16 Feb 2010, 06:56 
Offline

Joined: 30 Mar 2006, 09:16
Posts: 156
Firstly, anyone know the deal with NOLF1? I'm assuming it either stretches of is Vert- like other earlier Lithtech games.

However, one Lithtech game (AvP2) seems to have a solution. Could this be applied to the other games that currently don't have proper support in the WGL?

ie. Blood 2
Shogo
Tron 2.0
NOLF2


Top
  
 


PostPosted: 17 Feb 2010, 01:10 
Offline

Joined: 07 Jul 2007, 23:55
Posts: 2866
There might be a fov thing for Shogo but most of those games are stretched which changing the fov won't help with.


Top
  
 
PostPosted: 23 Feb 2010, 04:51 
Offline

Joined: 03 Mar 2007, 06:34
Posts: 287
For popular/cult games, such as Monolith's older titles, if there was a simple solution, like a config file edit, it typically would have been discovered by now. Doesn't mean a solution couldn't be developed/discovered in the future, but it would require some hex hacking or mod programming.

However, for Tron 2.0 there has been a comprehensive mod in progress for ages that adds proper widescreen support among other things. It's been quite a long time coming, but it's still alive and due for release pretty soon.

http://www.moddb.com/mods/killer-app


Top
  
 
PostPosted: 26 Mar 2010, 01:08 
Offline

Joined: 26 Mar 2010, 00:58
Posts: 32
Hi, I'm one of the team members working on the KA Mod.

I just wanted to say that it would be pretty simple to take the same techniques used on our mod for Tron 2.0, and apply them to several other Lithtech games. In particular, it should be quite easy to make other Jupiter engine titles like NOLF 2 and Contract JACK work in widescreen. (It will probably work for games even going as far back as the original NOLF, but not 100% sure on that.)

I personally don't plan on making any kind of widescreen mod for those games. But I'd be willing to help out others by sharing the techniques used.

Then again, I won't be in the least surprised if one of the first things people do, is start ripping apart the KA Mod to figure out how widescreen was done . . .

P.S. The mod is done and in testing.

_________________
TRON 2.0: Killer App Mod - Adds 16:9 and 16:10 widescreen support, game fixes, and much more



BenQ EW2420 | XFX Radeon 6870 1 GB GDDR5 | EVGA GT240 512 MB GDDR5 (Hybrid PhysX) | Asus M3A32-MVP Deluxe | AMD Phenom II X6 1100T BE 3.3 GHz | 4 GB G.Skill DDR2-1066 |

Auzentech X-Fi Prelude 7.1 | PCP&C Silencer 750W Quad | Coolermaster Elite 330 case | Windows 10 Technical Preview


Top
  
 
PostPosted: 19 Apr 2010, 08:06 
Offline

Joined: 26 Mar 2010, 00:58
Posts: 32
Killer App Mod v1.1 has been released. It adds 16:9 and 16:10 widescreen support to the game.

_________________
TRON 2.0: Killer App Mod - Adds 16:9 and 16:10 widescreen support, game fixes, and much more



BenQ EW2420 | XFX Radeon 6870 1 GB GDDR5 | EVGA GT240 512 MB GDDR5 (Hybrid PhysX) | Asus M3A32-MVP Deluxe | AMD Phenom II X6 1100T BE 3.3 GHz | 4 GB G.Skill DDR2-1066 |

Auzentech X-Fi Prelude 7.1 | PCP&C Silencer 750W Quad | Coolermaster Elite 330 case | Windows 10 Technical Preview


Top
  
 
PostPosted: 20 Apr 2010, 03:20 
Offline

Joined: 03 Mar 2007, 06:34
Posts: 287
YES! I know what I will be playing the weekend. Heaps of thanks to you and the rest of the team for sticking with it.


Top
  
 
PostPosted: 25 Apr 2010, 21:06 
Offline

Joined: 26 Mar 2010, 00:58
Posts: 32
Okay, I'll spill the beans. :D

It will probably help when one of the WSGF members writes out a report, to understand how it was done for Tron 2.0. The only reason I haven't explained so far: it requires preparing a lengthy, detailed explanation.


Guide to achieving widescreen in Jupiter (Lithtech 3.5) games

The methods used in the Tron 2.0: Killer App Mod to achieve widescreen can be applied to other Jupiter engine titles. They will certainly work on NOLF 2 and Contract JACK.

These methods are not necessarily elegant. But they do work. One important factor in what was done to achieve widescreen, was to not break Multiplayer in Tron 2.0 in the process. At first I wanted to strictly hack the binaries. I had some success with that. But the problem was that the game checks certain files in Multiplayer to see if they've been altered, in order to try and prevent cheating. This would have also meant hacking (and possibly disabling) this check, which I did not want to do.

Fortunately, another way was found.


1. Undocumented Console commands

The Jupiter engine has a console, like almost every other FPS engine. In Tron 2.0, the console is disabled and not directly accessible. But it is indirectly accessible. The autoexec.cfg file is a text file with a list of console commands to be executed when the game is started. There are three important commands that help to achieve widescreen.

"fovx" "xxx" - Sets the in-game FOV, but does not affect cutscenes.
"fovxinterface" "xxx" - Sets the FOV of the menus and (to a degree) the HUD.
"fovyuwmax" "xxx" - Appears to affect the vertical perspective correction matrix. If this is not adjusted along with the other values: you get a weird, nauseating feeling when looking up and down. There doesn't appear to be a horizontal equivalent (which may have helped to reduce the increased "fish eye" effect in widescreen).

Values to use for 16:9
"fovx" "106"
"fovxinterface" "106"
"fovyuwmax" "124" - This value was arrived at through trial and error, rather than any kind of "scientific" process. It seemed to work well here for most widescreen resolutions, so I didn't play with it further.

Values to use for 16:10
"fovx" "100"
"fovxinterface" "100"
"fovyuwmax" "124" - Keeping this value the same as what was used at 16:9, did not seem to make an appreciable difference in 16:10. It also seems fine at lower widescreen resolutions, but from feedback I was told that above 1920x1080 this value needs to be increased.


2. Elaborate .ini hacks

The first file to be edited is the easiest. The display.cfg file contains the resolution setting. Editing values here allows you to reach higher resolutions than the game's built-in menu interface allows. If you go to Options > Display you will end up causing the game to reset the resolution back down to 640x480.

"screenwidth" "xxxx"
"screenheight" "xxxx"

In Lithtech, the game's main .ini files are called Attribute files. These remaining files require a lot of time and patience to edit. Basically, we are editing the game's interface manually by hand. A tedious process. Also, two different sets of files must be created: one set for 16:9, and one set for 16:10.

Files to be edited
POPUPITEMS.TXT - Controls the postitioning, size, and text width of many in-game items that pop up on screen. In Tron 2.0, these are E-mails and Help Files. In NOLF/Contract JACK they would be Letters and other Intelligence items.
LAYOUT.TXT - As the name implies, this controls the layout of almost all the menu and HUD interface elements.

These files need to be extracted from the game's .REZ files. You can either use the Lithrez tool, or Winrez LT.


3. Binary hacks

For Tron 2.0, one HUD element's screen position was hard-coded. I had to hack the CSHELL.DLL file in order to move it. Fortunately, it could be placed in the same position across all aspect ratios to avoid needing to create different versions of the CSHELL.DLL file. Otherwise, this would have broken Multiplayer (because of the check for cheats).

Also, the fovx console command does not affect cutscenes. This requires hacking the game's Single Player maps. The camera objects responsible for cutscenes have their own FOV values that can be set independently of the in-game FOV. So what will happen is that the gameplay is fine until you reach a cutscene, and then suddenly the FOV will switch and be wrong until the cutscene is over.

Again, you need to extract these from the .REZ files using Lithrez or Winrez LT. Pretty much any hex editor will do for editing the maps. The Single Player maps all have a Mxx-xx.DAT naming scheme.

Without getting too complicated: there are two things you need to look for.

i. Camera objects - Do a search for the string "Camera". As you find each one, look just behind each reference for a "FovX" string. Move forward from the end of this string by an offset of 6 bytes. Starting here, for the next 4 bytes, is the 32-bit little endian floating point value of the camera's FOV.

So for example:
0000B442 - The original FovX value of the camera, which is 90 degrees.
0000D442 - The FovX modified to 106 degrees.

ii. Commands that change the camera FOV on the fly - Do a search for the string "fov ", including a space at the end. You will often find commands that adjust the camera's FOV from its initial setting, that read something like msg cam1 (fov 90 78). You want to change the first value in the pair (the other number is the FovY).

Like with the Attribute files, hacking the maps requires two sets to be created. One set of maps for 16:9, and one set for 16:10.


4. Texture editing

For some interface elements, altering them in an image editing program is required.

There were three types of edits done for Tron 2.0:

i. Resizing both horizontally and vertically - This was done for certain HUD elements that became too small when the resolution was raised very high.

ii. Resizing only horizontally or only vertically - This was done to prevent stretching of a few items, or to prevent them from being cut off at the edge of the screen.

iii. Adding transparent space/padding - This was done to a few items to prevent them from appearing in the wrong position, or from being cut off at the edge of the screen.

===========================================================================================


This guide is somewhat of an oversimplification of what was done. There were further edits made, but explaining them would get pretty complicated and this report would drag on much longer. The above points are the "essentials" involved in getting widescreen to work on Tron 2.0.

The installation program for the Killer App Mod will choose the right versions of the files, based on your choices during installation. This means that you cannot easily jump back and forth between 4:3, 16:9, and 16:10 for testing purposes. The installer creates the proper versions of the mod content, depending on your choices. Also, I did not do a proper 5:4 implementation yet. That will come in the next version of the mod.

In the case of NOLF 1, the version of the engine used (Lithtech 2.0) does not use independent FOVs for the cameras in cutscenes. The FOV is always locked to the same FOV as that used in the game. This makes it much easier to get NOLF 1 working in widescreen. You only need to use the console commands, edit the resolution, and then edit the Attribute files. No binary hacking required, it seems.

_________________
TRON 2.0: Killer App Mod - Adds 16:9 and 16:10 widescreen support, game fixes, and much more



BenQ EW2420 | XFX Radeon 6870 1 GB GDDR5 | EVGA GT240 512 MB GDDR5 (Hybrid PhysX) | Asus M3A32-MVP Deluxe | AMD Phenom II X6 1100T BE 3.3 GHz | 4 GB G.Skill DDR2-1066 |

Auzentech X-Fi Prelude 7.1 | PCP&C Silencer 750W Quad | Coolermaster Elite 330 case | Windows 10 Technical Preview


Top
  
 
PostPosted: 26 Apr 2010, 01:10 
Offline
Insiders
Insiders
User avatar

Joined: 11 Dec 2008, 23:51
Posts: 685
Location: Germany
OH MY G.... :shock:

You put a lot of work into that. Thanks again for this detailed Report. :D

Thanks to you i am gona play TRON 2.0 & NOLF & Co. with PROPER WIDESCREEN :bowdown

Again GREAT JOB :!:

_________________
CZARMAN aka 彼得爸爸


Top
  
 
PostPosted: 26 Apr 2010, 01:43 
Offline
Insiders
Insiders
User avatar

Joined: 21 Mar 2006, 05:01
Posts: 1993
Kudos, redrain85.

Now i hope just hope is still have my old Tron discs somewhere...


Top
  
 
PostPosted: 26 Apr 2010, 01:58 
Offline

Joined: 26 Mar 2010, 00:58
Posts: 32
Thanks guys. :cheers

You put a lot of work into that.

Well, see, that's another reason I was a bit reluctant to reveal how it was done.

I can see some folks just using the console commands, editing the resolution, and then settling for a half-assed widescreen implementation rather than download and install the mod. Because it's "good enough". And then all the work our team did on the mod will go to waste.

It's not just a widescreen mod, we did a lot of other things too. New Multiplayer characters, new Light Cycle colors, new cheats in the Single Player game, and tons of fixes and other improvements. It would be a shame if people just used the knowledge presented here in this topic and skipped the mod. I'd hate to see the years spent by my fellow teammates be ignored. :|

But I did want to share the info, so that other Monolith games can benefit.


P.S. In fact, could I perhaps make a plea that from the "guide" onward, this portion of the topic be split and merged with the other Lithtech topic in this forum? Or perhaps split into its own new topic?

I know it sounds kind of selfish, but I really would hate to see a lot of people rub their hands with glee and think "great, now I don't have to download that stupid mod any more". The thought of five years of hard work by a small, devoted team being ignored . . . is rather depressing.

_________________
TRON 2.0: Killer App Mod - Adds 16:9 and 16:10 widescreen support, game fixes, and much more



BenQ EW2420 | XFX Radeon 6870 1 GB GDDR5 | EVGA GT240 512 MB GDDR5 (Hybrid PhysX) | Asus M3A32-MVP Deluxe | AMD Phenom II X6 1100T BE 3.3 GHz | 4 GB G.Skill DDR2-1066 |

Auzentech X-Fi Prelude 7.1 | PCP&C Silencer 750W Quad | Coolermaster Elite 330 case | Windows 10 Technical Preview


Top
  
 
 [ 20 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: CommonCrawl [Bot], Yandex [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  




Powered by phpBB® Forum Software © phpBB Group