Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

*out of date* - PS:T 1024x768 UI pack (v0.6)

Joined
Nov 7, 2006
Messages
1,246
Sorry. I'll update the post.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
i tried the nearby offset pairs to the one that helps the lvl 9 spells, but it didn't work:(
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,100
Sorry my mistake. It seems that the high level spell offsets work only for the meteor storm spell. That was the spell i tested them with and I thought that it applied to all spells ... but it seems that would be too easy...

[edit] Damn! this is too much, each spell seems to have it's own-fucking-offsets!!! Trying out offsets in the exe and checking out 10 high level spells with cinematics each time, is just too much :x , unless someone can find a pattern or something....
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
The current offsets we found are from 002bdcba to 002d65c2. I think all spells are at around the same place in the exe so this is where we should search
What method are you using to locate the offsets? if you are rewrite offsets 'randomly' i think i can join in that.
Also summon celestial host fails to cast for me(probably bcoz i got the spell scrolls cheated in).
 
Joined
Nov 7, 2006
Messages
1,246
There was a mistake in the WeiDU sequence I posted. It's not
Code:
PATCH_IF 20992 THEN BEGIN
it's
Code:
PATCH_IF (~offset_0x00293a96~ = 20992) THEN BEGIN

Weird though, I had tested it and I was sure it worked. Anyway, I've corrected the post.

Also, Qwinn said that there could be more than 2 versions of Torment (e.g. perhaps the german version has a different Torment.exe):

http://forums.gibberlings3.net/index.ph ... t&p=131947

If it's true... we would need yet another list of offsets. Perhaps it would be easier to contact some Black Isle programmer and ask them...

Anyway, I'm working on one more check in the WeiDU PATCH_IF sequence, so that the mod fails to install if the version of Torment.exe is not one that we know of. Once I'm done, and I'm sure it works, I'll go offset hunting... and I hope that this time I find something, because up to now I simply failed at that.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
black isle is no more:(
What we need the most imo is the loading screen, spells are a nice bonus, but it's not like you gonna see lvl 9 spells more than 1-2 times/game.
A minor update:
002d65b8 640 spell display window(conflagration)-this offset is already known, but now specified
002d65c2 480 spell display window(conflagration)-this offset is already known, but now specified

002d6495 640 conflagration(effect center)
002d6488 350 conflagration(effect center)

002d528a 640 conflagration(casting center)
002d5291 249 conflagration(casting center)

I'll go upwards, probably goin thru several more lvl 9 spells.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
Found casting and effect center of rune of torment...but no 640 nearby for display window. What i don't know if there's seperate offset for both spells (in which case it doesn't seem to be a 640xsomething), or theres a common offset for all spells that has 'black rectangle' at top and bottom, as there's no 640 around the rune of torment's other offsets. (yea, it's confusing, and the fact that i can't really explain myself in english doesn't help either:()
EDIT: found powerword kill effect as well (center already found by ghost)
ghost can you post which offset modifies what of those that u've found.(i'm curious which is the Power word kill's casting)
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,100
The following offsets are for centering Spell Effects and casting for some low level spells like elysium tears and it seems it also centers the casting for some higher level spells like powerword kill , meteor storm and others?
Code:
002bdcba	x/2		   Center spell effects/casting	   [def=320][new=640]
002bdcb5	y+18/2		center spell effects/casting	[def=249][new=409]

as for the METEOR STORM SPELL the offsets are:
Code:
002CB0AD	x		spell display window	[def=640][new=1280]
002CB0B7	y		spell display window 	[def=480][new=800]
002ca70f	x/2		effect center  		    [def=320][new=640]
002ca716	y-72/2	     effect center  		 [def=204][new=364]

I can confirm that the CONFLAGRATION SPELL offsets are correct, though it seems you have misspelled a couple of the default values...
Code:
002d65b8 	x 		spell display window	[def=640][new=1280]
002d65c2 	y 		spell display window	[def=480][new=800]

002d6495 	x/2		     effect center  	    [def=320][new=640]
002d6488 	y/2+110?	effect center		[def=350][new=510]

002d528a 	x 		     casting center		[def=320][new=640]
002d5291 	y+18/2 		casting center		[def=249][new=409]

Now about the POWER WORD KILL spell: With all these offsets changed the spell has correct casting center and the display window covers the whole area. so some of these previous offsets of meteor storm must be the same with PWKill... (this whole thing is starting to get very confusing :S)

Celestial Host must be casted at a hostile NPC to work.

So the remaining spells That need centering are:

RUNE OF TORMENT (tap found one of them)
CELESTIAL HOST
MECHANUS CANNON
POWER WORD KILL (tap found it)
ABYSSAL FURY ??? (it shows on the top-left side but it looks kind of ok...)
ELYSIUM FIRE
DEATHBOLT
INGUS FURY
BLADE STORM
PANDEMONIUM
CHAIN LIGHTNING STORM
DESERT HELL


Also tap, can you post these offsets you've found for rune of torment and PWKill ? maybe I can help with the searching of the missing offsets.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
with some 'pattern' i located several casting centers. I might have mistyped, so can you please search the exe for 68f90000006840010000 and confirm they are correct?
SPELLCENTER:
002a910f x/2
002a910a y/2+9
002b928e x/2
002b9289 y/2+9
002bdcba x/2
002bdcb5 y/2+9
002be1b2 x/2
002be1ad y/2+9
002bf434 x/2
002bf42f y/2+9
002c5eda x/2
002c5ed5 y/2+9
002d35d2 x/2
002d35cd y/2+9
002d2108 x/2 runeoftorment(casting)
002d2103 y/2+9 runeoftorment(casting)
002d528a x/2 conflagration(casting)
002d5291 y/2+9 conflagration(casting)

The effect should be the nearest 40010000 from the casting center up or down basing on rune of torment and conflagration. Careful tho, it may crash sometime
EDIT: empties are not identified

Also this 1 for abyssal fury
002c0765 320 abyssalfury(effect)
002c0760 260 abyssalfury(effect)
(original values)
And pwk/rot
002d0e28 320 runeoftorment(effect) typo was here!!!
002d0e23 263 runeoftorment(effect)
002c978b 320 powerwordkill(effect)
002c9786 390 powerwordkill(effect)
original values
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,100
What kind of value is 68f90000006840010000 and how have you found it ? I'm not sure as to how to search it...
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
it's a hex string i suppose (i don't know this stuff lol), in my editor that's the effective way of locating what i need.

i have no idea what the 68 is, f9=249 40 01 is read as 0140 in hex 320 in decimal


Celestial host is also in the same category as mechanus cannon(display wise). I got one of it's offsets modified, i have no idea which tho.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
i'm gettin confused with all this stuff (especially with elysium fires, i HATE that spells). i no longer know what offset does what. Maybe those numbers does nothin at all(at least don't crash for me hehe). I guess i'll do it the slow way.
 

Mnemon

Educated
Joined
Jul 20, 2004
Messages
64
More or less off topic - but you might be able to pitch this to <a href="http://www.gog.com/en/intro">Good old Games</a> when done? Given they apparently do the changes to make games compatible to current OSes anyway ... it might be worth a shot.

-Mnemon
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
002d2771 x/2 mechanuscannon(effect)
002d2778 y/2+9 mechanuscannon(effect)
casting is the general cast centering
useless until we figure out the display window, but something at least
Your list is not full ghost, maybe it's a bit of a time waste but i think i'll make some chart with all spells from lvl 5 upwards noting what offsets are needed/found/used. It's insane to test something right now:P(now that lvl 9 spells except for elysium are fixed, i'm kinda lost as of what's where)
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,100
Wait, except for the centering values, you've also found the offsets for the display window of the level 9 spell effects? (for rune of torment , celestial host, etc?)

EDIT: No you haven't ... I just re-read your post... ^^

EDIT2: 2 of the offsets you posted are for CLOUDKILL (if i haven't missed something in all this mess):
002b928e x/2 (effect)
002b9289 y/2+9 (effect)

EDIT3 :

2 other of your offsets are for ELYSIUM FIRE :
002bf434 x/2 (effect)
002bf42f y/2+9 (effect)
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
Nice, that makes 8 spells that have problems with effect
deserthell
chainlightningstorm
howlofpandemonium
bladestorm
stygan icestorm
ignus fury
deathbolt
summon celestial host

deserthell,clstorm,stygan icestorm, deathbolt,bladestorm,celestial host will need some image editing as well but that should be easy (unless there's a bam maximum size(there is in baldur's gate=/) )
EDIT:
priest spells: spiritual hammer,call lighning,raise dead need new effect center
innate spells: skull mob, raise dead need effect center

EDIT2:from the list above, 4 values are for spiritual hammer, raisdead(innate and priest i think they are different) and skull mob. time to identify them.

EDIT3:
i was wrong, both raisedead effect is the same
002a910f x/2 skullmob(effect)
002a910a y/2+9 skullmob(effect)
002d35d2 x/2 raisedead(effect)
002d35cd y/2+9 raisedead(effect)
002d2108 x/2 spiritualhammer(effect)
002d2103 y/2+9 spiritualhammer(effect)
 
Joined
Nov 7, 2006
Messages
1,246
Alright, this should cause the installation to fail if Torment.exe is a version we don't know of... assuming that the offsets I chose aren't identical in a hypotetical third version of Torment.exe. There's no way to check that though.

Code:
COPY ~Torment.exe~ ~Torment.exe~

SET ~failure~ = 0

READ_SHORT 0x00293a96 ~offset_0x00293a96~

PATCH_IF (~offset_0x00293a96~ = 20992) THEN BEGIN
  PATCH_PRINT ~4CD version~
  WRITE_SHORT "0x3cad81" "1024"
  ...
  ...
  WRITE_SHORT "0x2ca716" "348"
END

ELSE BEGIN
  READ_SHORT 0x0056da27 ~offset_0x0056da27~
    PATCH_IF (~offset_0x0056da27~ = 20992) THEN BEGIN
      PATCH_PRINT ~2CD version~
      WRITE_SHORT "0x3cabc1" "1024"
      ...
      ...
      WRITE_SHORT "0x09a5d7" "294"
    END
    ELSE BEGIN
      PATCH_PRINT ~unsupported version~
      SET ~failure~ = 1
    END
END

ACTION_IF (~failure~ = 1) THEN
BEGIN FAIL ~Error: your version of the game is not supported.~ END

So before the second PATCH_IF list another offset is READ and stored as the variable ~offset_0x0056da27~. The offsets for the 2CD version are installed IF the value of ~offset_0x0056da27~ is 20992, ELSE the variable ~failure~ is SET as 1. At the end of the whole component, IF the variable ~failure~ is 1, the installation is forced to FAIL.
I tried to put FAIL directly in the ELSE list of the second PATCH_IF, but somehow that doesn't work. I'll try to improve it.

And btw, great work with the offsets!

edit: I forgot a line in the code. Fixed.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
whoops i was wrong somehwere before, rune of torment has no casting, only effect offset (or so it seems now as my rune of torment casting offset seem to be the spiritual hammer effect lol)
EDIT: not so apparent but:
002d9061 x celestial host display window
002d906b y celestial host display window

now the problem is that it needs more windows(the framed ones, this one is when it initally pans out to darkness).
EDIT:
howl of pandemonium
002ba1fa x/2 howlofpanda(effect)
002ba1f3 y/2+9 howlofpanda(effect)

EDIT i don't know how many:
Say hello to desert hell
002c718b x spell display window(desert hell)
002c71a2 y spell display window(desert hell)
002c71c6 x/2 deserthell(effect)
002c71c1 y/2+9 deserthell(effect)

EDIT yet again:
002d7254 x/2 ignusfury(effect)
002d725b y/2+9 ignusfury(effect)

Which makes it 5 wizard spells left, that is 1 full quickslot! woopie no more inventory! and 1 priest spell.
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,100
VO , thank you for the code!

Tap, great work with these offsets!!

unfortunately I can't test the priest spells since I've lost my old saves and I haven't gotten to Fall from Grace , yet (unless there is another way to hack the game with a save editor , but I haven't found one that does something like that)


Your howl of pandemonium offsets are correct , but you've mixed the x's and y's:

Correct howl of pandemonium
002ba1fa y/2+9 howlofpanda(effect)
002ba1f3 x/2 howlofpanda(effect)


You've also mistyped the desert hell x :

Correct desert hell x widow:
002c719b x spell display window(desert hell)

Ingus Fury is correct.
 
Joined
Nov 7, 2006
Messages
1,246
By the Powers, guys, you're really fast.
I think I'm doing something wrong. I went through all instances of "640" that HEX Workshop found (90) and tried changing them to 1024 one by one to see if it fixes the loading/unloading/saving screens... but it didn't work. Either I suck at hex editing even more than I thought, or the problem is bigger than I had imagined.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
sorry for the mistypings, but this is chaotic with all these offsets:) Thank for correcting them!
celestial host will be 1 huge spell i found it 'location' but i skip it for now . i think we should leave that last (especially with the needed display windows hehe).
What concerns me is bladestorm, it seems to be almost identical with desert hell but i haven't found it yet=/. Back to the exe!
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
I could have told you that it won't work sorry:( (i did that too lol).
What puzzles me is that in the chu files you can make progressbar...used in loading screens. But there's no chu file to edit and that's what puzzles me.
I think i soon got chain lightning storm and deathbolt(it crashes right now, good sign!)
 
Joined
Nov 7, 2006
Messages
1,246
So we have GBARBACK.MOS, the empty bar; GBARFORE.MOS, that, I guess, is somehow progressively "revealed" over GBARBACK.MOS; GBARCAP.MOS, that is always in front of GBARFORE.MOS during the process; GSKULOFF.MOS and GSKULON.MOS that are the remaining part of the bar ("unlit" and "lit" versions); and a bunch of backgrounds. I wonder how exactly all this stuff is put together.

Another thing: are the UI's "GUIALPHA" and "LUA" actually used somewhere? I've never found them in the game.
 

taplonaplo

Scholar
Joined
Aug 8, 2008
Messages
628
gui alpha suggests either alfa or demo imo
lua was in the game, but was removed from it before release(there's some text 'lua was here' or something somewhere)

002cec33 x/2 deathbolt(effect)
haven't found y

002cd5f6 x/2 chainlighningstorm(effect)
002cd5f1 204 chainlighningstorm(effect)
i'm lazy to do the math:P so 204 is orignal value

EDIT:
002c81ba x/2 styganicestorm(effect)
002c81c1 204 styganicestormeffect)
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom