Hi,
Anyone know if there is any data in memory about what scene are neighbor of a scene? like an id or something of a scene North South East West of that scene.
Hi,
Anyone know if there is any data in memory about what scene are neighbor of a scene? like an id or something of a scene North South East West of that scene.
You can use the ZoneMax/Min in NavZone in the scene->mesh to work that out i think i'll get back to you on that one.
Just search for the string ZoneMax or Min in the strings window and you should find the function that uses them if you don't already have the offsets for them.
In sub 0x91B6F0, patch 0.9.0.8896Code:v29 = (unsigned __int128)_mm_cvtps_pd((__m128)LODWORD(edi0->ZoneMax.Y)); v30 = (unsigned __int128)_mm_cvtps_pd((__m128)LODWORD(edi0->ZoneMax.X)); v31 = (unsigned __int128)_mm_cvtps_pd((__m128)LODWORD(edi0->ZoneMin.Y)); v32 = (unsigned __int128)_mm_cvtps_pd((__m128)LODWORD(edi0->ZoneMin.X)); sub_EB5B80(v28); CDebug::OutputDebugString( 5, 15, 0, "Unable to finalize collision result @ [%.4f %.4f] World %s ZoneInstance Scene (0x%x) [%s]\nZoneMin = [%.4f, %.4f] ZoneMax = [%.4f, %.4f] Check the border of this scene and see if the data is set up properly! Something may be overlapping.\n", *(_OWORD *)&_mm_cvtps_pd((__m128)*(_DWORD *)v10), *(_OWORD *)&_mm_cvtps_pd((__m128)*(_DWORD *)(a4 + 36)), a5a, edi0->ZoneInstanceSceneSNO, v33,
Last edited by Nesox; 03-27-2012 at 06:58 AM.
Thank you Nesox. Very useful to me to find a scene's actually location in the game to put the navmesh data together.
Any idea how does the world to screen work? Currently I use a method which is not very accurate.
Guess i was not very clear with what i was looking for.
Need more detail about: In a Random Generated world (dunjon) if a Scene connect to an other scene navcell wise like the TileExits bit flag from the TileInfo. except the tile info were blanked in later patch so i dought they will be present for all the act 2 3 4.
right now i do it the cheap way by looking if a scene side has navcell 1 pixel on it's border. Knowi if the Tile info are still loaded and be present in other act would clean up some code i'm sure
I dont know if I still missunderstand you. But a cell a cell that is walkable in the current scene will always have a corresponding walkable cell inte neighbouring scene.
In other words if there is a cell on the border that is walkble, there will also be a neighbouring scene, with a walkable cell on the other side.
Any idea what the second short type mean in a NavCellLookup?
for example: on the image, the navcell with a dot has 6 neighbour starting at index 199. the last neighbour entry at 204 is 0xFFFFFFFF for the flags and 0xFFFF8003 for the WCell. other neighbour entry has value like ~30.
could those value mean there is a border but it is in a different scene.