SunBeam on 26/5/2011 at 15:30
Restarted project work, this time a little different.
Inline Image:
http://www.ttlg.com/forums/images/icons/icon4.png ThiefInject v1.0ThiefInject is a simple tool conceived for the sole purpose of loading dynamic link libraries into Thief 2's (for now) memory space. For the time being, only
DarkHook.dll can be injected. I've not had the time to work more on the subject at hand, so the archive below contains injector and v1.1b I released a while ago.
Link: [ (
http://www.multiupload.com/V1WS9SI9GE) ]
Notes:
a. Once loaded, ThiefInject will appear in your Windows taskbar, near the clock.
b. The tool monitors system processes, from the time it's launched, in looks for "thief2.exe" process.
c. Once found, it will check whether "DarkHook.dll" already exists inside game's memory space. If not found, it will inject it silently. DLL must be present in ThiefInject's folder!
d. To close the tool, either right-click on it in the taskbar and choose "Exit"
OR press
F12 (to be changed later based on suggestions) key.
e. REMEMBER: For as long as ThiefInject remains open (you see the icon in the taskbar), feel free to open/close Thief 2 as many times as you wish. Injection is done automatically, so close it only when you don't need it anymore.
Cheerios,
SunBeam
Chiron on 27/5/2011 at 07:36
Thank you. It is good to see that DarkHook is still being worked on.
I hope this solves the problems I sometimes had with Winject. (it crashes, so you couldn't remove the effect/cheat unless you've restarted both)
SunBeam on 27/5/2011 at 09:01
Some feedback and suggestions are also welcome.
Started playing a FM today, Phantasmagoria 2 of Yandros, and it got me thinking:
- find Garrett's stats (speed, gravity value, jump height);
- find Garrett's body solid state bool (solid, noclip - thus able to go through walls, doors, ceilings, etc..);
- find the invisibility BOOL, when you drink a potion for instance;
- find the breath bar when underwater and remove its conditional;
More to follow ;-)
Cheers,
Sun
malau on 1/6/2011 at 08:56
Welcome back Sunshine !!!!!!! :thumb:
Just wondering, with the new version, how do you actually activate the cheats ?
It used to be with NUM keys, but now they do nothing.
How do you activate the cheats ?
Can you make the EXIT key configurable ? F12 for me, is the compass hotkey.
EDIT: - Also when Thiefinject is running, it seems to affect my Desktop programs in that I can't use right click anymore unless I exit Thiefinject.
SunBeam on 1/6/2011 at 20:40
@malau: I haven't encountered that effect on my side. What's your OS? As for hotkeys, they are the same, DLL is not modified at all. F1 to display options, numpads to activate them (1, 2, 3, 4) and F12 to kill ThiefInject. Awaiting feedback. Thanks!
SunBeam on 8/6/2011 at 15:18
New stuff digged up, as much as time permitted me, sadly..
1. For those wanting to test Thief 1, 2 & DromEd in
windowed mode I recommend using
(http://www.multiupload.com/IGDRF6BXH1) DirectX Windower 1.88. I've translated the Japanese version at some point, with menus and all, so it's easily usable. Archive contains the settings I made for DromEd to run game properly in a window. Just change the path in "hook.ini" file to point to your game's directory, open up "dxw.exe" and hit the blue "play" button. Run DromEd, load a map, enter game mode and you shall see the effect ;-)
2. Ported up the data I collected a while ago to DromEd 1.18 (I've been using 1.03, imagine my surprise). Having said that, here's a pastebin of usable info:
> _hash_set = 6A7720;
> _hash_delete = 6A7A50;
> _config_table = 1059AC0 (DWORD);
> _gPlayerObj = 811CFC (DWORD);
> _DarkMessage = 5F6200;
> _PhysSetGravity = 56AB70;
> _PhysSetBaseFriction = 56C260;
> _cheats_active = 6EF5EC (DWORD);
> _g_PhysicsOn = 727B0C (DWORD);
I know some of you asked for a "ghosting" option, considering the only one available is "fly". So, in the past, fly works as follows:
FLY ON: _PhysSetGravity( _gPlayerObj, 0.0 ) + _PhysSetBaseFriction( _gPlayerObj, 320.0 );
FLY OFF: _PhysSetGravity( _gPlayerObj, 1.0 ) + _PhysSetBaseFriction( _gPlayerObj, 0.0 );
These are the implicit values game assigns to player when options are activated/deactivated. That's also what FLY does in DarkHook. To get ghosting (although I tried it a bit and has a few bugs - collision detection - but works) I'll also add in the _g_PhysicsOn. Just a heads-on warning that with some objects, such as walls, there'll be a little `struggle` :-) Haven't tested yet how AI reacts to physics, if they fall out of map or not..
3. Things I'm looking into for next session: altering Garrett's speed of movement and finding out where the blasted invisibility pointer is. Perhaps - as seen in other missions - alter the sound meter as well.
Cheers,
Sun
Nameless Voice on 8/6/2011 at 17:07
Just a heads up: unless that's a newer version that the one I made a half-translated version of a few years ago, that D3D Windower does not work in Windows 7. XP and below only.
malau on 13/6/2011 at 11:43
Quote Posted by SunBeam
@
malau: I haven't encountered that effect on my side. What's your OS? As for hotkeys, they are the same, DLL is not modified at all. F1 to display options, numpads to activate them (1, 2, 3, 4) and F12 to kill ThiefInject. Awaiting feedback. Thanks!
Hi Sunbeam,
I have XP64.
I just tried your new v1.2 and also couldn't get it to work with vanilla T2.
I ran T2, alt tabbed out, ran Thief Inject, alt tabbed back in, tried pressing n1 - n4 and nothing.
Tried pressing F1, nothing.
The old Winject of yours still works perfectly.
SunBeam on 13/6/2011 at 14:06
Hello. Winject wasn't written by me, and ThiefInject was compiled on a x32 system, therefore I forgot to mention it doesn't work on x64 - well it should, no idea why, probably incompatible APIs. Try running it in 32b mode?
EDIT #1: I keep hearing about "vanilla T2". What does it refer to precisely? Original T2? Or some other mod? Am curious :-)
EDIT #2:
New additions:
+ Hacked Garrett's default speed values - he's running like a madman through the levels;
- TODO: Fix God Mode to allow Garrett to heal while his HP bar is < than Max_HP;
Build to be posted soon ;-)
Cheers,
Sun