- Temporarily commented out joint limit setting code in RubeDoll.flip()
- RubeDoll joints now have no angular constraints
- Should make ragdoll more floppy and less glitchy
- Collision prevention between held RubeDoll and holding player is working
- All Planck.js migration issues resolved
- Fixed Mat22.fromAngle -> Rot.rot() error in RubeDoll.js
- Fixed rot.mul() -> Rot.mul(rot, v) static method usage
- Restored RubeLoader imports and RubeDoll.json loading
- Migrated RubeLoader.js from Box2D to Planck.js API
- Updated all Box2D method calls to Planck.js equivalents
- Fixed import aliases from Box2D to planck across multiple files
- RubeDoll ragdolls now spawn correctly when players die
- Fix critical bug in PlanckDebugDraw.js where circles were drawn at body center instead of local positions
- Add DEBUG_DRAW_SENSORS support with orange styling and no outlines
- Fix Chuck's sprite positioning to align with physics body center (pivot adjustments)
- Correct fixture Y coordinates so Chuck stands upright instead of on his head
- Position foot sensor correctly below legs for proper ground detection
- Remove cyan crosses and make yellow center-of-mass crosses smaller
- Make debug lines thinner for cleaner visualization
- Fix IsTouching() → isTouching() in Doll.js onFootSensorDetection
- This should resolve the issue where players couldn't jump immediately
after landing, as the contact detection was failing due to calling
a non-existent method in Planck.js
- Replace Box2D.js with Planck.js physics engine
- Update all require paths from 'Lib/Vendor/Box2D' to 'Lib/Vendor/Planck'
- Convert Box2D contact listeners to Planck.js event system
- Fix all method name capitalization (Get* -> get*, Set* -> set*)
- Update collision detection system for Planck.js compatibility
- Server now starts successfully and basic physics working
- Character can land on platforms - core physics functional
Major milestone: Game now running on modern, maintained physics engine
- Moved 4 tiles from right side (x=16-19) to left side (x=6-9)
- Platform now spans x=6-15 instead of x=10-19
- Chuck should now spawn safely on the platform without falling
- Created DebugLevel class that bypasses complex TiledLevel loader
- Simple platform with grass tiles (10.gif) on top, soil tiles (10.gif) underneath
- Fixed tile texture paths to work with MAPS_PATH
- Fixed null check in User.js to prevent server crashes
- Working physics collision with Box2D
- Clean test environment for physics engine migration
The state of the shift modifier is now distributed across the
network. Walking speeds and animation states are being updated
according to it.
Fixes#130
When a user leaves the channel, some items need to be cleared of
their fingerprints (lastTouchedBy). This feature was broken
because it used the this.gameObjects pool which was no longer in
use.
The channel GameController now triggers an event to which all
items are subscribed to and if it is triggered, all items with that
users fingerprints clear themselves off those.
Fixes#170
In order to not provide deep exposure to PlayerController,
we refactored it so that it is not visible anymore outside Player.
Also we renamed isInBetweenGames to inBetweenRounds.
Moved creation of PlayerController from GameController(s) to
The channel Player and client Me.