Hi-Res Patches for Fallout1&2 & the BIS Mapper

Awesome update Mash. The ability to change resolution from within the game is an impressive addition! The interface bar is also good looking. With your permission (which I assume is still there since I had asked you this before) I will be including this in the latest version of my RP.

The only gripe I have (like a few other have already expressed) is that the resolution button is below the exit button. Other than that, I am thoroughly impressed!
 
Mash, thank you. I wish I could do something similar, but all I can code is soft that doesn`t even work... Damn...

It`s a big luck, that Fallout community have such talanted people like you, killap, Continuum and others... Maybe even you guys, are community itself, and guys like me are here because you your work.

Anyway, best of luck, new version of Hi-Res patch have found its place on my HD forever.
 
Absolutely Killap, permission always granted. Looking forward to the next RP release.

As for the resolution button, I'm working on it. Expect another release within a day or 2.

Thanks Babax, you made my day. :)
 
The only gripe I have (like a few other have already expressed) is that the resolution button is below the exit button.

Maybe I can help with this. I already worked with buttons in main menu. You can look at this stuff (This is for sfall):

Code:
static const DWORD func_text_y_old=0x004D58DC;
static void _declspec(naked) func_text_main_menu_y() {
	_asm {
		call func_text_y_old;
		mov esi,0x0;
		mov edi,26; // 26 - y offset
		retn;
	}
}
static const DWORD func_buttons_y_old=0x004e0d37;
static void _declspec(naked) func_buttons_main_menu_y() {
	_asm {
		call func_buttons_y_old;
		mov esi,0x0;
		mov ebp,0x19;
		retn;
	}
}


int buttons_number_main_menu=GetPrivateProfileInt("TWILIGHT WORLD", "buttons_number_main_menu", -1, ini);
	if(buttons_number_main_menu!=-1) {
		if(*((DWORD*)0x4818BB) != 0xB88C7C06) return false;
		SafeWrite8(0x4818BB, buttons_number_main_menu); // number of buttons in main menu
		SafeWrite8(0x48193F, buttons_number_main_menu); // number of text strings in main menu		
	}

	int text_main_menu=GetPrivateProfileInt("TWILIGHT WORLD", "text_main_menu", -1, ini);
	if(text_main_menu!=-1) {		
		SafeWrite32(0x4818FA, 526); // 526 - x offset
		SafeWrite32(0x004818C4, ((DWORD)&func_text_main_menu_y) - 0x004818C8);
		SafeWrite32(0x004818C8, 0x90909090);
	}

	int events_main_menu=GetPrivateProfileInt("TWILIGHT WORLD", "events_main_menu", -1, ini);
	if(events_main_menu!=-1) {		
		SafeWrite8(0x519510, 0x6E); 
		SafeWrite8(0x519514, 0x6C); 
		SafeWrite8(0x519518, 0x6F); 
		SafeWrite8(0x51951c, 0x63); 
		SafeWrite8(0x519520, 0x65); 
		
		SafeWrite8(0x519528, 0x01); 
		SafeWrite8(0x51952c, 0x02); 
		SafeWrite8(0x519530, 0x09); 
		SafeWrite8(0x519534, 0x05); 
		SafeWrite8(0x519538, 0x07); 

		SafeWrite8(0x481b5F, 0x03);
	}

	int buttons_main_menu=GetPrivateProfileInt("TWILIGHT WORLD", "buttons_main_menu", -1, ini);
	if(buttons_main_menu!=-1) {		
		SafeWrite32(0x48187C, 428); 
		SafeWrite32(0x00481840, ((DWORD)&func_buttons_main_menu_y) - 0x00481844);		
		SafeWrite32(0x00481846, 0x90909090);		
	}

Loop where main menu buttons are create looks like:

Code:
_main_menu_create 
L00481650
...
do {
            ecx = 0x1a; // size of button (x)
            ebx = ebp;
            eax = M005194f0;
            ebx = ebx - edi;
            edx = 0x1e; // x offset
            ebx = ebx + 0x13;
            eax = L004D8260(0x1a, -1, -1, 0x457, *(esi + 0x519510), M005194fc, M00519500, 0, 0x20);
            *(esi + 0x614840) = eax;
            if(*(esi + 0x614840) == -1) {
                goto L00481893;
            }
            edx = M005194fc;
            L004D8828();
            ebp = ebp + 0x2a;
            edi = edi + 1;
            esi = esi + 4;
        } while(edi < 6);

You can place small check in this loop to move exit-button down.
 
Thanks for sharing your code Alray. Unfortunately I'd already uploaded a fix before I read your post(The new patch will be available once admin approve it).
What's "TWILIGHT WORLD" by the way, is that the name of a mod your working on?
 
I hope TW will be a Total Conversion of Fallout 2. Or perhaps just small mod but with new storyline :)
 
thats amesome, i think when more mdoders will work hand on hand we will create something really big and amzing.
 
The new version of my fallout2 patch is up 2.0a. You can now set the "Screen Set" button to any position in the main-menu task list. By default I've put it just below the "Options" button. Links are in the first post or my sig.


Alray said:
I hope TW will be a Total Conversion of Fallout 2. Or perhaps just small mod but with new storyline :)
Good luck, hope to play it someday.:)
Just one concern, the code you posted earlier will probably conflict with what I've done with the "Screen Set" button. Will you be adding stuff to the main-menu in TW?
 
I'll add animated main menu, so my TC will conflict with your patch :( But I think if I produce at least demo of my mod we'll agree with main menu code :)
 
Is it something on my end or are save games made using the res patcher no longer openable by FALCHE2?
 
It seems the resolution has an effect on the save files. The save.dat is noticeably larger in size the greater the resolution. I had a play around and if you reduce the resolution to 1024x768 or below and re-save, Falche2 seems to works as it should. I'll have a closer look at this though.
 
Mash,

thanks for this resolution patch and option to set resolution in game. People started to play Fallout 2 again because of this patch. Great job! :clap:

I have just one question. Why the resolution scroll buttons works contrariwise? Shouldn't be top arrow button change scroll to the higher resolution and bottom one to lower resolution?
 
More on FALCHE2:
I checked some "SAVE.DAT" files against the file format info found on the wiki at http://falloutmods.wikia.com/wiki/SAVE.DAT_File_Format
Higher resolution seems to affect a "SAVE.DAT" in 2 areas.
1st is the "Function 23 - Party" section, which is said on the wiki to relate to your party members, but this doesn't seem to be the case. This is where the file size increase is occuring.
And 2nd the "Function 12 - Party AI" section, which is said to contain records about party members from "AI.TXT". At the bottom of each record there are 3x4bytes listed as unknown in the wiki, and its the size of the values in these unknown areas that are causing the problem with Falche2.
Anyway I don't think the res patch is causing any problems. Just that the Falche2 program doesn't handle the changes made to those unknown areas very well.

JaW said:
Why the resolution scroll buttons works contrariwise? Shouldn't be top arrow button change scroll to the higher resolution and bottom one to lower resolution?
Call me crazy :crazy: but I think the buttons are right the way they are. Other menu's in the game work the same eg. load screen, inventory etc. The UP button moves toward the top of the list and the DOWN button toward the bottom.
 
Mash said:
JaW said:
Why the resolution scroll buttons works contrariwise? Shouldn't be top arrow button change scroll to the higher resolution and bottom one to lower resolution?
Call me crazy :crazy: but I think the buttons are right the way they are. Other menu's in the game work the same eg. load screen, inventory etc. The UP button moves toward the top of the list and the DOWN button toward the bottom.

Mash, this wasn't my point. I just thing it is logical to have the higher resolution on the top of the list so if I press the top arrow button it will move to higher resolutions and back, if you know what I mean. Sorry for bothering you :lol:
 
JaW said:
Mash, this wasn't my point. I just thing it is logical to have the higher resolution on the top of the list so if I press the top arrow button it will move to higher resolutions and back, if you know what I mean. Sorry for bothering you :lol:
OK now I understand.:) That should be doable, but I probably wont be releasing another version until I have something new to add or if a bug is found.
 
Back
Top