mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-25 08:22:54 +08:00
Selectable OccludeModels, also occluder ymap indices now displayed
This commit is contained in:
parent
3533260884
commit
13a57102a9
@ -442,6 +442,7 @@ namespace CodeWalker.GameFiles
|
||||
for (int i = 0; i < CBoxOccluders.Length; i++)
|
||||
{
|
||||
BoxOccluders[i] = new YmapBoxOccluder(this, CBoxOccluders[i]);
|
||||
BoxOccluders[i].Index = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -455,7 +456,7 @@ namespace CodeWalker.GameFiles
|
||||
for (int i = 0; i < COccludeModels.Length; i++)
|
||||
{
|
||||
OccludeModels[i] = new YmapOccludeModel(this, COccludeModels[i]);
|
||||
|
||||
OccludeModels[i].Index = i;
|
||||
OccludeModels[i].Load(Meta);
|
||||
|
||||
}
|
||||
@ -2225,6 +2226,7 @@ namespace CodeWalker.GameFiles
|
||||
public byte[] Data { get; set; }
|
||||
public Vector3[] Vertices { get; set; }
|
||||
public byte[] Indices { get; set; }
|
||||
public int Index { get; set; }
|
||||
|
||||
public YmapOccludeModel(YmapFile ymap, OccludeModel model)
|
||||
{
|
||||
@ -2285,6 +2287,7 @@ namespace CodeWalker.GameFiles
|
||||
public Vector3 BBMin { get; set; }
|
||||
public Vector3 BBMax { get; set; }
|
||||
public Quaternion Orientation { get; set; }
|
||||
public int Index { get; set; }
|
||||
|
||||
|
||||
public YmapBoxOccluder(YmapFile ymap, BoxOccluder box)
|
||||
|
@ -358,11 +358,11 @@ namespace CodeWalker
|
||||
}
|
||||
else if (BoxOccluder != null)
|
||||
{
|
||||
name = "BoxOccluder " + (BoxOccluder.Ymap?.Name ?? "");
|
||||
name = "BoxOccluder " + (BoxOccluder.Ymap?.Name ?? "") + ": " + BoxOccluder.Index.ToString();
|
||||
}
|
||||
else if (OccludeModel != null)
|
||||
{
|
||||
name = "OccludeModel " + (OccludeModel.Ymap?.Name ?? "");
|
||||
name = "OccludeModel " + (OccludeModel.Ymap?.Name ?? "") + ": " + OccludeModel.Index.ToString();
|
||||
}
|
||||
else if (CollisionBounds != null)
|
||||
{
|
||||
@ -444,11 +444,11 @@ namespace CodeWalker
|
||||
}
|
||||
if (BoxOccluder != null)
|
||||
{
|
||||
name = "BoxOccluder " + (BoxOccluder.Ymap?.Name ?? "");
|
||||
name = "BoxOccluder " + (BoxOccluder.Ymap?.Name ?? "") + ": " + BoxOccluder.Index.ToString();
|
||||
}
|
||||
if (OccludeModel != null)
|
||||
{
|
||||
name = "OccludeModel " + (OccludeModel.Ymap?.Name ?? "");
|
||||
name = "OccludeModel " + (OccludeModel.Ymap?.Name ?? "") + ": " + OccludeModel.Index.ToString();
|
||||
}
|
||||
if (CarGenerator != null)
|
||||
{
|
||||
|
21
WorldForm.cs
21
WorldForm.cs
@ -2728,6 +2728,7 @@ namespace CodeWalker
|
||||
if (mraytrn.Intersects(ref bbox, out hitdist) && (hitdist < CurMouseHit.HitDist) && (hitdist > 0))
|
||||
{
|
||||
CurMouseHit.BoxOccluder = bo;
|
||||
CurMouseHit.OccludeModel = null;
|
||||
CurMouseHit.HitDist = hitdist;
|
||||
CurMouseHit.CamRel = mb.CamRelPos;
|
||||
CurMouseHit.AABB = bbox;
|
||||
@ -2742,6 +2743,26 @@ namespace CodeWalker
|
||||
|
||||
Renderer.RenderBasePath(om);
|
||||
|
||||
MapBox mb = new MapBox();
|
||||
mb.CamRelPos = -camera.Position;
|
||||
mb.BBMin = om._OccludeModel.bmin;
|
||||
mb.BBMax = om._OccludeModel.bmax;
|
||||
mb.Orientation = Quaternion.Identity;// bo.Orientation;
|
||||
mb.Scale = Vector3.One;
|
||||
Renderer.BoundingBoxes.Add(mb);
|
||||
|
||||
|
||||
bbox.Minimum = mb.BBMin;
|
||||
bbox.Maximum = mb.BBMax;
|
||||
if (mray.Intersects(ref bbox, out hitdist) && (hitdist < CurMouseHit.HitDist) && (hitdist > 0))
|
||||
{
|
||||
CurMouseHit.BoxOccluder = null;
|
||||
CurMouseHit.OccludeModel = om;
|
||||
CurMouseHit.HitDist = hitdist;
|
||||
CurMouseHit.CamRel = mb.CamRelPos;
|
||||
CurMouseHit.AABB = bbox;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user