Пример #1
0
        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);
            }
        }
Пример #2
0
 public UIHeader(GameManager game)
 {
     this.Game = game;
     GFX       = new GFXHeader(this);
 }