Deus Ex: Human Renovation (fan patch/mod)

A refuge for those migrating from the fallen DXEditing.com and a place for general discussion relating to Deus Ex editing (coding, mapping, etc).
nerdenstein
Illuminati
Posts: 1591
Joined: Thu Apr 24, 2008 7:40 pm
Location: Leicester, England, UK.

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by nerdenstein »

bobby 55 wrote:
nerdenstein wrote:Any error messages?

Also, you can still get NV Textures with DX9. You just need to make sure SCT3=True. I think that's the line, but that's coming from memory and I have no way of checking it. Could you check for the line in the deusex.ini under the DX9 renderer settings? It'll be something similar to that.
UseS3TC=True :)
That's the one... Cheers Bobby. :mrgreen:
The real trouble with reality is that there's no background music.
revel911
Thug
Posts: 22
Joined: Sun Aug 21, 2011 9:25 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by revel911 »

nerdenstein wrote:Any error messages?

Also, you can still get NV Textures with DX9. You just need to make sure SCT3=True. I think that's the line, but that's coming from memory and I have no way of checking it. Could you check for the line in the deusex.ini under the DX9 renderer settings? It'll be something similar to that.
In game, no error messages. Just goes straight to the Windows 7 App is not working screen, which gives me this message:

Problem Event Name: APPCRASH
Application Name: DeusEx.exe
Application Version: 3.0.0.0
Application Timestamp: 4e3853ce
Fault Module Name: StackHash_51f6
Fault Module Version: 6.1.7600.16559
Fault Module Timestamp: 4ba9b29c
Exception Code: c0000374
Exception Offset: 000cdc9b
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 1033
Additional Information 1: 51f6
Additional Information 2: 51f6b29050f3691fad18a4fc34fdd509
Additional Information 3: 6175
Additional Information 4: 6175d9671852304d3729216dd13a1523
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by G-Flex »

In addition to my computer still not being online, I hit a snag where the recent hurricane knocked out power to my house for several days. It's back on now, but that's definitely more of a delay.

doog1114 wrote:Hey, I think I've found a problem with this fan patch. If I try to play with an untrained athletics skill, I'm unable to jump over some of the most basic ledges. One example is on the rooftops of the warehouse district. I've become stuck up there. As soon as I put some points into the athletics skill, it's easy to jump over the ledges again, but I wouldn't imagine that being an intentional feature. Otherwise, so far so good. Thanks a lot for this great patch.
I was hoping there wouldn't be problems like this!

Just to be clear, there are quite a few low ledges on the rooftop edges in the warehouse district that you just barely can't jump over in plain DX, because they're slightly above your jump height. Are you sure you don't mean those? The default untrained jump height is quite close to the old one (except now you just miss being able to jump on top of supply crates). If you have any other examples, I'd like to know about them, and I might do my own test runthroughs of the maps to see how it plays out myself. I don't want my changes to break anything that's game-essential, or to make normal map traversal too aggravating.


EDIT: Yeah, you're right. There are some ledges you're supposed to be able to jump on, and if you can't, there's a chance you can actually get stuck up there. To fix this and any similar problems, I'm altering the base jump height so it's the same as in regular DX, and lowering the effect that Athletics has on it a bit to compensate. The end result is that in the next version I upload, you'll start off with regular-DX jump height instead of lower jump height, and at max Athletics it'll be about the same (although with the speed aug you'll jump a bit higher/farther in the next version, since that's a multiplier of base jump velocity).

I'm glad to hear someone likes the mod, though! In the current version, there shouldn't be any problems if you have Trained (or higher) Athletics, as you seem to have noticed. Let me know if you run into any other problems, or have other feedback.


EDIT TO AVOID DOUBLE-POSTING:
HDTP support is finished, assuming it works as easily as it supposedly does with Shifter, I've made some tentative changes to the spy drone augmentation (it drains your energy much less and travels a bit faster so you can use it to scout much more easily, but it comes with a flat energy cost upon activation to prevent you from using it as a free endless bucket of EMP grenades as well), a few more trinkets/fixes from Shifter have been included, at least one other minor bug is fixed, and I'm finishing up some FoV fixes. With my current changes, your FoV should auto-correct to the right value for your aspect ratio upon game start/load even if you aren't using kentie's launcher, and binoculars/scopes also have the appropriate FoV for your aspect ratio instead of always using the same value (a previously unfixed problem). I'll post more updates as they come, along with a more formal one once a new version is ready and up.
Steve921
Mole Person
Posts: 4
Joined: Tue Sep 13, 2011 11:24 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by Steve921 »

Hello

I was looking for a mod that fixes bugs without changing gameplay too much and I am happy to have found one.

I am wondering though, is the laser always being in the crosshairs when you use the scope a bug? or are scopes supposed to give 100% accuracy? The crossbow seems to be an exception though (as in the shot doesnt seem to land in the middle of the crosshairs)


Has anyone noticed that the crowbar 1shots everything in the game with no training if you take them from behind and aim for the head?

And if you train low tech to master you can charge at people and kill them in 2 crowbar hits to the face. Kind of strange for a weapon with damage around 7 when those troopers have 200 head hp on realistic i think. Something weird is going on here I think
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by G-Flex »

Steve921 wrote:I am wondering though, is the laser always being in the crosshairs when you use the scope a bug? or are scopes supposed to give 100% accuracy? The crossbow seems to be an exception though (as in the shot doesnt seem to land in the middle of the crosshairs)
The laser should be in the center when you use the scope, because both the scope and the laser should (of course) be pointing straight along the barrel at all times. It wouldn't really make sense for one to deviate from the other.

This might surprise you, but the fact that the shot always lands in the center when you have the scope up is normal. I didn't make that change. As far as I know, that's true in regular Deus Ex. So basically, the laser sight doesn't do anything when using the scope.
Has anyone noticed that the crowbar 1shots everything in the game with no training if you take them from behind and aim for the head?

And if you train low tech to master you can charge at people and kill them in 2 crowbar hits to the face. Kind of strange for a weapon with damage around 7 when those troopers have 200 head hp on realistic i think. Something weird is going on here I think
Headshots do 4x the damage that would be applied to the limb/torso normally (unless it's a KOing damage type, like the baton or stun prod, except in my mod, in which case it's 1.5x). Also, if you hit an enemy from behind at point-blank range (even with a ranged weapon, apparently?) you get a 10x damage bonus. Master skill also multiplies damage by 1.5. The bonus from skill, the head-damage multiplier, and the sneak-attack multiplier are all applied separately, so there's a compounding effect.

End result: A crowbar to the head at master skill does 12 times its base damage (12 instead of 6 because even the torso and limbs get a 2x multiplier, and the head gets 8x). To the head and from behind at master skill, it does 120 times its base damage.

I might look into this code, and maybe change the from-behind bonus and/or see if there's a better way to determine that the enemy is unaware of your presence.



Within the next few weeks, I should be finally getting my old laptop back online, meaning development of this mod will resume. In the meantime, I need to fix my firing-spread accuracy fix, and some other related trigonometry I'm doing. It turned out that my math only serves as an approximation, and one that happens to work fairly well at accuracy values usually encountered, but falls further away from reality as the angle of fire grows larger. Unfortunately, fixing this requires a handful of more trig functions to be done each tick (especially with the laser sight up), but since those are native functions implemented in C++ and not through scripting, it probably won't bog anything down. I'll try to keep an eye on FPS regardless. My laptop is terrible, so it'll probably make a good testing rig for that!
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

What is it you're trying to do with the firing spread accuracy?
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by G-Flex »

As noted in the mod notes and the OP, firing spread in Deus Ex (either by default, or in Shifter/Deus Ex 2.0) is not circular. If you stand a certain distance from a wall and fire at it, the resulting bullet spread will be square, not circular as it should be. My mod fixes that, but the current implementation by my mod isn't quite right. It's good enough that probably nobody would notice that it's wrong, but I'll be improving it to the more correct version in the near future.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

I just went for a fairly straightforward sqrt approach. Allow for random variation left/right, then calibrate based on that exactly how much total allowable up/down is avaliable to describe a circular field, then randomise that.

Code: Select all

offset = frand()-0.5; //random left/right
upset = 2*sqrt(0.25 - offset**2); //calculate up/down space
EndTrace = StartTrace + (1128*Accuracy * offset*Y) + (1128*Accuracy *(frand()-0.5)*upset*Z); //randomise up/down space. Multiplier is 1128 to account for circular area rather than square
EndTrace += (FMax(1024.0, MaxRange) * vector(AdjustedAim)); //extend end as before
Steve921
Mole Person
Posts: 4
Joined: Tue Sep 13, 2011 11:24 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by Steve921 »

Have you released a bug fixing mod DDL? Or was that fix you mentioned something for HDTP since I think the textures are bound to the u file so I wouldnt be surprised if they put some bug fixes in it for well known problems.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

Nah, this is for my own unreleased big pile o stuffs.

HDTP we've restricted entirely to models/textures: altering game code would be waaay outside our remit, and also have a tendency to be controversial, since everyone has a different view of what's a bug or not.

Though I did fix the 'adding scope to a laser'd gun makes the laser no longer work' bug, just because I fucking hated that. I know the laser is massively overpowered, but that's classic DX for you. :P
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by G-Flex »

DDL wrote:I just went for a fairly straightforward sqrt approach. Allow for random variation left/right, then calibrate based on that exactly how much total allowable up/down is avaliable to describe a circular field, then randomise that.

Code: Select all

offset = frand()-0.5; //random left/right
upset = 2*sqrt(0.25 - offset**2); //calculate up/down space
EndTrace = StartTrace + (1128*Accuracy * offset*Y) + (1128*Accuracy *(frand()-0.5)*upset*Z); //randomise up/down space. Multiplier is 1128 to account for circular area rather than square
EndTrace += (FMax(1024.0, MaxRange) * vector(AdjustedAim)); //extend end as before
That isn't quite correct. I see what you're trying to do, and it will approximate a circular cone, but for one thing, treating it as a "circular area" is the same flawed approach that resulted in my initial math problems to begin with, although it's probably very close for the values encountered in-game. Basically, a given method for determining where a point is on/within a circle using its coordinates, or vice versa, does not work the same way as determining where a ray is along/within a circular cone; I learned that the hard way! You're using math that works for coordinates on a plane, not for angles in three dimensions; more trig is required! Secondly, because you're starting by choosing a flatly-distributed yaw, the pitch and yaw are not treated similarly by the game. If you were to visualize a probability density (of where a shot is likely to go in the firing cone of possibilities), you'd see that the yaw is flatly distributed but that the pitch is only flatly distributed for each given value of yaw. For higher yaw values, the pitch values are more tightly clustered, because the game scatters the pitch around a vertical line (or rather, set of lines) determined by yaw. In other words, if you stand at a wall and fire a whole ton of bullets at it, the grouping will be tighter vertically toward the left and right edges of the circle, but not tighter horizontally toward the top and bottom (not that you'd want either). Essentially, you're randomizing yaw flatly, but then compressing the randomized pitch to accommodate it, leading to that effect.

Let's say, hypothetically, that 1128*Accuracy in this case equals 85 degrees (of course, it will never be this severe). Now let's say that offset winds up being 0.25, so we're roughly firing diagonally. Upset winds up being roughly 0.866. You wind up firing with 21.25 degrees yaw, and then anywhere between 0 and 36.805 degrees pitch. The final angle of fire winds up being anywhere between 21.25 degrees and 40.14 degrees. For comparison, let's say that 1128*Accuracy represents 10 degrees in a certain case, with the same offset (and therefore the same upset). In this case, yaw is 2.5 degrees and pitch is between 0 4.33 degrees, with an angular magnitude between 2.5 degrees and 5.0 degrees. As you can see, the It's clear to me that not only is the math probably subtly wrong in its concept, but that it's difficult to actually tell how it's wrong, because it doesn't have any concept of the absolute angle at which you're firing, just the components, and those are determined as if they're points on a circle with a linear correlation between radius of the circle and angular magnitude, which isn't the case. It's just conceptually weird, given the skewed probability distribution and inability to really analyze where the firing cone lies in the general case, and I wish I were better at math so I could further explore it and say some more concrete things instead of rambling like this.


The benefit of my approach is that firing angle (i.e. the angle by which your shot is "off") is easily determined and its limits are predictable, and is guaranteed to be even distributed along the possibilities. Same with the orientation of that trajectory. Either way it's probably not the most realistic way to simulate gunfire, but working within the constraints and assumptions of the game and its scripting engine, I'd say it's probably the best that is actually feasible. The drawback is that there's more math involved, but considering that my seven-year-old Intel-graphics Acer laptop seems to handle it okay and you work with HDTP, I doubt a few added trig functions are a problem to you. :P

My laser sight code is a bit complicated and weird, but aside from the aforementioned changes I'll have to make to a couple formulas, it's fairly conceptually sound and should work okay. It's a work in progress though, which is why the code is sloppier than usual. The numbers for it are easily tweaked, so feedback is appreciated! The idea there was to make the laser sight useful but not overpowered, borrowing Shifter's concept of having it wander along your potential firing cone (or pyramid, in Shifter's case), but implemented in a way that hopefully feels nicer and respects the real-cone firing angle I have set up.

If I didn't have those constraints (UnrealScript, gameplay assumptions regarding how aim works), it would be interesting to do some kind of gaussian distribution of firing angle, so there's less of a hard outer boundary and shots would be more likely to hit at lower angles than at higher ones. I think some games do that, actually.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

Ah, I see what you're saying. I can't find any flaws in your logic, so you're probably right. I can tell you that in-game it certainly doesn't appear particularly non-uniformly distributed (I just set a turret firing at a distant wall and watched :P), so it could be that unreal's random number generator is a bit shit.

(A little testing with excel indicates that yeah, totally clustering is there, but it's ..not too bad)

Hrm. Interesting. And well spotted! I shall have to think on this.

Of course ideally you'd want your randomness to follow a more normal distribution anyway, since like you say, wildly inaccurate shots shouldn't be as equally likely as relatively central shots, but of course this in itself is essentially an accuracy boost.

Also, the whole "choose a point on a circle and then extend it forward" method is inherently admittedly rubbish because it doesn't account for the fact that edge shots end up technically travelling further for the same putative 'accurate range', which while not so bad for high accuracy, is poor for wildly bad accuracy modelling. But given unreal's angle handling is so fucking awful (christ, is it awful), I think I'll just ignore this aspect for my own stuff.

And don't get me started on attempting to model bullet drop for tracefire weapons. Gaaah. Allegedly unreal can do a parabolic trace, but I've always been too scared to experiment.
Last edited by DDL on Mon Sep 19, 2011 9:08 pm, edited 1 time in total.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

Ooh, also: have you played TNM? Coz the laser-sight in that was my attempt to make laser dot stuff both 100% accurate (i.e. bullet goes where dot is) but also non-broken (so laser wobbles around smoothly within the 'accuracy cone').

It was a fairly rudimentary job, coz hey, coding isn't exactly my forte, and especially vector coding, but I was pretty pleased with how it turned out.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by DDL »

LOL TRIPLE POST BITCHES.

Ok, yeah: it looks like the only real 'non sin/cos trig' methods involve generating points in a square and then rejecting those that are outside the circle. Not only is this dumb as tits, it also potentially involves trig just to determine if they're in or out in the first place. GAH.

Seems like the following works for "fairly random" distrib within a circle (thanks Dr Math!
generate two random numbers, take the highest (this stops it being distrib'd in a 'gaussian' fashion..ish), call this M
generate a random angle from 0-2Pi, call this A

X offset = M * cos(A)
Y offset = M * sin(A)

and then extend forward accordingly coz I'm still happy with that (admittedly dumb) system.

Well, this has been an education. *runs to recode weapons, turrets, gunfiretriggers, etc etc*

Also, please feel free to educate me further. :)
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

Re: Deus Ex: Human Renovation (fan patch/mod)

Post by G-Flex »

DDL wrote:Also, the whole "choose a point on a circle and then extend it forward" method is inherently admittedly rubbish because it doesn't account for the fact that edge shots end up technically travelling further for the same putative 'accurate range', which while not so bad for high accuracy, is poor for wildly bad accuracy modelling. But given unreal's angle handling is so fucking awful (christ, is it awful), I think I'll just ignore this aspect for my own stuff.
Yeah, that's the gist of it. I have no idea what's wrong with Unreal's angle handling though, aside from issues that already exist with euler angles.

I would suggest looking into my methods anyway, simply because it's much easier to deal with and analyze. Since I randomize the angle offset (magnitude) directly, it's very easy to tell how wide the potential firing cone is.

Seems like the following works for "fairly random" distrib within a circle (thanks Dr Math!
generate two random numbers, take the highest (this stops it being distrib'd in a 'gaussian' fashion..ish), call this M
generate a random angle from 0-2Pi, call this A

X offset = M * cos(A)
Y offset = M * sin(A)

and then extend forward accordingly coz I'm still happy with that (admittedly dumb) system.
This sounds very similar to the approach I take in the uploaded source for my mod. Kind of. In my case, M is the angle you're off by and A is the same as what you're using, and "X offset" and "Y offset" are the pitch and yaw offsets applied to AdjustedAim or whatever it is that represents the gun barrel.

You should have seen my very first attempt at proper aiming... I somehow wound up with a circular firing cone, but with bullets concentrated mostly in a cross pattern. Disastrous.


I suggest downloading the compiled version of my mod and at least checking out the laser sight, because I'd really like some feedback! It's supposed to kind of swerve around in an organic fashion, with a constant "pull" back toward the center proportional to how close to the edge of the firing cone the laser dot is. I like it, but the numbers may need tweaking. I have not played TNM yet, but I am curious how the laser sight is implemented in that. I know that in Shifter, it wanders around in a given direction for a short period of time before direction and wander-speed is randomized again, and if it hits the edge of the firing rectangle it bounces back.
Post Reply