Skip to content

Releases: c-krit/ferox

c-krit/ferox v0.8.4 "Pentafist"

22 Oct 05:14
71ae99d
Compare
Choose a tag to compare

Bug Fixes

  • Fixed frComputeCollisionPolys() function not using the correct maxDepth value.

Documentation

  • Added a new example examples/src/melon.c.
  • Adjusted the default gravity scale for examples/src/basic.c.

c-krit/ferox v0.8.3 "Pentafist"

09 Oct 04:55
c8164ba
Compare
Choose a tag to compare

Bug Fixes

  • Fixed OnPreStep() function in examples/src/cows.c.

Documentation

  • Added CONTRIBUTING.md.
  • Updated .clang-format.

Features

  • Implemented frGetBodyAngularVelocity() function.

c-krit/ferox v0.8.2 "Pentafist"

30 Sep 13:31
ba9adc0
Compare
Choose a tag to compare

Bug Fixes

  • Fixed a bug where collision event handler callbacks could not be called as expected.

Documentation

  • Added a new example examples/src/cows.c.
  • Updated code for the example examples/src/raylib.c.

c-krit/ferox v0.8.1 "Pentafist"

16 Sep 14:31
50367e2
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where frBodyContainsPoint() would return no value if b is NULL.

Documentation

  • Updated build instructions for Visual Studio 2022 on Windows, in README.md.

Features

  • Added debug compiler flags to NMakefile.

c-krit/ferox v0.8.0 "Pentafist"

15 Sep 08:27
7a8f05c
Compare
Choose a tag to compare

Features

Breaking Changes

WARNING: This version introduces massive backward-incompatible API changes!


  • Added new Makefiles that are compatible with BSD Make.

  • Added new data types

    • frBodyPair
  • Re-designed data types

    • frBody
    • frCollision
    • frMaterial
    • frRaycastHit
    • frSpatialHash
    • frTransform
    • frWorld
  • Removed data types

    • frSolverCache
  • Renamed data types

    • frCollisionCallback ➡️ frCollisionEventFunc
    • Rectangle ➡️ frAABB
    • Vector2 ➡️ frVector2

  • Added new functions

    • frApplyAccumulatedImpulses()
    • frApplyForceToBody()
    • frApplyImpulseToBody()
    • frBodyContainsPoint()
    • frGetShapeDensity()
    • frGetShapeFriction()
    • frGetShapeRestitution()
    • frSetBodyShape()
    • frSetShapeDensity()
    • frSetShapeFriction()
    • frSetShapeRestitution()
    • frStepWorld()
  • Removed functions

    • frApplyImpulse()
    • frApplyTorqueImpulse()
    • frAttachShapeToBody()
    • frComputeBodyCollision()
    • frComputeShapeRaycast()
    • frCorrectBodyPositions()
    • frDetachShapeFromBody()
    • frDrawArrow() (moved to examples/include/ferox-raylib.h)
    • frDrawBody()
    • frDrawBodyLines() (moved to examples/include/ferox-raylib.h)
    • frDrawBodyAABB() (moved to examples/include/ferox-raylib.h)
    • frDrawBodyProperties()
    • frDrawSpatialHash()
    • frGetBodyStructSize()
    • frGetLocalPoint()
    • frGetWorldPoint()
    • frGetRectangleDimensions()
    • frGetShapeStructSize()
    • frGetSpatialHashBounds()
    • frGetTimeDifference()
    • frGetTimeSince()
    • frGetWorldBounds()
    • frGetWorldStructSize()
    • frInitClock()
    • frIsInWorldBounds()
    • frNormalizeAngle()
    • frNumberApproxEquals()
    • frRecMetersToPixels()
    • frRecPixelsToMeters()
    • frRemoveFromSpatialHash()
    • frSetRectangleDimensions()
    • frSetSpatialHashBounds()
    • frSetSpatialHashCellSize()
    • frSetWorldBounds()
    • frShapeContainsPoint()
    • frVec2ApproxEquals()
  • Renamed functions

    • frAddToWorld() ➡️ frAddBodyToWorld()
    • frApplyGravity() ➡️ frApplyGravityToBody()
    • frComputeShapeCollision() ➡️ frComputeCollision()
    • frComputeBodyRaycast() ➡️ frComputeRaycast()
    • frComputeWorldRaycast() ➡️ frComputeRaycastForWorld()
    • frGetBodyRotation() ➡️ frGetBodyAngle()
    • frIntegrateForBodyVelocities() ➡️ frIntegrateForBodyVelocity()
    • frNumberMetersToPixels() ➡️ frUnitsToPixels()
    • frNumberPixelsToMeters() ➡️ frPixelsToUnits()
    • frRemoveFromWorld() ➡️ frRemoveBodyFromWorld()
    • frSetBodyRotation() ➡️ frSetBodyAngle()
    • frSimulateWorld() ➡️ frUpdateWorld()
    • frVec2...() ➡️ frVector2...()
    • frVec2CCW() ➡️ frVector2CounterClockwise()
    • frVec2MetersToPixels() ➡️ frVector2UnitsToPixels()
    • frVec2PixelsToMeters() ➡️ frVector2PixelsToUnits()
    • frGetWorldBody() ➡️ frGetBodyFromWorld()
    • frGetWorldBodyCount() ➡️ frGetBodyCountForWorld()

  • Renamed macro constants

    • FR_DYNAMICS_CORRECTION_DEPTH_SCALE ➡️ FR_WORLD_BAUMGARTE_FACTOR
    • FR_DYNAMICS_CORRECTION_DEPTH_THRESHOLD ➡️ FR_WORLD_BAUMGARTE_SLOP
    • FR_GLOBAL_PIXELS_PER_METER ➡️ FR_GEOMETRY_PIXELS_PER_UNIT
    • FR_WORLD_MAX_ITERATIONS ➡️ FR_WORLD_ITERATION_COUNT
  • Renamed macro functions

    • FR_STRUCT_ZERO(T) ➡️ FR_API_STRUCT_ZERO(T)
  • Removed macro constants

    • FEROX_STANDALONE
    • FR_BROADPHASE_CELL_SIZE
    • FR_BROADPHASE_INVERSE_CELL_SIZE
    • FR_DEBUG_CIRCLE_SEGMENT_COUNT (moved to examples/include/ferox-raylib.h)
    • FR_DYNAMICS_DYNAMIC_FRICTION_MULTIPLIER
    • FR_WORLD_ACCUMULATOR_LIMIT