| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-10-16 | ksys/phys: move motionTypeFromText to physUtil | Léo Lam | |
| motionTypeFromText isn't part of physDefines: its "Keyframed" string (only used there) sits between the StaticCompound and PlayReport strings in .rodata, far from physDefines' enum text, and the function is linked right after the contact listener's inline virtuals, so it most likely starts a new TU at 0x7100fd069c. Nothing separates it from getMaterialMaskFromShape and the other helpers in physUtil, so it goes in the same file and its declaration moves to physUtil.h. That part is a guess: neither function has data that would show a boundary. (AI assisted using Claude Opus 5.5) | |||
| 2026-10-16 | ksys/phys: rename physStaticCompoundUtil to physUtil | Léo Lam | |
| Most of these helpers have nothing to do with StaticCompound: they look up material masks and collision filter info from shapes and collidables. physUtil also fits the link order, between physUserTag and physWorld, and it's what the function groups already call this block. (AI assisted using Claude Opus 5.5) | |||
| 2026-10-13 | ksys/phys: rearrange the folder layout to match link order | Léo Lam | |
| A folder's files are linked before its subfolders, and the rigid body files are linked as one flat sequence. ListShape is the one file that does not fit this order. | Old | New | |---|---| | RigidBody/Shape/<Kind>/phys<Kind>Shape.cpp | RigidBody/Shape/phys<Kind>Shape.cpp | | RigidBody/Shape/<Kind>/phys<Kind>RigidBody.cpp | RigidBody/physRigidBody<Kind>.cpp | | RigidBody/Shape/List/physListShapeRigidBody.cpp | RigidBody/physRigidBodyListShape.cpp | | physHavokMemoryAllocator.cpp | System/physHavokMemoryAllocator.cpp | | StaticCompound/physStaticCompound{,Mgr,RigidBodyGroup,Util}.cpp | System/ | | StaticCompound/physStaticCompound{Info,Autogen}.cpp | System/physStaticCompoundInfo.cpp | The original has the type infos' cleanup functions just before StaticCompoundInfo's functions, so the merged file defines the reflection data first, with plain static cleanup functions as in Havok's generated reflection code. Template instantiations would be emitted after the rest of the file. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) | |||
| 2026-10-06 | The task and thread families are plain ksys:: | Léo Lam | |
| They link in the same block as the plain-ksys:: Message family. getItemValue and applyScreenFade sit in engine UI TUs, hence ksys::ui. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) | |||
| 2026-10-06 | Name placeholder declarations after the IDB | Léo Lam | |
| Keeps source and CSV from drifting from the IDB. Names are read from the bodies, e.g. ActionBase::applyParams is what all 13 non-stub overrides of that slot do. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) | |||
| 2026-09-08 | Document ContactPointInfo callback contract | Tarun Bandi | |
| 2026-07-30 | Merge pull request #185 from RobbyV2/phys-system-heap-accessors | Michael Zhao | |
| Match phys::System heap accessors | |||
| 2026-07-30 | phys: match System contact listener and group handler functions | RobbyV2 | |
| 2026-07-30 | phys: match System heap accessors | RobbyV2 | |
| 2026-07-29 | Merge pull request #182 from RobbyV2/actor-get-character-controller | Michael Zhao | |
| Match Actor::getCharacterController | |||
| 2026-07-28 | Match Actor::getCharacterController | RobbyV2 | |
| 2026-07-24 | ksys::phys::System: implement isPaused and collision/handler helpers | mairokaizo | |
| 2024-08-28 | Update agl, nnSdk, sead | ThePixelGamer | |
| 2024-07-26 | Update libraries and adjust code to match again | ThePixelGamer | |
| 2022-12-21 | ksys/phys: Add RagdollController (the real one, not RagdollInstance) | Léo Lam | |
| 2022-12-20 | ksys/phys: Rename RagdollController to RagdollInstance | Léo Lam | |
| RagdollController is a different thing! | |||
| 2022-12-20 | ksys/phys: Add RagdollController::getTransform and more | Léo Lam | |
| Credit to @Dragorn421 for helping me figure out the rotation matrix thing in the getTransform function | |||
| 2022-12-19 | ksys/phys: Implement the rest of the easy RagdollController functions | Léo Lam | |
| 2022-12-19 | ksys/phys: Implement more RagdollController functions | Léo Lam | |
| 2022-12-18 | ksys/phys: Clarify EntityCollisionMask structure and names | Léo Lam | |
| 2022-10-18 | Decompile some Action classes (#104) | notyourav | |
| * various action classes * rename instanceset fns * rename isFork -> isChangeable | |||
| 2022-07-01 | ksys/phys: Start adding RagdollController | Léo Lam | |
| 2022-04-02 | lib: Update agl | Léo Lam | |
| 2022-03-26 | ksys/phys: Add more InstanceSet member variables | Léo Lam | |
| 2022-03-26 | ksys/phys: Merge duplicate definitions of RagdollController | Léo Lam | |
| 2022-03-26 | ksys/phys: Implement several easy RigidBodyRequestMgr functions | Léo Lam | |
| 2022-03-26 | ksys/phys: Add RigidBodyRequestMgr::calc1 | Léo Lam | |
| 2022-03-23 | ksys/phys: Rename BodyGroup -> StaticCompoundRigidBodyGroup | Léo Lam | |
| Makes it obvious that it is related to StaticCompound stuff Also fixes the relative ordering (BodyGroup is located after Mgr code). | |||
| 2022-03-22 | ksys/phys: Rename some RigidBody flags (add/remove from world) | Léo Lam | |
| 2022-03-22 | ksys/phys: Add more StaticCompound stuff, part 1 | Léo Lam | |
| 2022-03-21 | Remove unneeded include | Léo Lam | |
| 2022-03-21 | ksys/phys: Add RayCastRequestMgr | Léo Lam | |
| 2022-03-21 | ksys/phys: RayCastPlusBody -> RayCastBodyQuery for clarity | Léo Lam | |
| 2022-03-21 | ksys/phys: Add RayCastPlusBody | Léo Lam | |
| 2022-03-20 | ksys/phys: Add most remaining parts of RayCast | Léo Lam | |
| One last function remaining (0x0000007100fc4844) but it looks obnoxious so I'll leave it for later. | |||
| 2022-03-20 | ksys/phys: Add Phantom | Léo Lam | |
| 2022-03-20 | ksys/phys: Add ScopedWorldLock to simplify world locking/unlocking | Léo Lam | |
| 2022-03-20 | ksys/phys: Change getRigidBody to take a const-ref for consistency | Léo Lam | |
| 2022-03-20 | ksys/phys: Implement world/shape casting RayCast functions | Léo Lam | |
| 2022-03-19 | ksys/phys: Add RayHitCollector | Léo Lam | |
| 2022-03-18 | ksys/phys: Finish QueryContactPointInfo::Iterator | Léo Lam | |
| 2022-03-18 | ksys/phys: Start adding RayCast | Léo Lam | |
| 2022-03-17 | Change getContactLayerBaseRelativeValue to return an int to avoid casts | Léo Lam | |
| 2022-03-15 | ksys/phys: Add ShapeCast | Léo Lam | |
| 2022-03-14 | ksys/phys: Finish ContactMgr | Léo Lam | |
| 2022-03-13 | ksys/phys: Add ContactLayerCollisionInfoGroup | Léo Lam | |
| 2022-03-13 | Fix matching issue in ContactMgr::processImpulseEntries | Léo Lam | |
| 2022-03-13 | ksys/phys: Add impulse related ContactMgr functions | Léo Lam | |
| 2022-03-10 | ksys/phys: Add SensorContactListener | Léo Lam | |
| 2022-03-10 | ksys/phys: Finish EntityContactListener | Léo Lam | |
