Skip to content

Raycastcpp#22

Closed
sloppynacho wants to merge 6 commits into
apoguita:mainfrom
sloppynacho:Raycastcpp
Closed

Raycastcpp#22
sloppynacho wants to merge 6 commits into
apoguita:mainfrom
sloppynacho:Raycastcpp

Conversation

@sloppynacho

Copy link
Copy Markdown
Contributor

No description provided.

RAW native bridge to the engine world-intersect primitives + live prop-memory
walk, backing Py4GWCoreLib Map.Raycast. All derived math (normalize, segment
length, blocked decision, hit reconstruction, prop-mesh v*M) stays in Python;
C++ returns raw engine numbers verbatim.

Binds MapCliQueryIntersection (RayCast), ITerrain::QueryIntersection
(RayCastTerrain, returns a parametric hit fraction), and IProps::IntersectGeometry
via the per-geoset CIGrModel::IntersectCone (RayCastInteractive), plus prop
enumeration (GetProps) and raw collision-mesh extraction (GetPropGeometry).
Includes the n_scanned == -1 "probe could not run" sentinel and a unit-vector
precondition guard against the engine's "Invalid unit vector" abort.
@sloppynacho

Copy link
Copy Markdown
Contributor Author

Superseded by #23. This PR was based on the fork's main branch, so it bundled 13 unrelated files (CrashHandler, name_obfuscation, Combatevents, ItemMgr, etc.). The new PR is raycast-only (src/py_map.cpp, +417) off a clean upstream/main base.

@sloppynacho sloppynacho deleted the Raycastcpp branch June 16, 2026 23:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant