bikerdude on 30/11/2008 at 15:09
Quote Posted by Hiatus
But preferably I'd like to be able to modify my exe by hex editing. But we need to know the changes being made.
If you look at the original thread, there was discussion about patching/h***ing the t2.exe
maybe as an Idea, people can send in their different version of the T2.exe, he can then modify them, add a version number and add them to the archive..??
biker
bikerdude on 30/11/2008 at 15:31
Quote Posted by SinisterShadow
My anti virus scanner reports this as possible Malware. Are you going to publish the source code, too?
that would be a false positive, just add it to the list of exempt programs etc.
Im running kaspersky 2009 and it had no problem with the zip file - what AV proggy you using..?
b.
sNeaksieGarrett on 30/11/2008 at 16:08
Okay, I have a suggestion to make for everyone... Because there are so many non-information posts (that is, not giving your name email address etc) I recommended one of two things:
A. We continue to post our information here, but Tos edits the first post with each person's post link to their info so that we can more easily find their post through all this. I recognize that Tos may not want to do that, so this leads to...
B.) Someone creates a new thread and calls it Thief 2 Multiplayer List, following in the footsteps of the System Shock 2 multiplayer list thread.
@Hiatus: Hex editing is not ideal, especially for people who don't know what they are doing. :/ Plus, I already tried this, it didn't work. My guess is he modifies the exe in more than one spot.
Hiatus on 30/11/2008 at 17:44
@sNeaksieGarrett:
1. I know hex editing isn't ideal, that's why I ask for a (generic) patcher.
2. I'm aware it modifies the .exe in more than 1 place (probably in 2-3 from a quick look) but it doesn't matter that much.
CMD on 30/11/2008 at 17:55
Name: CMD
Skype : cmdfighter
Email: [email]XCMDX@web.de[/email]
Modem: ---------
Location: Germany
server: ?????
*be happy :) :D *
maybe we could make a list about our skypes ,commections and else?
sNeaksieGarrett on 30/11/2008 at 20:34
1. True, you did hiatus, but you also said you wanted to hex edit. I know I'm being picky of your words, but you did say that.
2. The patcher idea like what ddfix does sounds like a good idea,seeing as it would be annoying to have to figure out how to hex edit the exe for this multipalyer patch...
Tos on 30/11/2008 at 21:25
Beleg, is the "total loot" text being displayed as white for you in game as well? Both it and the chat text should actually be red.
Also, I just noticed that "total loot" was being displayed even if you're the host of the game, despite what I said in the readme -- whoops. That will be fixed in the next update.
Quote Posted by sNeaksieGarrett
Hmm, I must be doing something wrong then.:confused: I feel a bit stupid. Ignore the bit about it being impossible to use widescreen patch then.:o :p
I'm really not sure why the widescreen patch is only working for some people. I just tested again with the latest version of the widescreen patch (I think I had an older one before), and was again able to apply it without any problems at all onto the multiplayer .exe. Are you both using the latest version?
Quote Posted by Child Of Karras
I just hope, that one of the next things to be done is the possibility to (re)pick up arrows. Keep up the good work!
I haven't had much luck in fixing that problem so far. Arrows can't be picked up because T2 MP sets their networking category (a property you can view in DromEd) to local only, which means that they only exist on your end and no information about them is sent to other players. When other players fire a projectile, they send a packet to you that creates a local copy of the arrow on your end, which is how you're able to see other players firing them. Obviously, if one player were to pick up a local object it would still appear to exist in the world for other players, so the game does not allow them to be picked up (I
could override that behavior, but it's not a good idea).
If arrows aren't local only, all sorts of strange problems begin happening. They will occasionally disappear after being fired, launch in a completely different direction than they should have, or just never even appear on your bow. They can be picked up, though. System Shock 2 (which uses largely identical network code) has local only projectiles as well, but since they can't be picked up or stuck into wood it's not an issue there.
There's some possibility that it could be fixed for broadheads and rope arrows if the CollisionStick script could be modified, but I don't know whether that's feasible or not. The other types of arrows would require a different approach, though.
Quote Posted by Hiatus
@Tos:
got a small suggestion/req: please specify changes you make to game .exe (what changes and at which offsets) so people with different size .exe (like 2 662 400 bytes etc) can make the needed mods themselves with hex editors, without having to use your supplied exe...
Unfortunately, I don't think this will be possible. T2 MP makes use of over 400 pointers to functions and variables with offsets hardcoded for this .exe only. In order to do what you're suggesting, I'd need to add offsets for each different .exe, then compile and distribute a different version of the .dll for each one. I'd then need to automatically detect which .exe the player is using at startup and load the appropriate .dll.
This would take an enormous amount of time to do for what I have already -- just going back and adding the new offsets would be tedious enough -- but I'd also need to do some work to find where each one is in the new .exes. If I made a mistake and put in the wrong address for something, I could end up with a bug that only affected a specific .exe, which could quickly turn into a debugging nightmare. It'd also add greatly to the amount of work I'd have to do to add new pointers.
It's just far too much work for too little return, especially if the other patches can be applied on top of this. If you really want to make the changes to the .exe manually (it
must be the same size as the one in the zip, or the game will crash), the following should do it:
At 0x120, change 50 E8 1E to DE DA 1F. (this changes the entry point)
At 0x1FDADE, change the entire block all the way up to 0x1FDAEF to B8 F8 F5 67 00 50 FF 15 B8 00 60 00 E9 61 0D FF FF 90. (this is the new code at the modified entry point -- it calls LoadLibrary to load ThiefMP.dll, then jumps back to the original EP)
At 0x27F5F8, write in ThiefMP.dll as an ASCII string (this is passed to the LoadLibrary call).
I haven't tried doing it that way on a clean .exe myself, but that should work. If it doesn't for anyone, let me know.
Yes, it's a false positive. I suspect it's being detected as a virus because the PE header of the .exe was changed to redirect the entry point outside of the code section (which probably explains the "PE_Patch" in that report). This was done so that I could add the new code listed above to load the .dll at startup, but for obvious reasons that may be typical behavior of some viruses.
Quote Posted by sNeaksieGarrett
Okay, I have a suggestion to make for everyone...
B.) Someone creates a new thread and calls it Thief 2 Multiplayer List, following in the footsteps of the System Shock 2 multiplayer list thread.
That would be a good idea.
Hiatus on 30/11/2008 at 22:01
@Tos:
thanks for the info on hex editing. Can I send you my .400 B .exe so you can check if the same changes apply to it as well? And, may I suggest that you switch to .400 B exe in your patch (it's more popular among the users than .445 B you use/supply now; you can use my clean .400 .exe as a base or get .400 from someone else)? I check these places and 2 (1st and 3rd one) are identical but 2nd place seems a bit different (hex zeros are there as well but they start "earlier" in .400 exe and I noticed you mod right where zeros start, and not in the "middle" - does it matter?).
Guess if both .400 and .445 .exes can be modded identically (or even if 2nd mod differs between the 2), you could write/supply a patcher then, not whole premodded .exe).