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); } }
public UIHeader(GameManager game) { this.Game = game; GFX = new GFXHeader(this); }