Thief 1/2 & SShock 2: DDFix and Enhanced Resolution Patch - discussion - by bikerdude
Timeslip on 4/4/2008 at 20:57
Quote Posted by Hiatus
Q: and in vanilla T2, how obj textures are handled? Also preloaded at level start, as world textures? (hence no noticable stuttering on 1st seeing them? and of course smaller size). Just making sure..
Yes, all textures used in the mission, both world and object, are loaded into system ram at level load. They are then copied into vram when they first appear on screen, and are removed from vram when they are no longer on screen.
ZylonBane on 4/4/2008 at 21:01
Interestingly, the HRP/SD Duke project for Duke Nukem 3D faces this exact issue. Their port of the Duke engine offers the choice between preloading all textures, or doing on-demand loading. The former gives you level load times sometimes over a minute, while the latter gives heavy stuttering every time you enter a new area. Scary stuff.
That being said, high-res object textures would be quite the rarity. The overwhelming majority of the objects in Thief are so small that 256x256 is more than enough (as the Thief Enhancement Pack aptly demonstrates). And the BIN format allows at least 16 textures per object, so pretty much the only thing you'd need high res for would be large flat objects-- paintings, signs, etc.
So a naive, brute-force preload algorithm might be entirely adequate in this case.
Assidragon on 4/4/2008 at 21:45
I have mapped the address changes needed to make it work with Shock2.
Code:
Thief2 addy -> Shock2 addy.
0041D948 -> 00419B5D (in Shock2, it originally calls: 0x00419710)
0041D96B -> 00419B82 (in Shock2, it originally calls: 0x004198A0)
0062A67C -> 0065A768 (in Shock2, it original points to: 0x005E3360)
0040FCA4 -> 0040D136 (in Shock2, it originally points to: 0x00418F60)
005BD427 -> 005E344F (originally calls: 0x005E34F8)
0060015C -> 0062A168
00591440 -> 005B89C0
Note the shock2 addys are not "adjusted" so to speak - those addresses point to the opcode before the to-be-overridden things themselves.
Looking forward seeing SS2 being supported. :cheeky:
Hiatus on 4/4/2008 at 21:49
@Assidragon: do you have TDP and/or TG as well? If yes, could you find the pointer mappings there as well (in TDP v1.33 and TG v1.37)?
also, let's not forget about editor .exe's for all DE games...
Assidragon on 4/4/2008 at 22:24
I don't own either. But ask and ye shell receive. I found a link to a Thief Gold executable in this thread, so I downloaded it and dug up a few things.
Code:
Thief2 addy -> Thief Gold addy.
0041D948 -> 00418BED (in TG originally calls: 0x004187A0)
0041D96B -> 00418C10 (in TG originally calls: 0x00418930)
0062A67C -> 005DA9B4 (in TG original points to function: 0x00576880)
0040FCA4 -> 0040C82D (in TG originally points to: 0x00417FF0)
005BD427 -> 00576976 (in TG originally calls: 0x00576A1F)
0060015C -> 005B614C
00591440 -> 00548480
Now I would not mind if someone who actually ran the thing once would double-check that, but I don't see any reason why they would be wrong (apart from me screwing up, but I trust myself :joke: ). Same story like with the Shock2 ones: these addresses point to the opcode, not to the bytes after them that need to be overwritten.
Hiatus on 4/4/2008 at 22:36
@Assidragon: big thanks for the pointers! Hopefully Timeslip will incorporate support for SS2/TG having this info and, it will actually work there as well (fingers crossed).
sNeaksieGarrett on 4/4/2008 at 22:38
I'm sorry, I did not make myself clear... I meant an extracted version of 1.1.1 that I packaged in a zip that IS the GUI version
Quote Posted by Timeslip
Yup. Lets you replace any .pcx, .bmp or .gif texture with a 32 bit replacement with no size limits
Fantastic! :o :cool: So, it IS possible to change the world textures... or am I understanding wrong?
If this is possible, then could someone possibly up the resolution on TG/T2 textures instead of making new ones?
Also, nice redone of the ddfix links on your page Timeslip.... I kept thinking it'd be cool to have a description, and almost suggsted it, but I thought better of it because I figured everyone would obviously know what ddfix is (assuming everyone who knows of ddfix is from this forum)
Woops, just noticed... can't do it for Thief gold.
Hiatus on 4/4/2008 at 22:40
@sNeaksieGarrett: please up it to rapidshare or similar (I'll also PM you with email addy). Also, Timeslip could use it to add missing 1.1.1 GUI (which he didn't keep and thus doesn't currently have) to his site (if he wants to).
Quote:
So, it IS possible to change the world textures... or am I understanding wrong?
yes, world AND game object textures :cool: - praise Timeslip :)
sNeaksieGarrett on 4/4/2008 at 22:55
All hail the Master Builder of DDFIX!:thumb: :cheeky:
ZylonBane on 4/4/2008 at 23:10
Quote Posted by sNeaksieGarrett
If this is possible, then could someone possibly up the resolution on TG/T2 textures instead of making new ones?
Ummm... wouldn't a texture of higher resolution be, in fact, a "new one"? :erg: