Пример #1
0
        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;
        }
Пример #2
0
        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);
        }
Пример #3
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);
            }
        }