Jump to content

Good job :)


Garza

Recommended Posts

Just wanted to congratulate you, the bigg, for this useful mod :)

I've tried both standart resolutions 1440x900, 1680x1050 and some weird such as 1300x812, 1000x625 (two last in window mode only), at first sight everything works fine.

Although "unknown guy's original 1440x900 modification" suits me enough, with your mod GUI looks slightly better :)

Link to post
Although "unknown guy's original 1440x900 modification" suits me enough, with your mod GUI looks slightly better :)

I would have offered better credit, but no author and/or contact is listed. If you know him, tell me so that I can amend.

Yes, GUI is better - otherwise, why would people download my modification? :)

Link to post
If you know him

Only nickname - he calls himself weak-ling on gamebanshee forums.

OK, many thanks - I'll have to contact him both for giving credit and asking how he found the offsets, so that I can do the same with other games :)

Link to post

My mod is strictly tp2, apart from MOS patching which is handled in WeiDU. Anyway,

DEFINE_PATCH_MACRO ~write_short~ BEGIN
READ_SHORT where old_v
PATCH_IF old_v != old THEN BEGIN
	PATCH_PRINT ~Offset %where% was %old_v%, should be %old%.~
	PATCH_PRINT ~Report success or failure of mode setting to The Bigg.~
END
WRITE_SHORT where what
END

COPY ~bgmain.exe~ ~.~
// Hack 1024xY. Also works for generic XxY.
SET old = 1024  SET what = x SET where = 206897 LAUNCH_PATCH_MACRO "write_short"
SET old = 768   SET what = y SET where = 207717 LAUNCH_PATCH_MACRO "write_short"

// special case: 800xY.
PATCH_IF x = 800 THEN BEGIN
	SET old = 800   SET what = x SET where = 206885 LAUNCH_PATCH_MACRO "write_short"
	SET old = 600   SET what = y SET where = 206967 LAUNCH_PATCH_MACRO "write_short"
END

// increment by XDelta
SET old = 960  SET what = old + x - xOld SET where = 207842 LAUNCH_PATCH_MACRO "write_short"
SET old = 960  SET what = old + x - xOld SET where = 207929 LAUNCH_PATCH_MACRO "write_short"
SET old = 960  SET what = old + x - xOld SET where = 208016 LAUNCH_PATCH_MACRO "write_short"
SET old = 960  SET what = old + x - xOld SET where = 207756 LAUNCH_PATCH_MACRO "write_short"
SET old = 960  SET what = old + x - xOld SET where = 208102 LAUNCH_PATCH_MACRO "write_short"
SET old = 960  SET what = old + x - xOld SET where = 208189 LAUNCH_PATCH_MACRO "write_short"

// increment by YDelta
SET old = 614 SET what = old + y - yOld SET where = 207939 LAUNCH_PATCH_MACRO "write_short"
SET old = 629 SET what = old + y - yOld SET where = 208026 LAUNCH_PATCH_MACRO "write_short"
SET old = 522 SET what = old + y - yOld SET where = 208199 LAUNCH_PATCH_MACRO "write_short"
SET old = 678 SET what = old + y - yOld SET where = 207766 LAUNCH_PATCH_MACRO "write_short"
SET old = 658 SET what = old + y - yOld SET where = 208112 LAUNCH_PATCH_MACRO "write_short"
SET old = 486 SET what = old + y - yOld SET where = 207852 LAUNCH_PATCH_MACRO "write_short"

// ...er, yeah.
PATCH_IF x > 1024 THEN BEGIN
 	SET old = 1280 SET what = x SET where = 206857 LAUNCH_PATCH_MACRO "write_short"

 

What I wanted to know is how weak-ling discovered that he/I had to patch these offsets (which I copied over) so that I can discover them for IWD* also.

Link to post

Most likely he did debugging :)

Just like I list/read the effect opcode code.

 

Once i know what he modified in bg, i can easily find the same code in iwd, as the two are very very (very) similar.

 

[edit]

I already found the part in HoW/ToTLM.

IWD has this part with different constants, and IWD2 is compiled with optimisations, so those are a bit tougher. I'm looking for the HoW/ToTLM offsets now.

Link to post
				ToB		HoW


1280x1024

206857 = 0x32809	0x35A93


1024x768

206897 = 0x32831	0x35Abb
207717 = 0x32b65	0x35DE9


800x600

206885 = 0x32825	0x35AAf
206967 = 0x32877	0x35b01


xdelta

207756 = 0x32b8c (960)	0x35B1f (736)
207842 = 0x32be2 (960)	0x35B5d (736)
207929 = 0x32c39 (960)	0x35B9c	(736)
208016 = 0x32c90 (960)	0x35BDb (736)
208102 = 0x32ce6 (960)	0x35C19 (736)
208189 = 0x32d3d (960)	0x35C58 (736)


ydelta

207766 = 0x32b96 (678)	0x35B26 (510)
207939 = 0x32c43 (486)	0x35B64 (318)
208026 = 0x32c9a (614)	0x35BA3 (446)
208199 = 0x32d47 (629)	0x35Be2 (461)
208112 = 0x32cf0 (658)	0x35C20 (490)
207852 = 0x32bec (522)	0x35C5f (354)

Link to post
Cool, thanks. I'll put them into action for IWD ASAP.

 

I can't wait for IWD2 version! It will be a god-send! It's so difficult to switch from those beautiful wide-screened games back to the windowed mode.... :) So, go, the Bigg, GOOOOOO!

Link to post
Cool, thanks. I'll put them into action for IWD ASAP.

 

I can't wait for IWD2 version! It will be a god-send! It's so difficult to switch from those beautiful wide-screened games back to the windowed mode.... :) So, go, the Bigg, GOOOOOO!

Heh, send me a cheer too :) I need motivation.

Link to post

A warning to Bigg: you better check all offsets first, and change the values only when ALL of them are ok. Otherwise you might get a partially patched game.

And do a BACKUP, else people will scream over their ruined .exe soon or later.

Link to post

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...