mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-16 17:11:28 +00:00
Statistics control: relevant labels now turn red when current number of given map elements exceeds current map format's maximum.
Statistics control: things count was not updated when adding or deleting things. Map Analysis mode: "Check texture alignment" is now disabled by default. Updated Inno Setup script and images. Added DirectX web installer to Builder\Setup. Updated MakeRelease.bat. Updated ZDoom_DECORATE.cfg.
This commit is contained in:
parent
1b911628ac
commit
f98fb4ed8c
13 changed files with 297 additions and 189 deletions
|
@ -27,12 +27,12 @@ keywords
|
|||
A_ClearLastHeard = "A_ClearLastHeard";
|
||||
A_ClearSoundTarget = "A_ClearSoundTarget";
|
||||
A_ClearTarget = "A_ClearTarget";
|
||||
A_DamageChildren = "A_DamageChildren(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageMaster = "A_DamageMaster(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageSelf = "A_DamageSelf(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageSiblings = "A_DamageSiblings(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageTarget = "A_DamageTarget(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageTracer = "A_DamageTracer(int amount[, string damagetype = \"None\"[, int flags = 0]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.";
|
||||
A_DamageChildren = "A_DamageChildren(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageMaster = "A_DamageMaster(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSelf = "A_DamageSelf(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSiblings = "A_DamageSiblings(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTarget = "A_DamageTarget(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTracer = "A_DamageTracer(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_Die = "A_Die[(string damagetype)]";
|
||||
A_FaceTarget = "A_FaceTarget[(float angle = 0[, float pitch = 0])]";
|
||||
A_FaceMaster = "A_FaceMaster[(float angle = 0[, float pitch = 0])]";
|
||||
|
@ -76,7 +76,7 @@ keywords
|
|||
A_RadiusThrust = "A_RadiusThrust(int force, int distance[, int flags[, int fullthrustdistance]])";
|
||||
A_Detonate = "A_Detonate";
|
||||
A_ThrowGrenade = "A_ThrowGrenade(string spawntype[, float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
|
||||
A_WolfAttack = "A_WolfAttack[(int flags = 0[, string soundname = \"weapons/pistol\"[, float snipe = 1.0[, int damage = 64[, int blocksize = 128[, int pointblank = 0[, int longrange = 0[, float runspeed = 160.0, [string pufftype = \"BulletPuff\"]]]]]]]])]";
|
||||
A_WolfAttack = "A_WolfAttack[(int flags = 0[, string soundname = \"weapons/pistol\"[, float snipe = 1.0[, int damage = 64[, int blocksize = 128[, int pointblank = 0[, int longrange = 0[, float runspeed = 160.0[, string pufftype = \"BulletPuff\"]]]]]]]])]";
|
||||
//Freeze death functions
|
||||
A_FreezeDeath = "A_FreezeDeath";
|
||||
A_GenericFreezeDeath = "A_GenericFreezeDeath";
|
||||
|
@ -167,6 +167,7 @@ keywords
|
|||
A_SetArg = "A_SetArg(int position, int value)";
|
||||
A_SetDamageType = "A_SetDamageType(string damagetype)";
|
||||
A_SetFloat = "A_SetFloat";
|
||||
A_FloatBobPhase = "A_FloatBobPhase(int bob)\nChanges the calling actor's FloatBobPhase to bob, which takes a number from 0 to 63.\nIf the number is invalid or not in range, the function does nothing.";
|
||||
A_SetFloorClip = "A_SetFloorClip";
|
||||
A_SetInvulnerable = "A_SetInvulnerable";
|
||||
A_SetMass = "A_SetMass(int mass)";
|
||||
|
@ -798,6 +799,10 @@ constants
|
|||
DMSS_FOILINVUL;
|
||||
DMSS_KILL;
|
||||
DMSS_NOFACTOR;
|
||||
DMSS_NOPROTECT;
|
||||
DMSS_EXFILTER;
|
||||
DMSS_EXSPECIES;
|
||||
DMSS_EITHER;
|
||||
FPF_AIMATANGLE;
|
||||
FPF_TRANSFERTRANSLATION;
|
||||
FTF_CLAMP;
|
||||
|
|
BIN
Build/Setup/dxwebsetup.exe
Normal file
BIN
Build/Setup/dxwebsetup.exe
Normal file
Binary file not shown.
|
@ -12,12 +12,12 @@ ECHO. Results will be in the 'Release' directory. Anything currently in
|
|||
ECHO. the 'Release' directory may be overwritten.
|
||||
ECHO.
|
||||
ECHO.
|
||||
PAUSE
|
||||
ECHO.
|
||||
|
||||
SET APPDIRECTORY=D:\Applications
|
||||
SET STUDIODIR=c:\Program Files (x86)\Microsoft Visual Studio 9.0
|
||||
SET HHWDIR=c:\Program Files (x86)\HTML Help Workshop
|
||||
SET ISSDIR=c:\Program Files (x86)\Inno Setup 5
|
||||
|
||||
CALL "%APPDIRECTORY%\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
|
||||
CALL "%STUDIODIR%\Common7\Tools\vsvars32.bat"
|
||||
|
||||
MKDIR "Release"
|
||||
|
||||
|
@ -28,7 +28,7 @@ ECHO.
|
|||
ECHO Writing SVN log file...
|
||||
ECHO.
|
||||
IF EXIST "Release\log.xml" DEL /F /Q "Release\log.xml" > NUL
|
||||
svn log --xml -r HEAD:1 > "Release\log.xml"
|
||||
svn log --xml -r HEAD:1496 > "Release\log.xml"
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Release\log.xml" GOTO FILEFAIL
|
||||
|
||||
|
@ -36,7 +36,7 @@ ECHO.
|
|||
ECHO Compiling HTML Help file...
|
||||
ECHO.
|
||||
IF EXIST "Build\Refmanual.chm" DEL /F /Q "Build\Refmanual.chm" > NUL
|
||||
"%APPDIRECTORY%\HTML Help Workshop\hhc" Help\Refmanual.hhp
|
||||
"%HHWDIR%\hhc" Help\Refmanual.hhp
|
||||
IF %ERRORLEVEL% NEQ 1 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Refmanual.chm" GOTO FILEFAIL
|
||||
|
||||
|
@ -60,22 +60,90 @@ IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
|||
IF NOT EXIST "Build\Builder.exe" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Doom Builder Modes plugin...
|
||||
ECHO Setting /LARGEADDRESSAWARE flag...
|
||||
ECHO.
|
||||
"%STUDIODIR%\VC\bin\editbin.exe" /LARGEADDRESSAWARE "Build\Builder.exe"
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Builder Effects plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\BuilderEffects.dll" DEL /F /Q "Build\Plugins\BuilderEffects.dll" > NUL
|
||||
msbuild "Source\Plugins\BuilderEffects\BuilderEffects.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\BuilderEffects.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Builder Modes plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\BuilderModes.dll" DEL /F /Q "Build\Plugins\BuilderModes.dll" > NUL
|
||||
msbuild "Source\Plugins\BuilderModes\BuilderModes.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\BuilderModes.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Color Picker plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\ColorPicker.dll" DEL /F /Q "Build\Plugins\ColorPicker.dll" > NUL
|
||||
msbuild "Source\Plugins\ColorPicker\ColorPicker.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\ColorPicker.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Comments Panel plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\CommentsPanel.dll" DEL /F /Q "Build\Plugins\CommentsPanel.dll" > NUL
|
||||
msbuild "Source\Plugins\CommentsPanel\CommentsPanel.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\CommentsPanel.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Nodes Viewer plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\NodesViewer.dll" DEL /F /Q "Build\Plugins\NodesViewer.dll" > NUL
|
||||
msbuild "Source\Plugins\NodesViewer\NodesViewer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\NodesViewer.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Tag Explorer plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\TagExplorer.dll" DEL /F /Q "Build\Plugins\TagExplorer.dll" > NUL
|
||||
msbuild "Source\Plugins\TagExplorer\TagExplorer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\TagExplorer.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Tag Range plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\TagRange.dll" DEL /F /Q "Build\Plugins\TagRange.dll" > NUL
|
||||
msbuild "Source\Plugins\TagRange\TagRange.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\TagRange.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Visplane Explorer plugin...
|
||||
ECHO.
|
||||
IF EXIST "Build\Plugins\VisplaneExplorer.dll" DEL /F /Q "Build\Plugins\VisplaneExplorer.dll" > NUL
|
||||
msbuild "Source\Plugins\VisplaneExplorer\VisplaneExplorer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Creating changelog...
|
||||
ECHO.
|
||||
ChangelogMaker.exe "SVN_Build\log.xml" "Build" "m-x-d"
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL
|
||||
|
||||
ECHO.
|
||||
ECHO Building Setup Installer...
|
||||
ECHO.
|
||||
IF EXIST "Release\*.exe" DEL /F /Q "Release\*.exe" > NUL
|
||||
"%APPDIRECTORY%\Inno Setup 5\iscc.exe" "Setup\builder2_setup.iss"
|
||||
"%ISSDIR%\iscc.exe" "Setup\gzbuilder_setup.iss"
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
|
||||
IF NOT EXIST "Release\builder2_setup.exe" GOTO FILEFAIL
|
||||
IF NOT EXIST "Release\GZDoom Builder Setup.exe" GOTO FILEFAIL
|
||||
|
||||
REN "Release\builder2_setup.exe" builder2_setup_%REVISIONNUMBER%.exe
|
||||
REN "Release\GZDoom Builder Setup.exe" "GZDoom Builder %REVISIONNUMBER% Setup.exe"
|
||||
|
||||
svn revert "Source\Core\Properties\AssemblyInfo.cs" > NUL
|
||||
svn revert "Source\Plugins\BuilderModes\Properties\AssemblyInfo.cs" > NUL
|
||||
|
@ -90,7 +158,7 @@ GOTO LEAVE
|
|||
|
||||
:ERRORFAIL
|
||||
ECHO.
|
||||
ECHO. BUILD FAILED (Tool returned error)
|
||||
ECHO. BUILD FAILED (Tool returned error %ERRORLEVEL%)
|
||||
ECHO.
|
||||
PAUSE > NUL
|
||||
GOTO LEAVE
|
||||
|
@ -102,4 +170,11 @@ ECHO.
|
|||
PAUSE > NUL
|
||||
GOTO LEAVE
|
||||
|
||||
:LOGFAIL
|
||||
ECHO.
|
||||
ECHO. CHANGELOG GENERATION FAILED (Tool returned error %ERRORLEVEL%)
|
||||
ECHO.
|
||||
PAUSE > NUL
|
||||
GOTO LEAVE
|
||||
|
||||
:LEAVE
|
||||
|
|
|
@ -52,7 +52,7 @@ CALL "setenv.bat"
|
|||
DEL /F /Q "setenv.bat"
|
||||
|
||||
ECHO.
|
||||
ECHO Compiling Doom Builder core...
|
||||
ECHO Compiling GZDoom Builder core...
|
||||
ECHO.
|
||||
IF EXIST "Build\Builder.exe" DEL /F /Q "Build\Builder.exe" > NUL
|
||||
msbuild "Source\Core\Builder.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 151 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
@ -3,17 +3,17 @@
|
|||
|
||||
[Setup]
|
||||
AppName=GZDoom Builder
|
||||
AppVerName=GZDoom Builder 1.XX
|
||||
AppPublisher=CodeImp
|
||||
AppPublisherURL=http://www.codeimp.com/
|
||||
AppSupportURL=http://www.doombuilder.com/
|
||||
AppUpdatesURL=http://www.doombuilder.com/
|
||||
AppVerName=GZDoom Builder 1.15
|
||||
AppPublisher=MaxED
|
||||
AppPublisherURL=http://forum.zdoom.org/memberlist.php?mode=viewprofile&u=7012
|
||||
AppSupportURL=http://forum.zdoom.org/viewtopic.php?f=3&t=32392
|
||||
AppUpdatesURL=http://forum.zdoom.org/viewtopic.php?f=3&t=32392
|
||||
DefaultDirName={pf}\GZDoom Builder
|
||||
DefaultGroupName=GZDoom Builder
|
||||
AllowNoIcons=true
|
||||
InfoBeforeFile=..\Setup\disclaimer.txt
|
||||
OutputDir=..\Release
|
||||
OutputBaseFilename=builder2_setup
|
||||
OutputBaseFilename=GZDoom Builder Setup
|
||||
Compression=lzma/ultra64
|
||||
SolidCompression=true
|
||||
SourceDir=..\Build
|
||||
|
@ -35,7 +35,6 @@ Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:Ad
|
|||
|
||||
[Files]
|
||||
Source: Setup\dotnetfx35setup.exe; DestDir: {tmp}; Flags: dontcopy
|
||||
Source: Setup\slimdx.msi; DestDir: {tmp}; Flags: dontcopy
|
||||
Source: Builder.exe; DestDir: {app}; Flags: ignoreversion
|
||||
Source: GZBuilder.cfg; DestDir: {app}; Flags: ignoreversion
|
||||
Source: Refmanual.chm; DestDir: {app}; Flags: ignoreversion
|
||||
|
@ -47,17 +46,14 @@ Source: SlimDX.dll; DestDir: {app}; Flags: ignoreversion
|
|||
Source: GPL.txt; DestDir: {app}; Flags: ignoreversion
|
||||
Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion recursesubdirs
|
||||
Source: Configurations\*; DestDir: {app}\Configurations; Flags: ignoreversion recursesubdirs
|
||||
Source: Gldefs\*; DestDir: {app}\Gldefs; Flags: ignoreversion recursesubdirs
|
||||
Source: Scripting\*; DestDir: {app}\Scripting; Flags: ignoreversion recursesubdirs
|
||||
Source: Snippets\*; DestDir: {app}\Snippets; Flags: ignoreversion recursesubdirs
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
Source: Plugins\BuilderModes.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\BuilderEffects.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\ColorPicker.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\CommentsPanel.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\CopyPasteSectorProps.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\NodesViewer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\StairSectorBuilder.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\Statistics.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\TagExplorer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\TagRange.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
Source: Plugins\VisplaneExplorer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
||||
|
@ -65,115 +61,143 @@ Source: Plugins\Loadorder.cfg; DestDir: {app}\Plugins; Flags: ignoreversion only
|
|||
Source: Sprites\*; DestDir: {app}\Sprites; Flags: ignoreversion recursesubdirs
|
||||
|
||||
[Icons]
|
||||
Name: {group}\Doom Builder; Filename: {app}\Builder.exe
|
||||
Name: {group}\{cm:UninstallProgram,Doom Builder}; Filename: {uninstallexe}
|
||||
Name: {group}\GZDoom Builder; Filename: {app}\Builder.exe
|
||||
Name: {group}\{cm:UninstallProgram,GZDoom Builder}; Filename: {uninstallexe}
|
||||
Name: {commondesktop}\GZDoom Builder; Filename: {app}\Builder.exe; Tasks: desktopicon
|
||||
|
||||
[Run]
|
||||
|
||||
[UninstallDelete]
|
||||
//Name: {localappdata}\Doom Builder; Type: filesandordirs
|
||||
Name: {app}; Type: filesandordirs
|
||||
|
||||
[InstallDelete]
|
||||
Name: {app}\Builder.pdb; Type: files
|
||||
Name: {app}\Builder.xml; Type: files
|
||||
|
||||
[Registry]
|
||||
Root: HKLM; Subkey: SOFTWARE\CodeImp\GZDoom Builder\; ValueType: string; ValueName: Location; ValueData: {app}; Flags: uninsdeletevalue
|
||||
|
||||
[Messages]
|
||||
ReadyLabel2a=Continue to begin with the installation, or click Back if you want to review or change any settings.
|
||||
|
||||
[Code]
|
||||
// Global variables
|
||||
var
|
||||
page_info_net: TOutputMsgWizardPage;
|
||||
page_info_netfailed: TOutputMsgWizardPage;
|
||||
page_setup_net: TOutputProgressWizardPage;
|
||||
page_setup_components: TOutputProgressWizardPage;
|
||||
componentsinstalled: Boolean;
|
||||
page_info_dx: TOutputMsgWizardPage;
|
||||
page_info_dxfailed: TOutputMsgWizardPage;
|
||||
page_setup_dx: TOutputProgressWizardPage;
|
||||
restartneeded: Boolean;
|
||||
netinstallfailed: Boolean;
|
||||
netisinstalled: Boolean;
|
||||
dxinstallfailed: Boolean;
|
||||
dxisinstalled: Boolean;
|
||||
|
||||
procedure CheckNetIsInstalled();
|
||||
// Prerequisites checks
|
||||
function CheckNetIsInstalled(): Boolean;
|
||||
begin
|
||||
netisinstalled := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5') or
|
||||
Result := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5') or
|
||||
RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5');
|
||||
end;
|
||||
|
||||
function CheckDXVersion(): Boolean;
|
||||
var
|
||||
MajorVer, MinorVer: Integer;
|
||||
StartPos: Integer;
|
||||
TempStr, VerStr: string;
|
||||
begin
|
||||
if (RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\DirectX', 'Version', VerStr)) then begin
|
||||
(* Extract major version *)
|
||||
StartPos := Pos('.', VerStr);
|
||||
MajorVer := StrToInt(Copy(VerStr, 1, StartPos - 1));
|
||||
(* Remove major version and decimal point that follows *)
|
||||
TempStr := Copy(VerStr, StartPos + 1, MaxInt);
|
||||
(* Find next decimal point *)
|
||||
StartPos := Pos('.', TempStr);
|
||||
(* Extract minor version *)
|
||||
MinorVer := StrToInt(Copy(TempStr, 1, StartPos - 1));
|
||||
|
||||
Result := (MajorVer > 4) or ((MajorVer = 4) and (MinorVer >= 9));
|
||||
end
|
||||
else begin
|
||||
Result := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
// When the wizard initializes
|
||||
procedure InitializeWizard();
|
||||
begin
|
||||
restartneeded := false;
|
||||
componentsinstalled := false;
|
||||
netinstallfailed := false;
|
||||
CheckNetIsInstalled();
|
||||
netisinstalled := CheckNetIsInstalled();
|
||||
dxinstallfailed := false;
|
||||
dxisinstalled := CheckDXVersion();
|
||||
|
||||
// Create .NET Framework pages
|
||||
page_info_net := CreateOutputMsgPage(wpPreparing,
|
||||
'Installing Microsoft .NET Framework', '',
|
||||
'Installing Microsoft .NET Framework 3.5', '',
|
||||
'Setup has detected that your system is missing the required version of the Microsoft .NET Framework. ' +
|
||||
'Setup will now download and install or update your Microsoft .NET Framework. This requires an internet connection ' +
|
||||
'and may take several minutes to complete.' + #10 + #10 +
|
||||
'Setup will now install or update your Microsoft .NET Framework. This may take several minutes to complete.' + #10 + #10 +
|
||||
'WARNING: The installer will download the Microsoft .NET Framework from the internet, but the progress bar will not ' +
|
||||
'go forward until the download is complete. You may send Microsoft an angry letter about that.' + #10 + #10 +
|
||||
'Click Install to begin.');
|
||||
|
||||
page_info_netfailed := CreateOutputMsgPage(page_info_net.ID,
|
||||
'Installing Microsoft .NET Framework', '',
|
||||
'Setup could not install the Microsoft .NET Framework. Make sure you have an internet connection ' +
|
||||
'and click Back to try again.' + #10 + #10 +
|
||||
'Installing Microsoft .NET Framework 3.5', '',
|
||||
'Setup could not install the Microsoft .NET Framework 3.5.' + #10 + #10 +
|
||||
'Click Back to try again, or Cancel to exit Setup.');
|
||||
|
||||
page_setup_net := CreateOutputProgressPage('Installing Microsoft .NET Framework', 'Setup is installing Microsoft .NET Framework, please wait.....');
|
||||
page_setup_components := CreateOutputProgressPage('Installing Components', 'Setup is installing required components. This may take a few minutes......');
|
||||
page_setup_net := CreateOutputProgressPage('Installing Microsoft .NET Framework 3.5', 'Setup is installing Microsoft .NET Framework 3.5, please wait.....');
|
||||
|
||||
// Create DirectX pages
|
||||
page_info_dx := CreateOutputMsgPage(wpPreparing,
|
||||
'Installing DirectX 9.0', '',
|
||||
'Setup has detected that your system is missing the required version of the DirectX. ' +
|
||||
'Setup will now install or update your DirectX. This may take several minutes to complete.' + #10 + #10 +
|
||||
'WARNING: The installer will download DirectX from the internet, but the progress bar will not ' +
|
||||
'go forward until the download is complete. You may send Microsoft an angry letter about that.' + #10 + #10 +
|
||||
'Click Install to begin.');
|
||||
|
||||
page_info_dxfailed := CreateOutputMsgPage(page_info_net.ID,
|
||||
'Installing DirectX 9.0', '',
|
||||
'Setup could not install DirectX 9.0.' + #10 + #10 +
|
||||
'Click Back to try again, or Cancel to exit Setup.');
|
||||
|
||||
page_setup_dx := CreateOutputProgressPage('Installing DirectX 9.0', 'Setup is installing DirectX 9.0, please wait.....');
|
||||
end;
|
||||
|
||||
|
||||
|
||||
// This is called to check if a page must be skipped
|
||||
function ShouldSkipPage(PageID: Integer): Boolean;
|
||||
begin
|
||||
// Skip the .NET page?
|
||||
if(PageID = page_info_net.ID) then
|
||||
if(PageID = page_info_net.ID) then // Skip .NET pages?
|
||||
Result := netisinstalled
|
||||
else if(PageID = page_info_netfailed.ID) then
|
||||
Result := (not netinstallfailed) and netisinstalled
|
||||
else if(PageID = page_info_dx.ID) then // Skip DX pages?
|
||||
Result := dxisinstalled
|
||||
else if(PageID = page_info_dxfailed.ID) then
|
||||
Result := (not dxinstallfailed) and dxisinstalled
|
||||
else
|
||||
Result := false;
|
||||
end;
|
||||
|
||||
|
||||
// This is called to determine if we need to restart
|
||||
function NeedRestart(): Boolean;
|
||||
begin
|
||||
Result := restartneeded;
|
||||
end;
|
||||
|
||||
|
||||
// This is called when the current page changes
|
||||
procedure CurPageChanged(CurPageID: Integer);
|
||||
var
|
||||
errorcode: Integer;
|
||||
begin
|
||||
if(CurPageID = wpReady) then
|
||||
begin
|
||||
if(netisinstalled = false) then
|
||||
WizardForm.NextButton.Caption := 'Next >';
|
||||
if(CurPageID = wpReady) then begin
|
||||
if(netisinstalled = false) or (dxisinstalled = false) then
|
||||
WizardForm.NextButton.Caption := 'Next';
|
||||
end
|
||||
else if(CurPageID = wpFinished) then
|
||||
begin
|
||||
if(componentsinstalled = false) then
|
||||
begin
|
||||
page_setup_components.Show;
|
||||
ExtractTemporaryFile('slimdx.msi');
|
||||
ShellExec('open', 'msiexec', ExpandConstant('/passive /i "{tmp}\slimdx.msi"'), '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
||||
componentsinstalled := true;
|
||||
page_setup_components.Hide;
|
||||
end
|
||||
end
|
||||
else if(CurPageID = page_info_net.ID) then
|
||||
begin
|
||||
else if(CurPageID = page_info_net.ID) or (CurPageID = page_info_dx.ID) then begin
|
||||
WizardForm.NextButton.Caption := 'Install';
|
||||
end
|
||||
else if(CurPageID = page_info_netfailed.ID) then
|
||||
begin
|
||||
else if(CurPageID = page_info_netfailed.ID) or (CurPageID = page_info_dxfailed.ID) then begin
|
||||
WizardForm.NextButton.Visible := true;
|
||||
WizardForm.NextButton.Enabled := false;
|
||||
WizardForm.BackButton.Visible := true;
|
||||
|
@ -183,7 +207,6 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
|
||||
// This is called when the Next button is clicked
|
||||
function NextButtonClick(CurPage: Integer): Boolean;
|
||||
var
|
||||
|
@ -192,13 +215,11 @@ var
|
|||
begin
|
||||
|
||||
// Next pressed on .NET info page?
|
||||
if(CurPage = page_info_net.ID) then
|
||||
begin
|
||||
if(CurPage = page_info_net.ID) then begin
|
||||
// Show progress page and run setup
|
||||
page_setup_net.Show;
|
||||
try
|
||||
begin
|
||||
|
||||
netinstallfailed := false;
|
||||
ExtractTemporaryFile('dotnetfx35setup.exe');
|
||||
// We copy the file to the real temp directory so that it isn't removed when Setup is closed.
|
||||
|
@ -208,56 +229,60 @@ begin
|
|||
FileCopy(ExpandConstant('{tmp}\dotnetfx35setup.exe'), tempfile, false);
|
||||
Exec(tempfile, '/qb /norestart', '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
||||
|
||||
if((errorcode = 1641) or (errorcode = 3010)) then
|
||||
begin
|
||||
if((errorcode = 1641) or (errorcode = 3010)) then begin
|
||||
// Success, but restart needed!
|
||||
restartneeded := true;
|
||||
end
|
||||
else if(errorcode <> 0) then
|
||||
begin
|
||||
else if(errorcode <> 0) then begin
|
||||
netinstallfailed := true;
|
||||
end;
|
||||
|
||||
CheckNetIsInstalled();
|
||||
netisinstalled := CheckNetIsInstalled();
|
||||
end
|
||||
finally
|
||||
page_setup_net.Hide;
|
||||
end;
|
||||
end
|
||||
end
|
||||
// Next pressed on DX info page?
|
||||
else if(CurPage = page_info_dx.ID) then begin
|
||||
// Show progress page and run setup
|
||||
page_setup_dx.Show;
|
||||
try
|
||||
begin
|
||||
dxinstallfailed := false;
|
||||
ExtractTemporaryFile('dxwebsetup.exe');
|
||||
// We copy the file to the real temp directory so that it isn't removed when Setup is closed.
|
||||
// Judging from the return codes, this installer may want to run again after a reboot.
|
||||
// See the return codes here: http://support.microsoft.com/kb/177430
|
||||
tempfile := RemoveBackslash(GetTempDir()) + '\dxwebsetup.exe';
|
||||
FileCopy(ExpandConstant('{tmp}\dxwebsetup.exe'), tempfile, false);
|
||||
Exec(tempfile, '/silent', '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
||||
|
||||
if(errorcode = 1) then begin
|
||||
// Success, but restart needed!
|
||||
restartneeded := true;
|
||||
end
|
||||
else if(errorcode <> 0) then begin
|
||||
dxinstallfailed := true;
|
||||
end;
|
||||
|
||||
dxisinstalled := CheckDXVersion();
|
||||
end
|
||||
finally
|
||||
page_setup_dx.Hide;
|
||||
end;
|
||||
end;
|
||||
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Remove configs?
|
||||
procedure DeinitializeUninstall();
|
||||
begin
|
||||
if MsgBox('Delete program configuration files?', mbConfirmation, MB_YESNO) = IDYES then
|
||||
begin
|
||||
DeleteFile(ExpandConstant('{localappdata}\Doom Builder\GZBuilder.cfg'));
|
||||
DeleteFile(ExpandConstant('{localappdata}\Doom Builder\GZBuilder.log'));
|
||||
DeleteFile(ExpandConstant('{localappdata}\Doom Builder\GZCrash.txt'));
|
||||
end;
|
||||
end;
|
110
Source/Core/Controls/StatisticsControl.Designer.cs
generated
110
Source/Core/Controls/StatisticsControl.Designer.cs
generated
|
@ -33,11 +33,11 @@
|
|||
this.sidedefscount = new System.Windows.Forms.Label();
|
||||
this.linedefscount = new System.Windows.Forms.Label();
|
||||
this.verticescount = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.thingslabel = new System.Windows.Forms.Label();
|
||||
this.sectorslabel = new System.Windows.Forms.Label();
|
||||
this.sidedefslabel = new System.Windows.Forms.Label();
|
||||
this.linedefslabel = new System.Windows.Forms.Label();
|
||||
this.verticeslabel = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// thingscount
|
||||
|
@ -47,7 +47,7 @@
|
|||
this.thingscount.Name = "thingscount";
|
||||
this.thingscount.Size = new System.Drawing.Size(43, 14);
|
||||
this.thingscount.TabIndex = 19;
|
||||
this.thingscount.Text = "000000";
|
||||
this.thingscount.Text = "0";
|
||||
this.thingscount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// sectorscount
|
||||
|
@ -57,7 +57,7 @@
|
|||
this.sectorscount.Name = "sectorscount";
|
||||
this.sectorscount.Size = new System.Drawing.Size(43, 14);
|
||||
this.sectorscount.TabIndex = 18;
|
||||
this.sectorscount.Text = "000000";
|
||||
this.sectorscount.Text = "0";
|
||||
this.sectorscount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// sidedefscount
|
||||
|
@ -67,7 +67,7 @@
|
|||
this.sidedefscount.Name = "sidedefscount";
|
||||
this.sidedefscount.Size = new System.Drawing.Size(43, 14);
|
||||
this.sidedefscount.TabIndex = 17;
|
||||
this.sidedefscount.Text = "000000";
|
||||
this.sidedefscount.Text = "0";
|
||||
this.sidedefscount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// linedefscount
|
||||
|
@ -77,7 +77,7 @@
|
|||
this.linedefscount.Name = "linedefscount";
|
||||
this.linedefscount.Size = new System.Drawing.Size(43, 14);
|
||||
this.linedefscount.TabIndex = 16;
|
||||
this.linedefscount.Text = "000000";
|
||||
this.linedefscount.Text = "0";
|
||||
this.linedefscount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// verticescount
|
||||
|
@ -87,53 +87,53 @@
|
|||
this.verticescount.Name = "verticescount";
|
||||
this.verticescount.Size = new System.Drawing.Size(43, 14);
|
||||
this.verticescount.TabIndex = 15;
|
||||
this.verticescount.Text = "000000";
|
||||
this.verticescount.Text = "0";
|
||||
this.verticescount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// label5
|
||||
// thingslabel
|
||||
//
|
||||
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.label5.Location = new System.Drawing.Point(55, 81);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(60, 15);
|
||||
this.label5.TabIndex = 14;
|
||||
this.label5.Text = "Things";
|
||||
this.thingslabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.thingslabel.Location = new System.Drawing.Point(55, 81);
|
||||
this.thingslabel.Name = "thingslabel";
|
||||
this.thingslabel.Size = new System.Drawing.Size(60, 15);
|
||||
this.thingslabel.TabIndex = 14;
|
||||
this.thingslabel.Text = "Things";
|
||||
//
|
||||
// label4
|
||||
// sectorslabel
|
||||
//
|
||||
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.label4.Location = new System.Drawing.Point(55, 62);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(60, 15);
|
||||
this.label4.TabIndex = 13;
|
||||
this.label4.Text = "Sectors";
|
||||
this.sectorslabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.sectorslabel.Location = new System.Drawing.Point(55, 62);
|
||||
this.sectorslabel.Name = "sectorslabel";
|
||||
this.sectorslabel.Size = new System.Drawing.Size(60, 15);
|
||||
this.sectorslabel.TabIndex = 13;
|
||||
this.sectorslabel.Text = "Sectors";
|
||||
//
|
||||
// label3
|
||||
// sidedefslabel
|
||||
//
|
||||
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.label3.Location = new System.Drawing.Point(55, 44);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(60, 15);
|
||||
this.label3.TabIndex = 12;
|
||||
this.label3.Text = "Sidedefs";
|
||||
this.sidedefslabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.sidedefslabel.Location = new System.Drawing.Point(55, 44);
|
||||
this.sidedefslabel.Name = "sidedefslabel";
|
||||
this.sidedefslabel.Size = new System.Drawing.Size(60, 15);
|
||||
this.sidedefslabel.TabIndex = 12;
|
||||
this.sidedefslabel.Text = "Sidedefs";
|
||||
//
|
||||
// label2
|
||||
// linedefslabel
|
||||
//
|
||||
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.label2.Location = new System.Drawing.Point(55, 26);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(60, 15);
|
||||
this.label2.TabIndex = 11;
|
||||
this.label2.Text = "Linedefs";
|
||||
this.linedefslabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.linedefslabel.Location = new System.Drawing.Point(55, 26);
|
||||
this.linedefslabel.Name = "linedefslabel";
|
||||
this.linedefslabel.Size = new System.Drawing.Size(60, 15);
|
||||
this.linedefslabel.TabIndex = 11;
|
||||
this.linedefslabel.Text = "Linedefs";
|
||||
//
|
||||
// label1
|
||||
// verticeslabel
|
||||
//
|
||||
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.label1.Location = new System.Drawing.Point(55, 8);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 15);
|
||||
this.label1.TabIndex = 10;
|
||||
this.label1.Text = "Vertices";
|
||||
this.verticeslabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.verticeslabel.Location = new System.Drawing.Point(55, 8);
|
||||
this.verticeslabel.Name = "verticeslabel";
|
||||
this.verticeslabel.Size = new System.Drawing.Size(60, 15);
|
||||
this.verticeslabel.TabIndex = 10;
|
||||
this.verticeslabel.Text = "Vertices";
|
||||
//
|
||||
// StatisticsControl
|
||||
//
|
||||
|
@ -144,11 +144,11 @@
|
|||
this.Controls.Add(this.sidedefscount);
|
||||
this.Controls.Add(this.linedefscount);
|
||||
this.Controls.Add(this.verticescount);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.thingslabel);
|
||||
this.Controls.Add(this.sectorslabel);
|
||||
this.Controls.Add(this.sidedefslabel);
|
||||
this.Controls.Add(this.linedefslabel);
|
||||
this.Controls.Add(this.verticeslabel);
|
||||
this.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.Name = "StatisticsControl";
|
||||
this.Size = new System.Drawing.Size(118, 104);
|
||||
|
@ -163,10 +163,10 @@
|
|||
private System.Windows.Forms.Label sidedefscount;
|
||||
private System.Windows.Forms.Label linedefscount;
|
||||
private System.Windows.Forms.Label verticescount;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label thingslabel;
|
||||
private System.Windows.Forms.Label sectorslabel;
|
||||
private System.Windows.Forms.Label sidedefslabel;
|
||||
private System.Windows.Forms.Label linedefslabel;
|
||||
private System.Windows.Forms.Label verticeslabel;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Windows.Forms;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CodeImp.DoomBuilder.Controls
|
||||
{
|
||||
|
@ -12,11 +13,25 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
|
||||
public void UpdateStatistics()
|
||||
{
|
||||
// Update statistics
|
||||
verticescount.Text = General.Map.Map.Vertices.Count.ToString();
|
||||
linedefscount.Text = General.Map.Map.Linedefs.Count.ToString();
|
||||
sidedefscount.Text = General.Map.Map.Sidedefs.Count.ToString();
|
||||
sectorscount.Text = General.Map.Map.Sectors.Count.ToString();
|
||||
thingscount.Text = General.Map.Map.Things.Count.ToString();
|
||||
|
||||
// Exceeding them limits?
|
||||
verticescount.ForeColor = (General.Map.Map.Vertices.Count > General.Map.FormatInterface.MaxVertices ? Color.Red : SystemColors.GrayText);
|
||||
linedefscount.ForeColor = (General.Map.Map.Linedefs.Count > General.Map.FormatInterface.MaxLinedefs ? Color.Red : SystemColors.GrayText);
|
||||
sidedefscount.ForeColor = (General.Map.Map.Sidedefs.Count > General.Map.FormatInterface.MaxSidedefs ? Color.Red : SystemColors.GrayText);
|
||||
sectorscount.ForeColor = (General.Map.Map.Sectors.Count > General.Map.FormatInterface.MaxSectors ? Color.Red : SystemColors.GrayText);
|
||||
thingscount.ForeColor = (General.Map.Map.Things.Count > 2 /*General.Map.FormatInterface.MaxThings*/ ? Color.Red : SystemColors.GrayText);
|
||||
|
||||
verticeslabel.ForeColor = verticescount.ForeColor;
|
||||
linedefslabel.ForeColor = linedefscount.ForeColor;
|
||||
sidedefslabel.ForeColor = sidedefscount.ForeColor;
|
||||
sectorslabel.ForeColor = sectorscount.ForeColor;
|
||||
thingslabel.ForeColor = thingscount.ForeColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1032,8 +1032,6 @@ namespace CodeImp.DoomBuilder.Map
|
|||
foreach(Sector s in sectors) s.CreateSurfaces();
|
||||
General.Map.CRenderer2D.Surfaces.UnlockBuffers();
|
||||
}
|
||||
|
||||
General.Interface.UpdateStatistics(); //mxd
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -194,10 +194,5 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
/// This selected the previously selected docker in the side panel.
|
||||
/// </summary>
|
||||
void SelectPreviousDocker();
|
||||
|
||||
/// <summary>
|
||||
/// This updates statistics panel, which shows total number of map elements (mxd).
|
||||
/// </summary>
|
||||
void UpdateStatistics();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1021,6 +1021,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
General.Plugins.OnEditRedrawDisplayBegin();
|
||||
General.Editing.Mode.OnRedrawDisplay();
|
||||
General.Plugins.OnEditRedrawDisplayEnd();
|
||||
statistics.UpdateStatistics(); //mxd
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3271,12 +3272,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
dockerspanel.Remove(hintsDocker);
|
||||
}
|
||||
|
||||
//mxd
|
||||
public void UpdateStatistics()
|
||||
{
|
||||
statistics.UpdateStatistics();
|
||||
}
|
||||
|
||||
// Show linedef info
|
||||
public void ShowLinedefInfo(Linedef l)
|
||||
|
|
|
@ -14,7 +14,7 @@ using CodeImp.DoomBuilder.VisualModes;
|
|||
|
||||
namespace CodeImp.DoomBuilder.BuilderModes
|
||||
{
|
||||
[ErrorChecker("Check texture alignment", true, 1000)]
|
||||
[ErrorChecker("Check texture alignment", false, 1000)]
|
||||
public class CheckTextureAlignment : ErrorChecker
|
||||
{
|
||||
#region ================== Constants
|
||||
|
|
Loading…
Reference in a new issue