void OnMaterialVis(object sender, EventArgs ea) { string fileName = sender as string; if (fileName == null) { return; } Action <System.Windows.Forms.Form> setText = frm => frm.Text = fileName; SharedForms.FormExtensions.Invoke(mZoneForm, setText); mZoneForm.SetZoneSaveEnabled(false); mZoneForm.EnableFileIO(false); mBSPForm.EnableFileIO(false); mVisForm.EnableFileIO(false); mVisMap = new VisMap(); mVisMap.MaterialVisGBSPFile(fileName, mGD); mZoneForm.EnableFileIO(true); mBSPForm.EnableFileIO(true); mVisForm.EnableFileIO(true); mVisMap = null; }
void OnVis(object sender, EventArgs ea) { string fileName = sender as string; if (fileName == null) { return; } mbWorking = true; mZoneForm.EnableFileIO(false); mBSPForm.EnableFileIO(false); mVisForm.EnableFileIO(false); VisParams vp = new VisParams(); vp.mbFullVis = !mVisForm.bRough; vp.mbResume = false; vp.mbSortPortals = mVisForm.bSortPortals; mVisMap = new VisMap(); mVisMap.VisGBSPFile(fileName, vp, mBSPForm.BSPParameters); }
void OnZoneGBSP(object sender, EventArgs ea) { string fileName = sender as string; if (fileName != null) { Action <System.Windows.Forms.Form> setText = frm => frm.Text = fileName; SharedForms.FormExtensions.Invoke(mZoneForm, setText); mZoneForm.EnableFileIO(false); mBSPForm.EnableFileIO(false); mVisForm.EnableFileIO(false); mMap = new Map(); GFXHeader hdr = mMap.LoadGBSPFile(fileName); if (hdr == null) { CoreEvents.Print("Load failed\n"); } else { mVisMap = new VisMap(); mVisMap.SetMap(mMap); mVisMap.LoadVisData(fileName); mMatLib.NukeAllMaterials(); mMap.MakeMaterials(mGD, mMatLib, fileName); bool bPerPlaneAlpha = false; mZoneDraw.BuildLM(mGD, mSKeeper, mZoneForm.GetLightAtlasSize(), mMap.BuildLMRenderData, mMap.GetPlanes(), bPerPlaneAlpha); mZoneDraw.BuildVLit(mGD, mSKeeper, mMap.BuildVLitRenderData, mMap.GetPlanes()); mZoneDraw.BuildAlpha(mGD, mSKeeper, mMap.BuildAlphaRenderData, mMap.GetPlanes()); mZoneDraw.BuildFullBright(mGD, mSKeeper, mMap.BuildFullBrightRenderData, mMap.GetPlanes()); mZoneDraw.BuildMirror(mGD, mSKeeper, mMap.BuildMirrorRenderData, mMap.GetPlanes()); mZoneDraw.BuildSky(mGD, mSKeeper, mMap.BuildSkyRenderData, mMap.GetPlanes()); mZoneDraw.FinishAtlas(mGD, mSKeeper); mZoneDraw.FixAlphaDrawCalls(); mModelMats = mMap.GetModelTransforms(); mMatForm.RefreshMaterials(); HideParametersByMaterial(); mVisMap.SetMaterialVisBytes(mMatLib.GetMaterialNames().Count); mMatLib.SetLightMapsToAtlas(); } mZoneForm.EnableFileIO(true); mBSPForm.EnableFileIO(true); mVisForm.EnableFileIO(true); mZoneForm.SetZoneSaveEnabled(true); mOutForm.Print("Zoning complete.\n"); // BuildDebugDraw(Map.DebugDrawChoice.GFXFaces); } }