Jump to content

Fallout 2 resolution patch


G!!!

Recommended Posts

The low resolution on the Fallout games has long been a bother and an oft-requested thing for our modders to look at. We've long since had a highly bugged Fallout 2 resolution patcher, but now Mash comes in swinging with a relatively bugfree (not fully tested yet) patch to increase Fallout 2's resolution. From the readme.

As the title suggests this program modifies "fallout2.exe" in memory for the purposes of increasing the visual resolution. It also allows for movement of the taskbar and most, if not all menus and panels by way of variables listed in the included "f2_res.ini" file.

This Mod was made for Version 1.02d of the "fallout2.exe".

It was compiled with "Visual C++ 6.0 -sp6" and should work on most versions of Windows.

http://www.nma-fallout.com/forum/dload.php...mp;file_id=1114

ispravljen ogroman broj bagova, nije u potpunosti istestiran

izgleda sjajno...

README

FALLOUT2 HIGH RESOLUTION PATCH README Ver 1.0

********************************************************************************

**

Created by Matt "Mash" Wells 12 May 2008

mashw@bigpond.net.au

About

As the title suggests this program modifies "fallout2.exe" in memory for the purposes of increasing the visual resolution. It also allows for movement of the taskbar and most, if not all menus and panels by way of variables listed in the included "f2_res.ini" file.

This Mod was made for Version 1.02d of the "fallout2.exe".

It was compiled with "Visual C++ 6.0 -sp6" and should work on most versions of Windows.

Fallout2 High Resolution Patch Contents

f2_res_patcher.exe Patches "fallout2.exe" to load "f2_res.dll".

f2_res.dll Modifies "fallout2.exe" for higher resolutions.

f2_res.ini Configuration file for "f2_res.dll"

f2_res_README.rtf This Read Me

data (folder) Contains "grid000.FRM". A black tile that replaces missing map tiles found beyond the borders of original maps (hides mouse trails).

Installation

1. Extract to Fallout2

Double-click the "Fallout2 High Resolution Patch v1.0.exe". Click the [browse] button and find your Fallout2 installation folder (usually "C:\Program Files\BlackIsle\Fallout2\"). Click [Extract], the extraction window will disappear once complete.

2. Patch "fallout2.exe" to load "f2_res.dll"

Once extraction is finished, open your Fallout2 installation folder and Double-Click the "f2_res_patcher.exe". A Message-box will appear asking if you want to patch the "fallout2.exe". Click the [ok] button to continue. You should then see the message "fallout2.exe was patched successfully".

If you ever want to remove this patch, you can do so by running "f2_res_patcher.exe" again and following the prompts.

3. Play the Game

The game is now ready to play at higher resolutions. By default the game resolution will automatically be set to your current desktop resolution. If you want, you can change this by editing the config file "f2_res.ini"", this is explained in more detail below. Otherwise just start the game as normal.

Troubleshooting

If after installation the screen resolution remains at 640x480, you may need to find the run-time components for Visual C++ 6.0. These can be downloaded from Microsoft, just search for "Vcredist.exe" in your favourite search-engine.

Also if you use Timeslip’s patch, the 'mode' setting in the [Graphics] section of his "ddraw.ini" file should probably be set to 0. The Window and DX9 modes expect a 640 by 480 resolution, and don't function correctly.

Known Bugs

Dialog Panel

Dialog view screen is garbled for non-talking head NPC's. As a temporary solution I've prevented drawing to it, so all you see is a blank screen.

Loading New Maps

When a map tries to load it centres the screen around the character, if the visible screen extends past the map border, it refuses to load.

Current fixes for maps

I've bypassed an error check that forces the map to load anyway, this forces the visible screen to use coordinates from the previous map visited. So sometimes you will have to scroll around a bit to find the player character.

This also sometimes causes a fake player and party to appear in the centre of the screen. I've reduced the occurrence of these a little by forcing a redraw in a couple of places. At any rate they will disappear when the screen next refreshes or you swipe them with the mouse.

I've extended the map borders out as far as I dared which helps some maps to load safely. If the game crashes when scrolling to the edge of maps, adjust MAP_LIMITS_YA, MAP_LIMITS_XA and MAP_LIMITS_XB to their original values, these are located in the VARIABLES section of the

"f2_res.ini" file.

I've turned off the inner scroll blockers to prevent being stuck on the wrong side when a map loads incorrectly.

I've turned off scroll limits as this was more practical for high resolutions. They can be re-enabled by commenting out the 2 offsets located in the OFFSETS section of the "f2_res.ini", you can find them under the label #IGNORE SCROLL LIMITS X AND Y.

f2_res.ini

This is where most of the action happens. I wanted to keep as much of the mod as accessible as possible so it could easily be read and modified by others. Some code changes unfortunately required extra space and so were hooked to functions within the f2_res.dll. The offsets of these can be found in the PANELS section described below.

The "f2_res.ini" file is divided into four sections SETTINGS, VARIABLES, OFFSETS & PANELS.

SETTINGS

There are three settings to adjust presently, they are as follows.

Error checking

Checks memory contents before writing. By default a message box will pop up (if there is a problem) giving you the offset of the first byte to be written. Writing to memory will then be skipped and the program will resume. Further details can be found in the "f2_res.ini".

Auto Screen Size

On by default, sets screen automatically to windows desktop resolution. Set to 0 and change SCR_WIDTH and SCR_HIGHT in the VARIABLES section for a custom resolution.

Notify Centre X

Changes which way the notify panel scrolls horizontally. The Notify panel being where Sneak, Level up, Radiated etc are displayed. Choices are scroll left, right or centre. It is set to centre by default (I did this by accident and liked the look of it).

VARIABLES

The variables defined here are mostly the X & Y coordinates of the top left corner of the various Menus & Panels. They are then utilised in the following sections OFFSETS & PANELS.

The Screen size variables can be set here and are located near the top. Placement is critical in the variable list, as one variable can be used in calculating the value of another variable below it.

Variables can be defined with simple equations, for example,

"TASKBAR_Y = SCR_HIGHT-101"

Where “TASKBAR_Y” is the position of the top of the taskbar and "SCR_HIGHT-101" (Screen height minus the taskbar height) places the taskbar on the bottom of the Screen.

Equations compile from left to right, brackets can be used if needed, for example,

"3*200+(SCR_WIDTH/2)".

Variables can also be strings for example, "START_MAP = artemple.map".

You can define your own variables if you wish.

OFFSETS

This is where the more simple changes are made by swapping old data with new.

Example Code:

MEMORY OFFSET LENGTH ORIGINAL DATA REPLACEMENT DATA

004CAD6B 4 80020000 SCR_WIDTH

MEMORY OFFSET is the position in memory of the first byte of data to be changed.

LENGTH is the length of the data in bytes.

ORIGINAL DATA is the data to be replaced in hexadecimal code, in this case 80020000 which as an integer equals 640.

And finally, the REPLACEMENT DATA, which can be a variable "SCR_WIDTH" or an Integer "800". It can also be a simple equation as described in the VARIABLES section.

Hexadecimal code can be used as well using "REPLACE" example "REPLACE 20030000".

Or to fill a line with the same character you can use "FILL" example "FILL 90".

This is the same as "REPLACE 90909090" where the original data is 4 bytes long.

Strings can be inserted via a VARIABLE.

Example Code:

MEMORY OFFSET LENGTH ORIGINAL DATA REPLACEMENT DATA

005194C8 12 617274656D706C652E6D6170 START_MAP

If "START_MAP" has been assigned "cave1.map" (which is 9 characters long) in the VARIABLES section, the remaining characters would be zero filled, and in hex the REPLACEMENT DATA would equal "63617665312E6D6170000000".

PANELS

This section contains hooks to functions contained within the "f2_res.dll" file (Mostly for adding X and Y positions for panel and menus and aligning their associated mouse event positions and stuff).

Example,

NAME = MESSAGE_BOX

CODE_OFFSET = 0041D0FB, CODE_LENGTH = 9

OLD_CODE = 680001000089EA89F8

NEW_CODE = 6800000000C3909090

RETURN_OFFSET = 0041D104

CALL_START = 1, PANEL_X = CENTRE_X, PANEL_Y = CENTRE_Y

Pretty self-explanatory for the most part. CALL_START is probably the most confusing, it is a pointer into NEW_CODE. It is where an address to a function within the "f2_res.dll" will be inserted, in this case replacing 00000000. The function will use the variables PANEL_X and PANEL_Y to set the location of the MESSAGE_BOX panel.

Conclusion

This is my first Game Mod and my first Read-me (hope it wasn't too confusing). It's still a work in progress. In any case I hope you have fun with it.

fallout_table.gif

 

 

 

Link to comment
Share on other sites

Respect za patch, al bih i dalje voleo da vidim Fallout 1/2 odrađen u Commandos 2 engineu sa zadržanom poteznom borbom, that would be a blast. Jel može neki skrinić sa ovim patchom, i jel stvarno mogu da se sklone paneli?

"You're the first of the official death squads to whom we've been formally introduced... How do you do?"

 

"By my deeds I honour him, V8."

 

Link to comment
Share on other sites

bitno je staviti bar oficijelni 1.02 patch da igra ne bi bila bagovita :) a mozes staviti umesto njega one nezvanichne koji dodaju josh ponesto i ispravljaju josh ponesto... tako da bez tog 1.02 patcha je moguce ali nije preporuchljivo igrati, eto ...

fallout_table.gif

 

 

 

Link to comment
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...