How to increase mass to dynamic asteroids?
-
Have you actually tried adding “mass = whatever” to the [DynamicAsteroid] section? It should be read (it’s part of every object), but I don’t know if it’s actually used.
To edit the mass (inertia) values in the sur, use SurDump with the -o option. That will give you the hexadecimal offset which you can plug into your hex editor.
surdump -o \Games\Freelancer\DATA\SOLAR\ASTEROIDS\MODELS\ast_ice_dynamic.sur |fgrep inertia 00040 inertia: 0.670761, 0.631842, 0.429650
-
Interesting! Will try both variants
-
@ Sushi, Gibbon can get them to work on his 3db’s because they were made with the cmp exporter, which gives them the cmp internal structure, but a regular 3db (vanilla or from the 3db exporter) has a different internal structure, which means a regular sur is of no use as FL can’t “attach” a sur with a Root to something that doesn’t have one. Use FLMT to chamge the sur type to 2 or 3 and then hex edit it to change all instances of 12688F2D or 2D8F6812 to 00000000 (can’t remember which way round the hex for Root is listed), then it should “attach” in game.
-
I simply used a hex editor to change it, the one I use has built in float conversion. I pretty much did like Adoxa does, I dumped the sur file and looked for those float values.
-
Good to see you back BJ.
Yes the root in hex is 12688F2D, so we need to reverse this to find it - 2D8F6812.
Editing the inertia: You never get a clear answer from programmers, that’s probably why I prefer engineering…
Here’s a guide for total newbs (or slow learners like me)…
Open your sur file, the locations of the inertia values are always the same - 40 to 4B… lost you already?
Uh… oh OK: 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A and 4B, forgot you may be a real total newbie
Starting from the beginning of the file, Icy Hexplorer and most other hex editors display the data in groups of 4 bytes, and 4 groups across the screen (10 hex bytes in a line), so come down to the beginning of the 4th line to see Hex Address 40.
Remember sprogs (system programmers) sometimes call addresses “Offsets” - it’s the same thing, the location of data “offset” by yyy, starting from xxx - this time starting from xxx=0.
Address standard-FL
40-43 FA B6 23 BF = X-inertia = 0.670760750771
44-47 61 C0 21 3F = Y-inertia = 0.631841719151
48-4B 1D FB DB 3E = Z-inertia = 0.429650217295Now it’s obvious why they bounce around like peas when hit by even a 20-tonne ship!
The sur exporter asks for the ship mass from the shiparch.ini and “divides it into the x, y and z values” - I’m not sure if it does exactly this.
I usually use the same value 3 times, and usually try to keep the same scale as my ships mass values, but I read in a tute somewhere that the author used the x, y and z Bounding box values - is this a good formula to use?
While on this subject, be aware of the “radius” value, addresses 4C, 4D, 4E, 4F: This value affects the targeting of the object from your HUD, and it also sets the distance at which your HUD shows 0 metres away from it (and how far away from it that your ship stops if you are in Goto).
-
Yep, it works! Thx to All
-
Changing the inertia values to very high ones like 200000 changes the rotation speed of the asteroids. If you crash into them with the inertia 200000 they wont rotate. No effect to the real mass.
Is there no possibility to change the real mass of the asteroid? Maybe that just battleships with mass = 100000 can push them away and normal fighters with mass = 100 will crash into them and nothing happens?
-
Sorry for bumping, but is there no real chance to change the mass of asteroids anywhere?
-
-
I already testet these things! Look at the third post above this.
-
Turns out dynamic asteroids are a given a mass of 1 when they’re initialised (via BuildIVP_Real). This plugin will recognise the mass value in the [DynamicAsteroid] section, with a 10% variance (so if it’s 10, you’ll get between 9 and 11). I did it as an update to DynAstHP, so hit_pts will work, too.
-
adoxa needs a own asteroid named after him on every Freelancer Server
Thanks again! -
Is there a possibility to apply the normal exclusionzones for asteroids to the dynamic asteroids?
-
Is there a mod that adds these dynamic asteroids?
-
88 Flak
MyP.S. Adoxa is very fast plugin maker, so i have version with hit points only at the moment :))
-
After colliding dynamic asteroid even with a very high mass(I used 1000000) nothing happens, I mean no damage is delivered to my ship. I tried altering COLLISION_DAMAGE_FACTOR, it works with static asteroids, but not dynamic, looks strange when you collide a huge asteroid at 600 m/s and get no damage at all. any solutions? Sur editing :-? ?
-
See if this helps. It seems to work, but test it out a bit more and if it really does I’ll add it to the plugin.
freelancer.exe, 124E7C & 124E7F, 03->01
Dynamic asteroids are type 0x4001, normal asteroids are 0x1003. It’s the missing bit 1 that causes a different damage calculation, but changing to 4003 doesn’t work (4001 is tested in multiple places, by the looks).