A new Trespasser patch/update (Trespasser CE)

Discuss the game Trespasser here!

Moderators: TresCom Support Team, TresCom Board Managers

Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

Looking around the code a bit I saw that I already had a check that disables HW bump mapping if the GPU doesn't have NPOT support, because it's required for certain things regardless of the source textures. I had forgotten about that.

However the check allowed HW bump to remain enabled for cards with only limited NPOT support, which isn't enough. I'll probably change that, or at least add a note that the option can/will cause crashing on such GPUs.
machf wrote:Hmmm, I think this is the first time I've heard of Trespasser crashing because of that...
Maybe because no one has run it on a GPU with limited NPOT, or perhaps depending on driver it doesn't always end up with a crash even when it's doing something it isn't supposed to.
Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

Did some some debugging and more looking, and it might be that particular combo of a NPOT swp bumpmap and limited NPOT GPU. I added what I hope is a fix for that situation and posted v1.07c.

Melber if you still happen to read this. If you feel like it you can download 1.07c and re-enable HW bumpmapping to see if that works for you. If you happen to have the level 2 save, where you know it crashed, it would be even better if you could test it there.
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by machf »

OK, I'll upload it to TresCom in a while, too...
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

Hey Lee, I'm wondering if you would be able to implement some sort of fix to the "float Damage" T-script value? It's downright useless at the moment, and seems to be mostly broken.

As it is by default, the Damage value doesn't seem to really do a whole lot when assigned to $ physics, no matter how hard you hit a CAnimal with the object. From what I understand, assigning the Damage value to the entire CInstance will cause the object to hurt both the CAnimals and Anne. For instance, I have a melee weapon which needs to do damage when striking, but only one part of it should be potentially dangerous; however, I believe that if I assign the entire CInstance a Damage value, it will hurt Anne when she puts it on her back, and will kill dinosaurs with a single swipe due to the Damage value registering repeatedly when the object collides with the animal. Some sort of check needs to be implemented so that you can assign CInstances or $ objects Damage and have them A. not damage Anne when she has them on her back (having her drop a weapon and then be hurt by it is okay), and B. only do damage when being swung beyond a certain velocity, and only have that damage occur at a certain rate. I should note that you can currently kill CAnimals by hitting them with melee weapons which have no Damage value assigned, but you have have to hit them very, very hard to do any damage, even if the object in question should be damaging at slower velocities, such as a knife. A lot of people seem to only have luck forcing the dino to interoplate with a melee weapon in order to do damage.

I don't really know a whole lot about the extent of commands you could add to T-Scripts, but an idea of what I'm thinking:

float Damage: The damage done to a CAnimal or the Player when the object collides with another object.
float DamageAnne: The damage done to the Player when the object collides with her; overrides Damage value for the Player.
float DamageForce: The minimum force the object must hit a target with in order to do damage.
float DamageRate: Only check for damage every X seconds, so as to prevent doing the damage too quickly.
User avatar
Draconisaurus
T-Rex Killer
T-Rex Killer
Posts: 14048
Joined: Mon Dec 06, 2004 5:21 pm
Antispam: No
Location: Isla Sorna
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by Draconisaurus »

Huh. Aside from all the garble, those new values sound interesting. I doubt DamageRate can be easily programmed. DamageForce sounds equally difficult. However if the DamageAnne value is possible (such as, for reference, "DamageMultiplier" for CGun), it would be nice simply from the melee-weapons-that-kill-Anne problem (see: MayanSpear in TC Ops level)
Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

The system that handles collision events and deals damage doesn't have the information of which sub-physics-shape caused a collision, so that wouldn't be possible without larger changes. Only the main/compound phys info/obj can be the one that supplies the Damage value.

If you only want a part of a weapon dealing the damage then maybe a separate (physics) object could be attached, with CEntityAttached or other means? I don't know how or if that would work correctly with melee weapons though.

The Damage T-script value for melee/impact (not guns) isn't an absolute value, it's a multiplier. Actually "Damage" and "DamageMultiplier" are one and the same for that (if both are set then DamageMultiplier has the final say). This multiplier is applied to the impact energy/force value from the physics collision, so damage scales by impact magnitude. The default damage multiplier, when no T-script param is supplied, is 1.

Concerning the other various damage params, I'd probably not add anything natively but instead add necessary script hooks so it would be possible to have more script control over damage calcs. That would allow for implementing simple filtering like not damaging the player or more elaborate stuff such as for example a cattle prod that required a recharge time before it can deal damage again.
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

The system that handles collision events and deals damage doesn't have the information of which sub-physics-shape caused a collision, so that wouldn't be possible without larger changes. Only the main/compound phys info/obj can be the one that supplies the Damage value.
Damn. :? So is there no real way to fix melee weapons damaging Anne when she carries them, then?
f you only want a part of a weapon dealing the damage then maybe a separate (physics) object could be attached, with CEntityAttached or other means? I don't know how or if that would work correctly with melee weapons though.
Hmm, someone would have to give that a try to find out.
The Damage T-script value for melee/impact (not guns) isn't an absolute value, it's a multiplier. Actually "Damage" and "DamageMultiplier" are one and the same for that (if both are set then DamageMultiplier has the final say). This multiplier is applied to the impact energy/force value from the physics collision, so damage scales by impact magnitude. The default damage multiplier, when no T-script param is supplied, is 1.
Good to know. So is it possible to set that value above 1?
Concerning the other various damage params, I'd probably not add anything natively but instead add necessary script hooks so it would be possible to have more script control over damage calcs. That would allow for implementing simple filtering like not damaging the player or more elaborate stuff such as for example a cattle prod that required a recharge time before it can deal damage again.
That'd be great...it's too bad none of us really seem to understand the scripting language all that well, though.

I was actually wondering, since you said you might be able to help out with some scripting, Lee, if you would be willing to create that Stamina script I requested a while ago? Hopefully it isn't too complicated:
- A limited amount of Stamina, valued from 1-100 (would be nice to have a HUD component to show the value of Stamina from 1-100, just like the health indicator, but not critical).
- Jumping makes Anne lose 25 Stamina.
- Hold a custom key to "sprint" - moving Anne about 1.5x faster at a cost of about 15 Stamina per second. Play a sound when sprinting and increase the FOV by about 5.
- Overall, make the player move about 1.15x faster to make up for the fact that bunny hopping is no longer an option.
- Play a sound when Stamina reaches 50, and a sound when Stamina reaches 0 to indicate that the player is tired.
- Make the player unable to jump or sprint for 2 seconds once their Stamina runs out, as well as making the player move slower overall for this time (just under regular speed at about 0.85x). Stamina should not regenerate for these 2 seconds.

I'm also wondering whether you might be able to replace the current HUD health "count" with a bar component instead? It's not crucial, but would be nice to have. :)

Lastly, I'm curious as to exactly how the float Speed value applies to CAnimals? It seems increasing Speed above 1 doesn't do all that much, as the dinosaurs still move quite slowly. I'd like to see about increasing the carnivore's Speed value in the level in order to make up for the increased speeds which would be available should the Stamina script get made, but as of right now I can't figure out how to get them to go faster than their normal run speed.
Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

TheIdiot wrote:So is there no real way to fix melee weapons damaging Anne when she carries them, then?
I'd have to get my hands on some test case where this happens and run it through the debugger. Then I might have a better idea if it would be something to fix in the game itself.

It's not something that normally happens, even with an insanely lethal melee weapon (the below mentioned baseball bat). Neither holding this lethal bat of doom nor putting it on the back inflicted any damage on the player, so I'd need a misbehaving test case to look at.
So is it possible to set that value above 1?
Absolutely. The cattle prod in TestScene for example has 1.75. For fun you can put some crazy value like 100 on the baseball bat. That will turn the bat into an insta-gib weapon, where you simply poke a raptor and they keel over dead.
I was actually wondering, since you said you might be able to help out with some scripting, Lee, if you would be willing to create that Stamina script I requested a while ago? Hopefully it isn't too complicated:
I don't know if I have the time for a complete implementation, but I'll try to have a look if I can at least do a rough outline or starting point. I don't want to make any promises though.
I'm also wondering whether you might be able to replace the current HUD health "count" with a bar component instead?
I could make a sample with some kind of bar.
Lastly, I'm curious as to exactly how the float Speed value applies to CAnimals?
It's a multiplier used to calculate the speed that the animal code will "request" the physics code to move the dino with. 0.5 would be half speed and 2.0 double speed. But that's the requested speed and I believe the physics code has some limits so I think they can be made a bit faster but not unlimited.
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

I'd have to get my hands on some test case where this happens and run it through the debugger. Then I might have a better idea if it would be something to fix in the game itself.
It's not something that normally happens, even with an insanely lethal melee weapon (the below mentioned baseball bat). Neither holding this lethal bat of doom nor putting it on the back inflicted any damage on the player, so I'd need a misbehaving test case to look at.
I believe the Quad Damage thing (the Quake logo) in PV does this, though I may be wrong. I personally have not actually experienced this, but it's been documented in the past and so I'm very wary of it.
Absolutely. The cattle prod in TestScene for example has 1.75. For fun you can put some crazy value like 100 on the baseball bat. That will turn the bat into an insta-gib weapon, where you simply poke a raptor and they keel over dead.
Aaah, okay. That will definitely come in handy knowing that in the future.
I don't know if I have the time for a complete implementation, but I'll try to have a look if I can at least do a rough outline or starting point. I don't want to make any promises though.
Well, the things which really need to be done are mostly just the speed increase and the limited jumping mechanic. The sprint thing isn't a priority but would be nice to have. :)
I could make a sample with some kind of bar.
That would be great. Would be perfect to do a health bar first off though as a starting point. I was just thinking of having a really simple HUD, like this:
Click on Image
(Click on thumbnail for full size)
Image


With a second bar beneath the Health for Stamina, and the ammo count next to the two bars where the "Z" box is located.
t's a multiplier used to calculate the speed that the animal code will "request" the physics code to move the dino with. 0.5 would be half speed and 2.0 double speed. But that's the requested speed and I believe the physics code has some limits so I think they can be made a bit faster but not unlimited.
Okay, that's kind of what I figured. It seems the most you can make them move at is something like 1.3x speed before the value stops really being noticable. And there isn't any way to increase the maximum speed at all? What I wanted to create were Raptors capable of catching a bunny-hopping player with ease, but even with a value of 2.0 speed, they never seem to catch up.
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

TheIdiot wrote:
I'd have to get my hands on some test case where this happens and run it through the debugger. Then I might have a better idea if it would be something to fix in the game itself.
It's not something that normally happens, even with an insanely lethal melee weapon (the below mentioned baseball bat). Neither holding this lethal bat of doom nor putting it on the back inflicted any damage on the player, so I'd need a misbehaving test case to look at.
I believe the Quad Damage thing (the Quake logo) in PV does this, though I may be wrong. I personally have not actually experienced this, but it's been documented in the past and so I'm very wary of it.
That would be the Quake logo in pre-96 builds PV. In retail (and build 96) it is LAB ;)
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
Hilwo
Dilophosaurus
Dilophosaurus
Posts: 2644
Joined: Mon Nov 11, 2002 7:06 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Hilwo »

Yeah, you can kill a rex with that thing with just a few swings.
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

Discovered something playing around in some custom levels recently - specifically, was playing The Hunt and machflev yesterday and JPDS~Streams today. I'd recently been editing my Trespasser.ini in order to try and increase performance when looking at large amounts of water (still haven't been able to do so), when I started getting repeated crashes at random points in levels where I usually don't ever crash in CE. I'd crash in The Hunt every few minutes, despite that level being very lightly populated and easy on the enigne, and machflev even though nothing was happening at all during that time due to the DINOS cheat being active. Even on JPDS~Streams with quadrupled rendering distance, I had never crashed once until now due to a random rendering bug, only due to physics glitches. Now it was happening every 5 minutes or so! So after quite a while I figured out what was causing the seemingly random crash:

Code: Select all

[Memory]
ForceManagedMemD3D=True
Lee's description is simply "Force use of managed memory for D3D textures". No idea what that really means, aside from perhaps some sort of optimization for HD textures? But nonetheless, be wary when enabling this value.
User avatar
Draconisaurus
T-Rex Killer
T-Rex Killer
Posts: 14048
Joined: Mon Dec 06, 2004 5:21 pm
Antispam: No
Location: Isla Sorna
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by Draconisaurus »

The TresCom 2008 Easter Level ( http://www.trescom.org/download/downloa ... RJ2008.rar ) features a Mayan Spear, which is known to sometimes kill the player while it is stowed and she is jumping around.
Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

I updated the build. Had to to add a script hook so I could implement the script for the TheIdiot.

Here's a script setup with a bar-based HUD and stamina functionality. Don't forget to update to the new game version (1.07d). The safest/cleanest way to give this a try is to extract game_ti.zip to a fresh dir and add that to "ModPaths" in "tp_mod.ini".

In order for stamina to work you have add the player script "CPlayerTI" to the player's TScript in TresEd:

Code: Select all

string Script = "CPlayerTI"
I've made heavy use of global constants for values and graphics element coordinates in the script, so that you change them more easily without digging through the actual code. Not everything is implemented, like sounds, but still ended up more complete than I had initially intended.
Attachments
game_ti.zip
(9.52 KiB) Downloaded 377 times
Last edited by Lee Arbuco on Sat Apr 28, 2018 8:13 pm, edited 2 times in total.
Lee Arbuco
Parasaurolophus
Parasaurolophus
Posts: 271
Joined: Tue Aug 05, 2014 7:09 pm

Re: A new Trespasser patch/update (Trespasser CE)

Post by Lee Arbuco »

Draconisaurus wrote:The TresCom 2008 Easter Level ( http://www.trescom.org/download/downloa ... RJ2008.rar ) features a Mayan Spear, which is known to sometimes kill the player while it is stowed and she is jumping around.
I tried that level and jumped around and ran around quite a bit with the spear, but nothing happened. That's of course no proof, but I would still throw out two questions. Has the player kill ever happened in CE or only in the original game? Is it certain that it was the stowed weapon and not some random physics glitch that killed the player in those instances?

Until we have a documented CE incident of this, I'd suggest treating it as not happening in CE and not something a level author needs to worry about. If/when it does happen I can revisit the issue and debug further.
Post Reply