Anyone else still need a SUR generator?
-
Tried Quarks mod. Crashed reasonably quickly (the last packet sent was FLPACKET_SERVER_DAMAGEOBJECT, with different parameters to all other such packets). Applied my two plugins, which caught two more (another damage object; the other one’s time didn’t correspond exactly, but FLPACKET_SERVER_DESTROYOBJECT was likely), but none after another hour. Restarted, but still none after more than an hour. Restarted, and still none after almost an hour. So StarTrader, don’t bother running Packets; GetCollisions probably isn’t worth it, either; GetRoot will prevent the crash, though. Once I finish off tweaks to Console, I’ll get to work on the MilkShape sur exporter.
-
BlueSpawn wrote:
A question regarding this SUR Generator:It seems to create a SUR per mesh group, which is nice, however… I tested it with one CMP which was a bunch of convex chapes I made using “Convex Tool” in MilkShape, and the SURs that this Generator created was a bunch of thin triangles. Really weird.
I’m really not quite sure how to use this app and can’t seem to find a proper tutorial on it.
Increase the duplicate radius setting until it stops. Small ships can mostly get away with a radius of 0.1 (more refined sur) whilst big ships/objects may need a very high radius to to prevent those duplicates being generated. I’ve had to go as high as 50 with some large objects.
-
adoxa wrote:
Tried Quarks mod. Crashed reasonably quickly (the last packet sent was FLPACKET_SERVER_DAMAGEOBJECT, with different parameters to all other such packets). Applied my two plugins, which caught two more (another damage object; the other one’s time didn’t correspond exactly, but FLPACKET_SERVER_DESTROYOBJECT was likely), but none after another hour. Restarted, but still none after more than an hour. Restarted, and still none after almost an hour. So StarTrader, don’t bother running Packets; GetCollisions probably isn’t worth it, either; GetRoot will prevent the crash, though. Once I finish off tweaks to Console, I’ll get to work on the MilkShape sur exporter.adoxa - Well I got 3 crash logs, the common factor is use object 50 to the DevilRay, which is where the NPC’s Countermeasure Dropper is mounted - indicating a missile is onto him.
I am wondering that the NPC is hit by the missile and then that hit collision calc is going wrong? I attach the 3 crash logs below anyway, hope it will give you something to get us on the track.
I shortened the GetCollision-bad-2.txt in the middle to fit it into the 1MB limit but all of the other files are complete. Thanks adoxa
Sushi - if your test ships are not being chased by missiles this might also explain why your tests aren’t failing.
-
in the early days i did hitboxes, i have noticed that if you fire a missile who is (the launcher) into the boxes you have a crash
npc or not doesn’t change anything
maybe an interaction between the hitboxes of the ship and the missile ?
have you tried to put the hardpoint a little outside the thibox ?this is probably not the problem but it’s not the time it takes to test
-
Hi Mirkha.
Do you mean when a missile launcher is inside the hitbox (the hitbox is bigger than the ship or above the ship surface)?
I understand that would be a problem.
But in this case the problem is with a small fighter sur, and we are trying to isolate if the FL Server crash is happening because of a missile hitting the fighter.
Quarks wrote:
If you are interested, this is the mod I was using, Junkers and Hogosha using the bad ships and fighting in front of Manhattan.Quarks, this fits - your DevilRay loadout included missiles! Perhaps Sushi’s loadout did not have missiles. I’ll go isolate!
The base ship has a lot of cannons and these are destroying most of the test fighters.
I will replace all of the cannons with missile launchers, to see if I can aggravate the problem. Then I will replace all missile launchers with cannons, to try to isolate it to missile hit detections as the cause.
If it is, we then have to understand what part of a sur is needed to detect missile hits correctly. I have a feeling this is the purpose of the Type 5 sur parts but I do not understand how to make those fully yet.
Maybe together we can work it out, I am farily good at inventing ways to isolate problems, with help from LS and adoxa and some others to test maybe we can crack it.
Then when it is solved and we can produce good surs, I can drop FL altogether, install Linux on my laptop and PC, and go chew carrots full time.
-
Do you mean when a missile launcher is inside the hitbox (the hitbox is bigger than the ship or above the ship surface)?
inside the hitbox
i don’t have made more tests on that because i put the hitbox as near as possible from the hull, so … the hardpoint is well placed, especially for a small shipi really think about an interaction between the missile’s hitbox and the ship’s hitbox
oh … and for the carrots …
-
StarTrader wrote:
adoxa - Well I got 3 crash logs, the common factor is use object 50 to the DevilRay, which is where the NPC’s Countermeasure Dropper is mounted - indicating a missile is onto him.
Adoxa - Sorry, that was incorrect, hpid 50 is the shield batteries.
But you got your own results anyway.
In the meantime, I changed the missiles to cannons and it still crashed.
I will go through the rest of the isolation anyway in case it gives us any more.
-
I replaced all weapons with missiles, no crash in 2 hours.
Cannons crash FLServer, missiles don’t - but I will try to test for longer too.
Does anyone know what is the difference between missile collision testing and cannonfire collision testing as far as surs go?
Merry Christmas everyone.
-
first difference i’d start with is that missiles or any projectiles with DA_archetype’s do have a geometry and are no simple particles. vanilla missile models do also have a fitting sur file while effect based projectiles have none. surs as we know are entirely called server-side while vmeshes and effects are clientside.
-
Don’t missiles explode when they are in some distance, not on collision?
Edit: From weapon_equip:
detonation_dist = 4
-
-
But as missiles don’t cause a crash…
-
Looks like it’s hardpoints causing the problems (at least in Quarks’ mod). I’ve attached a new plugin to see if your log matches mine. It only logs what should be causing the crash, but since I didn’t determine why, potential causes are logged, too. Here’s what a crash should look like:
12:37:16.937: idx = -3, end = 0x33E6B5C object 1 = 2001 equipment\models\weapons\li_heavy_ion_blaster.cmp object 2 = 0067 CRC 1 = 0x12688F2D CRC 2 = 0x00000000 12:37:16.937: idx = -2, end = 0x33E6B5C object 1 = crash! object 2 = 0067 CRC 1 = 0x12688F2D CRC 2 = 0x00000000 ```Idx is the collision item (relative to end). The idx before the crash should be one less than the crash, with end being the same for both (turns out the object occurs twice; sometimes it is destroyed in the first, which causes the crash in the second). 2001 is the type for CEquipmentObj (0067 is CBeam); this is all you'll see, since it's all that's logged. I wasn't able to determine the hardpoint name, but the next best thing is the archetype it uses. Shooting the weapons off a player ship doesn't crash, so I guess it's just an NPC thing. How to solve it is still unknown. All I can think to try is adding the hardpoints to the sur, but I don't know if you can do that. I'll have to get moving on the exporter…
-
Anyone tried 2 remove the weapon’s SUR?
-
Adoxa - Thanks, I’ll try it out asap.
F!R - well that would defeat the objective, which in my opinion is to create surs as close to vanilla surs as possible, not remove existing functionality. For me it’s a double-challenge, to emulate the originals and that they should also work flawlessly over a long test period.
I did make a sur for the no_gunship_turret.cmp (because LS’s Error Checker called it out) and that caused constant, immediate crashes when ships using it were in combat in the system. It could be that my sur was bad, of course, but I’ve not investigated that, I just removed the sur.
-
An update from my part: I have finished the geometry conversion and tree generation. The generated meshes seem to work most of the time (over 1000 groups, one works with over 3000), but in some cases if you fly long enough the collision does not work correctly anymore until you leave the root bounds. I think for the start this is not a problem, maybe there is still an error in the tree generation (I was not able to duplicate the sorting yet, it is more a similar one). If anyone is interested I can convert a mesh for testing. Everything will be attached to root. I can append a hpid section for hpmount if wished.
-
No there are no limitation other than you should not use a too high polygon count. On some models FL just froze when I used too much (although this could be related to errors in the file generation process). I will run a polygon reducer anyway if I see there are too much of them, so just give me a mesh that works in FL.
Every group will be automatically separated from convex and not convex geometry and all not connected convex geometry will also be separated in new groups.
I would say it’s easiest for me if you give me the .cmp file, then I can test myself more easily and see whether there might be still errors. If the .mat is not too big you can include it aswell.
The best would be that I can post it here in the forum together with the generated .sur so that more people can check for errors.
If everything works I can start including more features, like multipart meshes (hi Skotty :P) etc. Maybe I release a public version for further testing before that, we will see.