Finding the value or values for pawn offscreen removal

Discuss Mass Effect 3 mods and modding tools here. This includes multiplayer mods.
User avatar
Mgamerz
Site Admin
Posts: 571
Joined: Wed Jan 06, 2016 1:13 am

Re: Finding the value or values for pawn offscreen removal

Post by Mgamerz »

My scriptdump dumps pretty much all of the viewable data from me3explorer to a text file so you can run searches on them through grepwin. It's on my tools page.
Paladin
Posts: 10
Joined: Mon May 15, 2017 9:06 pm

Re: Finding the value or values for pawn offscreen removal

Post by Paladin »

Ooohh ok! sorry about that, didnt knew :o

There was also a certain value i found, cant remember the Exp number but i do remember the name, it was this "canplayerseeme".

Now the name is kind of tricky to me, since i dont remember the script too well.
ill keep looking, but damn the amount of variables there are huuuuuuuuge.
User avatar
Mgamerz
Site Admin
Posts: 571
Joined: Wed Jan 06, 2016 1:13 am

Re: Finding the value or values for pawn offscreen removal

Post by Mgamerz »

Indeed :D

I remember some of the stuff you're mentioning, I looked around there, I feel like that was the right spot but I couldn't find anything concrete. It may have to be done via an ASI plugin. ErikJS might know more.
Paladin
Posts: 10
Joined: Mon May 15, 2017 9:06 pm

Re: Finding the value or values for pawn offscreen removal

Post by Paladin »

I came into something interesting today by playing other U3 engine title, it might shed some light into what the hell i tweaked, deleted or changed on the coalesced.bin before backup.

I was playing Singularity expecting killed pawns to disappear, they didnt, in fact they fell extremely similar the way mass effect 3 was tweaked. Once the ragdoll starts you cannot shot it, nor hit it with mele, nothing. When shot at on the ground, nothing happens, in fact you shot the ground not the pawn, i had a couple of firefights and the pawns just remainded there no matter were i looked. Could be a tweak on DeltaReplication doing this?
Singularity has its own coalesced.bin ( well 5 of them, for different languages).
User avatar
Mgamerz
Site Admin
Posts: 571
Joined: Wed Jan 06, 2016 1:13 am

Re: Finding the value or values for pawn offscreen removal

Post by Mgamerz »

Once a enemy has their physics set (they don't move anymore) their collision detection is turned off. There's some enums for physics listed in engine.pcc, but the game references them as numbers. E.g. Physics_Walking might be listed as 4 in the game.

Another resource might be the ME3 SDK ErikJS made. It should be on the forums. It will list a lot of variables and their structures. It's all in C code.
Paladin
Posts: 10
Joined: Mon May 15, 2017 9:06 pm

Re: Finding the value or values for pawn offscreen removal

Post by Paladin »

Well got something that "could" help, i have spent a lot of time reading a document about the havok engine (quite old, it was from 2001-2002), although havok and karma physics from unreal are different, there are some similarities. You wrote on the first page that there was different frequencies for pawn removal, these frequencies must be on Hertz.
Hertz can be converted to seconds, so 1 second equal to 1 Hz, 2 seconds are 0.5 Hz, so if that value exist inside the engine then it could be changed to 0.0025 hz which is 400 seconds.
User avatar
Mgamerz
Site Admin
Posts: 571
Joined: Wed Jan 06, 2016 1:13 am

Re: Finding the value or values for pawn offscreen removal

Post by Mgamerz »

Most of the values that refer to increments of time in the game either reference
1) Real time (seconds, ms, etc)
or
2) Ticks, which occur (most times) every frame. Lots of things depend on ticks, including enemy AI, which is why the AI gets really terrible when the framerate is low. On PC, the baseline tick rate is 62, on console it is 30, but I do not think they calculated differences between platforms, which is why the game is more difficult on PC than consoles (AI is more accurate). Lots of stuff converts the delta in tick times into real time, so if you have a very high framerate, things that divide by the amount of time that has passed can sometimes go crazy (e.g. shields won't recharge at high FPS in certain cases).

I'm going to imagine what you're looking for is in native code. Something like removing pawns is something that would definitely be optimized and everything that got real optimization work done on it was turned into native code, which is beyond my skillset. It may be possible to modify with an ASI mod, but I wouldn't know where to go with that. ErikJS might be able to help, he's on this forum too.
Paladin
Posts: 10
Joined: Mon May 15, 2017 9:06 pm

Re: Finding the value or values for pawn offscreen removal

Post by Paladin »

OK thanks for all the information, im gonna reinstall Mass Effect 3 and see what can be done, it will be a little (and i mean a little) different now, since when i started learned about Hz, tics per second, collision culling and god knows what else O_o. ill try to contact ErikJS too.
User avatar
Mgamerz
Site Admin
Posts: 571
Joined: Wed Jan 06, 2016 1:13 am

Re: Finding the value or values for pawn offscreen removal

Post by Mgamerz »

The only other real thing I know of is that there are some physics set on ragdoll. The collision detection is turned off adn the bodies that lay there are put into a physics state where they no longer move. The values passed these setPhysics() functions are integers (setPhysics(5) for example) but the values of the number seem to come from some enumerators defined in Engine.pcc. My script dump makes searching for them easier, or with Mod Manager 5 you can just create your own script dump with PCC Data Dumper.

Sometimes enemies automatically are cleaned up when they fall below the KillZ (death floor) too, that might be another item to look at.
Post Reply