• Content count

  • Joined

  • Last visited

  • Medals

Community Reputation

31 Excellent

About t_d

  • Rank
    Gunnery Sergeant

Contact Methods

  • Skype
  1. Sry for the long delay, but the service is up again.
  2. Here is how BIS seems to simulate free falling bombs: https://pastebin.com/teQntUBp (already stripped down most of the unimportant code). Maybe you can deduce a formula from this. Let me know if something is unclear and I will try to explain. Vector3Val position = FutureVisualState().Position(); Vector3Val speed = FutureVisualState().ModelSpeed(); float mass = GetMass(); Vector3 force(VZero), torque(VZero); Vector3 friction(VZero), torqueFriction(VZero); Vector3 pForce(VZero), pCenter(VZero); // body air friction pForce[0] = speed[0] * speed[0] * speed[0] * 5e-4f + speed[0] * fabs(speed[0]) * 10.0f + speed[0] * 10.0f; pForce[1] = speed[1] * speed[1] * speed[1] * 5e-4f + speed[1] * fabs(speed[1]) * 10.0f + speed[1] * 10.0f; pForce[2] = speed[2] * speed[2] * speed[2] * 1e-5f + speed[2] * fabs(speed[2]) * 0.01f + speed[2] * 2.0f; pForce[0] *= ammoType->sideAirFriction; pForce[1] *= ammoType->sideAirFriction; pForce[2] *= ammoType->_airFriction; pForce *= mass * (1.0f / 10.0f); friction += pForce; // aerodynamic non-stability makes direction aligned with speed pForce[0] *= 0.1f; pForce[1] *= 0.1f; pCenter = Vector3(0.0f, 0.0f, +0.3f); torque += pCenter.CrossProduct(pForce); // calculate draconic force (which makes direction aligned with speed) // note: this should be calculated for all missiles, but it is too late to add it now, as it might cause some changed behavior. pForce[0] = speed[0] * fabs(speed[0]) * -0.00033f + speed[0] * -0.005f; pForce[1] = speed[1] * fabs(speed[1]) * -0.00033f + speed[1] * -0.005f; pForce[2] = 0.0f; pForce *= mass; force += pForce; // convert to world space FutureVisualState().DirectionModelToWorld(friction, friction); FutureVisualState().DirectionModelToWorld(force, force); FutureVisualState().DirectionModelToWorld(torque, torque); torqueFriction = _angMomentum * 5.0f; // add gravity pForce = Vector3(0.0f, -G_CONST, 0.0f) * mass; force += pForce; // calculate new position VisualState moveTrans = PredictPos<VisualState>(deltaT); ApplyRemoteStateAdjustSpeed(deltaT,moveTrans); Vector3Val newPos = moveTrans.Position(); Vector3 lDir = newPos - position; Move(moveTrans); DirectionWorldToModel(FutureVisualState()._modelSpeed, FutureVisualState()._speed); ApplyForces(deltaT, force, torque, friction, torqueFriction);
  3. Model Config extraction added. It's a first version so maybe there are some errors. Please let me know if you find any. Be aware that axis entries for animations are missing because these are not directly saved in the ODOL (only axis position and direction is). I also hope that some conversion errors that were occuring lately are fixed now.
  4. Website has been updated to also support ODOL Version 73.
  5. I can recommend this grammar description which is pretty accurate: http://foxhound.international/arma-3-sqf-grammar.html. It just misses some special operator precedences like atan2 but this is just needed for a more semantic check
  6. I want to present and test a little web service I made that allows you to convert binarized p3d files in ODOL format to editable p3ds in MLOD format. Before anybody starts crying: This service is intended for educational purposes, so people can learn how stuff is done from examples. It specifically is not made to make stealing of content of others easy. Hence, the conversion creates slightly distorted meshes for complex visible LODs in order to render them useless for the purpose of redistributing the work of others. This is not allowed unless the author gave you permission or an appropriate license was provided with the original model. Here is the service URL: https://odolconverter.t-db.de/ If you encounter any bugs or problems, please let me know. So, enjoy :) UPDATE: I moved the service to a new server and url.
  7. Since AddonBuilder is written in .NET it is very easy to decompile ^^ Just saying...
  8. You probably updated BIS tools before the game was updated. That's why the tools created a version of the p3d format that the game that is not up-to-date cant read.
  9. Try not binarizing the model. A3.exe will do it then knowing about that LOD ;)
  10. It is 4e13. I am pretty sure the value in the biki article is a typo.
  11. 4e13 is the definite resolution value for the PhysX LOD and it shouldn't matter that the current O² doesnt know that because it will still create the correct MLOD. The current binarize though doesnt know that this LOD is a special LOD and might treat it incorrectly. So I recommend to put the MLOD only into the pbo. This way A3 Alpha will do the binarization and A3 knows how to treat this LOD ;)