Merged in GZDB r2488

This commit is contained in:
MascaraSnake 2016-01-30 00:04:41 +01:00
parent 9ccea639bf
commit e7ad3d4bb2
40 changed files with 3688 additions and 3082 deletions

Binary file not shown.

BIN
Build/ScintillaNET.3.5.dll Normal file

Binary file not shown.

View File

@ -16,6 +16,10 @@ insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";

View File

@ -7,6 +7,8 @@ description = "GZDoom MODELDEF";
codepage = 0;
extensions = "mdd";
casesensitive = false;
codeblockopen = "{";
codeblockclose = "}";
insertcase = 1; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
keywordhelp = "http://zdoom.org/wiki/MODELDEF";

View File

@ -16,6 +16,10 @@ insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";

View File

@ -16,6 +16,10 @@ insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
@ -24,12 +28,12 @@ scripttype = 1; //0 = unknown script, 1 = acc, 2 = modeldef, 3 = decorate
keywords
{
#Define = "#Define identifier expression";
#EncryptStrings = "#EncryptStrings";
#Import = "#Import";
#Include = "#Include";
#LibDefine = "#LibDefine identifier expression";
#Library = "#Library";
#define = "#Define identifier expression";
#encryptstrings = "#EncryptStrings";
#import = "#Import";
#include = "#Include";
#libdefine = "#LibDefine identifier expression";
#library = "#Library";
#NoCompact = "#NoCompact";
#NoWadAuthor = "#NoWadAuthor";
#WadAuthor = "#WadAuthor";
@ -59,11 +63,11 @@ keywords
//BlueScore = "BlueScore()";
//BlueTeamCount = "BlueTeamCount()";
//BlueTeamScore = "BlueTeamScore()";
Bool = "Bool expression";
Break = "Break";
bool = "Bool expression";
break = "Break";
CancelFade = "void CancelFade(void)\nIf either FadeTo or FadeRange is currently in progress,\nCancelFade stops it and turns off the palette flash.";
CanRaiseActor = "bool CanRaiseActor(int tid)\nChecks to see if the actor or actors with the specified tid are viable for resurrection.\nIf tid is 0, the check is done on the activator of the script.";
Case = "Case expression";
case = "Case expression";
Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush, crushmode)";
Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush, crushmode)";
Ceiling_CrushAndRaiseDist = "Ceiling_CrushAndRaiseDist(tag, dist, speed, damage, crushmode)";
@ -113,16 +117,16 @@ keywords
ClearInventory = "void ClearInventory(void)\nClears the player's inventory of weapons, ammo, armor and usable items.";
ClearLineSpecial = "void ClearLineSpecial(void)\nClears the special of the line that activated the script.";
//ConsoleCommand = "void ConsoleCommand(str command)";
Const = "const";
Continue = "continue";
cos = "fixed Cos(int angle)";
const = "const";
continue = "continue";
Cos = "fixed Cos(int angle)";
CreateTranslation = "void CreateTranslation(int transnumber, a:b=c:d, ...)";
DamageThing = "DamageThing(amount, mod)";
Death = "Script expression Death";
Default = "default:";
DEATH = "Script expression Death";
default = "default:";
Delay = "void Delay(int tics)";
Disconnect = "Script expression Disconnect";
Do = "do";
DISCONNECT = "Script expression Disconnect";
do = "do";
Door_Animated = "Door_Animated(tag, speed, delay, lock)";
Door_Close = "Door_Close(tag, speed, lighttag)";
Door_CloseWaitOpen = "Door_CloseWaitOpen(tag, speed, delay, lighttag)";
@ -134,8 +138,8 @@ keywords
Elevator_LowerToNearest = "Elevator_LowerToNearest(tag, speed)";
Elevator_MoveToFloor = "Elevator_MoveToFloor(tag, speed)";
Elevator_RaiseToNearest = "Elevator_RaiseToNearest(tag, speed)";
Else = "Else";
Enter = "Script expression Enter";
else = "Else";
ENTER = "Script expression Enter";
Exit_Normal = "Exit_Normal(pos)";
Exit_Secret = "Exit_Secret(pos)";
FadeRange = "void FadeRange(int red1, int green1, int blue1, fixed amount1, int red2, int green2, int blue2, fixed amount2, fixed seconds)\nSets the current flash to the first color set and then fades it to the second color set over the specified number of seconds.";
@ -170,10 +174,10 @@ keywords
FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed, boomemu)";
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
For = "for(initialization, condition, iteration)";
for = "for(initialization, condition, iteration)";
ForceField = "ForceField";
FS_Execute = "FS_Execute(script, side, keynum, message)";
Function = "function void expression(void)";
function = "function void expression(void)";
GameSkill = "int GameSkill(void)";
GameType = "int GameType(void)";
Generic_Ceiling = "Generic_Ceiling(tag, speed, height, target, flag)";
@ -242,8 +246,8 @@ keywords
HealThing = "HealThing(amount)";
HudMessage = "void hudmessage(s:text; int type, int id, int color, fixed x, fixed y, fixed holdTime)";
HudMessageBold = "void HudMessageBold(s:text; int type, int id, int color, fixed x, fixed y, fixed holdTime)";
If = "if(expression)";
Int = "int expression";
if = "if(expression)";
int = "int expression";
//IsMultiplayer = "int IsMultiplayer(void)";
//IsOneFlagCTF = "int IsOneFlagCTF(void)";
IsPointerEqual = "bool IsPointerEqual(int ptr_select1, int ptr_select2[, int tid1[, int tid2]])";
@ -260,7 +264,7 @@ keywords
Light_Stop = "Light_Stop(tag)";
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
Light_StrobeDoom = "Light_StrobeDoom(tag, u-tics, l-tics)";
Lightning = "Script expression Lightning";
LIGHTNING = "Script expression Lightning";
LineAttack = "LineAttack(int tid, fixed angle, fixed pitch, int damage[, str pufftype = 'BulletPuff'[, str damagetype = 'None'[, fixed range = 2048[, int flags = 0[, int pufftid = 0]]]]])\nFires a hitscan attack. If tid is 0, the activator of the script is the source of the attack.";
Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
Line_AlignFloor = "Line_AlignFloor(lineid, side)";
@ -273,11 +277,11 @@ keywords
Log = "void Log(type:expression)\nLog will print something in the log area of the screen (top left), as well as logging it to the console.\nIt uses the same parameter format as the Print function.";
MorphActor = "int MorphActor(int tid, [str playerclass, [str monsterclass, [int duration, [int style, [str morphflash, [str unmorphflash]]]]]])";
NamedScriptWait = "void NamedScriptWait(str script)";
Net = "Script expression Net";
NET = "Script expression Net";
NoiseAlert = "NoiseAlert(target_tid, emiter_tid)";
Open = "Script expression Open";
OPEN = "Script expression Open";
PickActor = "bool PickActor(int source_tid, fixed angle, fixed pitch, fixed distance, int tid[, int actorMask = MF_SHOOTABLE[, int wallMask = ML_BLOCKEVERYTHING | ML_BLOCKHITSCAN[, bool forcetid = false]]])";
Pickup = "Script expression Pickup";
//PICKUP = "Script expression Pickup";
Pillar_Build = "Pillar_Build(tag, speed, height)";
Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush, crushmode)";
Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
@ -324,10 +328,10 @@ keywords
Radius_Quake2 = "void Radius_Quake2(int tid, int intensity, int duration, int damrad, int tremrad, str sound)";
Random = "int Random(int min, int max)";
ReplaceTextures = "void ReplaceTextures(str oldtexturename, str newtexturename[, int flags])\nReplaces all occurences of oldtexturename with newtexturename.\nNOT_ flags can be used.";
Respawn = "Script expression Respawn";
RESPAWN = "Script expression Respawn";
Restart = "Restart";
Return = "Return";
Script = "Script expression";
return = "Return";
script = "Script expression";
ScriptWait = "void ScriptWait(int script)";
Scroll_Ceiling = "Scroll_Ceiling(tag, x-move, y-move, unused)";
Scroll_Floor = "Scroll_Floor(tag, x-move, y-move, type)";
@ -400,7 +404,7 @@ keywords
SetUserCVarString = "bool SetUserCVarString(int playernumber, str cvar, str value)\nSets the console variable of a particular player.\nOnly mod-defined console variables through CVARINFO can be changed by using this function.\nReturns FALSE if cvar is invalid, it is not writable, or the player doesn't exist.";
SetUserVariable = "void SetUserVariable(int tid, str name, int value)\nSets one of the affected actor's user variables.";
SetWeapon = "bool SetWeapon(str weaponname)\nSets the player's current weapon to weaponname.\nReturns TRUE if the weapon was set successfully, and FALSE if not.";
sin = "fixed Sin(int angle)";
Sin = "fixed Sin(int angle)";
SoundSequence = "void SoundSequence(str sndseq)\nPlays a sound sequence defined in SNDSEQ lump.";
SoundSequenceOnActor = "void SoundSequenceOnActor(int tid, str sndseq)\nPlays a sound sequence defined in SNDSEQ lump.";
SoundSequenceOnPolyObj = "void SoundSequenceOnPolyobj(int polynum, str sndseq)\nPlays a sound sequence defined in SNDSEQ lump.";
@ -435,7 +439,7 @@ keywords
StrRight = "str StrRight(str string, int length)\nCreates a new string containing the length last characters of string.\nIf string does not exist, an empty string is returned.\nIf string is shorter than length characters, the entire string is returned.";
Suspend = "Suspend";
SwapActorTeleFog = "int SwapActorTeleFog(int tid)";
Switch = "Switch(expression)";
switch = "Switch(expression)";
TagWait = "void TagWait(int tag)";
TakeActorInventory = "void TakeActorInventory(int tid, str inventory_item, int amount)\nThis function will take the amount of items from the specified actor.\nTakeActorInventory can remove items that are flagged as undroppable.";
TakeInventory = "void TakeInventory(str inventory_item, int amount)\nThis function will take the number of items specified from the activator.\nTakeInventory can remove items that are flagged as undroppable.";
@ -482,19 +486,19 @@ keywords
Timer = "int Timer(void)";
TranslucentLine = "TranslucentLine(lineid, amount, additive, moreflags)";
UniqueTID = "int UniqueTID([int tid[, int limit]])";
Unloading = "Script expression Unloading";
UNLOADING = "Script expression Unloading";
UnMorphActor = "int UnMorphActor(int tid[, bool force])";
Until = "Until(expression)";
until = "Until(expression)";
UseActorInventory = "int UseActorInventory(int tid, str classname)\nForces the actor(s) with the specified tid to use an item from their inventory, if they have one.\nReturns TRUE if the item was used successfully.";
UseInventory = "int UseInventory(str classname)\nForces the activator to use the specified inventory item, if he has it.\nReturns TRUE if the item was used successfully.";
UsePuzzleItem = "UsePuzzleItem(item, script, arg1, arg2, arg3)";
VectorAngle = "fixed VectorAngle(int x, int y)";
VectorLength = "int VectorLength(int x, int y)";
Void = "void";
void = "void";
Warp = "bool Warp(int destinationtid, fixed xofs, fixed yofs, fixed zofs, int angle, int flags[, str success_state[, bool exactstate[, fixed heightoffset]]])";
While = "while(expression)";
WhiteReturn = "Script expression WhiteReturn";
World = "World Int expression:identifier";
while = "while(expression)";
//WHITERETURN = "Script expression WhiteReturn";
world = "World Int expression:identifier";
}
constants

View File

@ -11,6 +11,10 @@ insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35;
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
@ -127,7 +131,7 @@ keywords
A_CheckFloor = "A_CheckFloor(int offset OR str state)";
A_CheckFlag = "A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
A_CheckLOF = "A_CheckLOF(state jump[, int flags = 0[, float range = 0.0[, float minrange = 0.0[, float angle = 0.0[, float pitch = 0.0[, float offsetheight = 0.0[, float offsetwidth = 0.0[, int ptr_target = AAPTR_DEFAULT]]]]]]]])";
A_CheckProximity = "A_CheckProximity(str \"jump\", str classname, float distance[, int count = 1[, int flags = 0[, int pointer]]])";
A_CheckProximity = "A_CheckProximity(str jump, str classname, float distance[, int count = 1[, int flags = 0[, int pointer = AAPTR_DEFAULT]]])";
A_CheckRange = "A_CheckRange(float distance, int offset OR str state[, bool 2d_check])";
A_CheckSight = "A_CheckSight(int offset OR str state)";
A_CheckSightOrRange = "A_CheckSightOrRange(float distance, int offset OR str state[, bool 2d_check])";
@ -1204,6 +1208,13 @@ constants
CPXF_DEADONLY;
CPXF_LESSOREQUAL;
CPXF_EXACT;
CPXF_CHECKSIGHT;
CPXF_SETTARGET;
CPXF_SETMASTER;
CPXF_SETTRACER;
CPXF_FARTHEST;
CPXF_CLOSEST;
CPXF_SETONPTR;
//A_FaceTraget/Master/Tracer flags
FAF_BOTTOM;
FAF_MIDDLE;

View File

@ -9,6 +9,8 @@ extensions = "txt";
casesensitive = false;
insertcase = 1; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
codeblockopen = "{";
codeblockclose = "}";
terminator = ";";
keywords

View File

@ -16,6 +16,10 @@ insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";

View File

@ -0,0 +1,3 @@
switch ([EP])[LB]{
}

View File

@ -305,6 +305,14 @@ colors
color46 = -16776961;
color47 = -15671297;
color48 = -16720128;
color49 = -16711936;
color50 = -16711681;
color51 = -65536;
color52 = -8355712;
color53 = -1;
color54 = -13395457;
color55 = -6089451;
color56 = -9868951;
}

View File

@ -44,7 +44,7 @@ Source: Updater.ini; DestDir: {app}; Flags: ignoreversion
Source: Refmanual.chm; DestDir: {app}; Flags: ignoreversion
Source: DevIL.dll; DestDir: {app}; Flags: ignoreversion
Source: SharpCompress.3.5.dll; DestDir: {app}; Flags: ignoreversion
Source: Scintilla.dll; DestDir: {app}; Flags: ignoreversion
Source: ScintillaNET.3.5.dll; DestDir: {app}; Flags: ignoreversion
Source: SlimDX.dll; DestDir: {app}; Flags: ignoreversion
Source: GPL.txt; DestDir: {app}; Flags: ignoreversion
Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion recursesubdirs

View File

@ -121,20 +121,10 @@
</Compile>
<Compile Include="Controls\ArgumentBox.Designer.cs">
<DependentUpon>ArgumentBox.cs</DependentUpon>
</Compile>
<Compile Include="Controls\ScriptEditorControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ScriptEditorControl.Designer.cs">
<DependentUpon>ScriptEditorControl.cs</DependentUpon>
</Compile>
</Compile>
<Compile Include="Controls\ScriptDocumentTab.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\ScintillaConstants.cs" />
<Compile Include="Controls\ScintillaControl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\ScriptEditorPanel.cs">
<SubType>UserControl</SubType>
</Compile>
@ -539,6 +529,9 @@
</ItemGroup>
<ItemGroup>
<Reference Include="JetBrains.Profiler.Core.Api, Version=1.3.1661.20096, Culture=neutral, PublicKeyToken=1010a0d8d6380325" Condition=" '$(Configuration)|$(Platform)' == 'Debug + Profiler|x86' Or '$(Configuration)|$(Platform)' == 'Release + Profiler|x86' " />
<Reference Include="ScintillaNET.3.5, Version=3.5.6.0, Culture=neutral, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="SharpCompress.3.5, Version=0.11.2.0, Culture=neutral, processorArchitecture=x86">
<Private>False</Private>
</Reference>
@ -710,7 +703,9 @@
<None Include="Resources\zonebuilder.png" />
<None Include="Resources\ZoneBuilder.bmp" />
<None Include="app.manifest" />
<None Include="Resources\ScriptSnippet.xpm" />
<EmbeddedResource Include="Controls\ScriptEditorControl.resx">
<DependentUpon>ScriptEditorControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Resources\SkySphere.md3" />
<None Include="Resources\ThingStatistics.png" />
<None Include="Resources\Copy.png" />
@ -777,6 +772,12 @@
</Compile>
<Compile Include="Controls\PasteOptionsControl.Designer.cs">
<DependentUpon>PasteOptionsControl.cs</DependentUpon>
</Compile>
<Compile Include="Controls\ScriptEditorControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ScriptEditorControl.designer.cs">
<DependentUpon>ScriptEditorControl.cs</DependentUpon>
</Compile>
<Compile Include="Controls\SectorSlopeControl.cs">
<SubType>UserControl</SubType>
@ -1140,6 +1141,13 @@
<None Include="Resources\ModelDisabled.png" />
<None Include="Resources\ModelFiltered.png" />
<Content Include="Resources\Model_selected.png" />
<None Include="Resources\TextWhitespace.png" />
<None Include="Resources\TextIndent.png" />
<None Include="Resources\TextUnindent.png" />
<None Include="Resources\ScriptSnippet.png" />
<None Include="Resources\ScriptKeyword.png" />
<None Include="Resources\ScriptError.png" />
<None Include="Resources\ScriptConstant.png" />
<None Include="Resources\Sky.png" />
<None Include="Resources\Update.png" />
<None Include="Resources\Reload.png" />
@ -1213,9 +1221,6 @@
<Compile Include="Windows\PreferencesController.cs" />
<None Include="Resources\Script2.png" />
<None Include="Resources\ScriptCompile.png" />
<None Include="Resources\ScriptConstant.xpm" />
<None Include="Resources\ScriptError.xpm" />
<None Include="Resources\ScriptKeyword.xpm" />
<None Include="Resources\ScriptPalette.png" />
<None Include="Resources\SaveAll.png" />
<None Include="Resources\SaveScript.png" />
@ -1231,10 +1236,6 @@
<None Include="Resources\ViewTextureFloor.png" />
<None Include="Resources\ViewNormal.png" />
<None Include="Resources\KnownTextureSet.png" />
<EmbeddedResource Include="Controls\ScriptEditorControl.resx">
<SubType>Designer</SubType>
<DependentUpon>ScriptEditorControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Hourglass3D.png" />
<None Include="Resources\Failed.png" />
<None Include="Resources\Grid2_arrowup.png" />

View File

@ -67,7 +67,8 @@ namespace CodeImp.DoomBuilder.Config
private bool scriptfontbold;
private bool scriptontop;
private bool scriptautoindent;
private bool snippetsallmanstyle; //mxd
private bool scriptusetabs; //mxd
private bool snippetsallmanstyle; //mxd
private string screenshotspath; //mxd
private int scripttabwidth;
private int previewimagesize;
@ -167,7 +168,8 @@ namespace CodeImp.DoomBuilder.Config
public int ZoomFactor { get { return zoomfactor; } internal set { zoomfactor = value; } }
public bool ShowErrorsWindow { get { return showerrorswindow; } internal set { showerrorswindow = value; } }
public bool AnimateVisualSelection { get { return animatevisualselection; } internal set { animatevisualselection = value; } }
public int ScriptTabWidth { get { return scripttabwidth; } internal set { scripttabwidth = value; } }
public bool ScriptUseTabs { get { return scriptusetabs; } internal set { scriptusetabs = value; } } //mxd
public int ScriptTabWidth { get { return scripttabwidth; } internal set { scripttabwidth = value; } }
public bool ScriptAutoIndent { get { return scriptautoindent; } internal set { scriptautoindent = value; } }
public bool SnippetsAllmanStyle { get { return snippetsallmanstyle; } internal set { snippetsallmanstyle = value; } } //mxd
internal string ScreenshotsPath { get { return screenshotspath; } set { screenshotspath = value; } } //mxd
@ -277,14 +279,15 @@ namespace CodeImp.DoomBuilder.Config
movespeed = cfg.ReadSetting("movespeed", 100);
viewdistance = cfg.ReadSetting("viewdistance", 3000.0f);
invertyaxis = cfg.ReadSetting("invertyaxis", false);
scriptfontname = cfg.ReadSetting("scriptfontname", "Lucida Console");
scriptfontsize = cfg.ReadSetting("scriptfontsize", 10);
scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New");
scriptfontsize = cfg.ReadSetting("scriptfontsize", 10);
scriptfontbold = cfg.ReadSetting("scriptfontbold", false);
scriptautoindent = cfg.ReadSetting("scriptautoindent", true);
snippetsallmanstyle = cfg.ReadSetting("snippetsallmanstyle", false); //mxd
screenshotspath = cfg.ReadSetting("screenshotspath", General.DefaultScreenshotsPath); //mxd
scriptontop = cfg.ReadSetting("scriptontop", true);
scripttabwidth = cfg.ReadSetting("scripttabwidth", 4);
scriptusetabs = cfg.ReadSetting("scriptusetabs", true); //mxd
scripttabwidth = cfg.ReadSetting("scripttabwidth", 4);
previewimagesize = cfg.ReadSetting("previewimagesize", 1);
autoscrollspeed = cfg.ReadSetting("autoscrollspeed", 0);
zoomfactor = cfg.ReadSetting("zoomfactor", 3);
@ -381,7 +384,8 @@ namespace CodeImp.DoomBuilder.Config
cfg.WriteSetting("scriptfontsize", scriptfontsize);
cfg.WriteSetting("scriptfontbold", scriptfontbold);
cfg.WriteSetting("scriptontop", scriptontop);
cfg.WriteSetting("scripttabwidth", scripttabwidth);
cfg.WriteSetting("scriptusetabs", scriptusetabs); //mxd
cfg.WriteSetting("scripttabwidth", scripttabwidth);
cfg.WriteSetting("scriptautoindent", scriptautoindent);
cfg.WriteSetting("snippetsallmanstyle", snippetsallmanstyle); //mxd
cfg.WriteSetting("screenshotspath", screenshotspath); //mxd

View File

@ -21,6 +21,7 @@ using System.Collections;
using System.Collections.Generic;
using System.IO;
using CodeImp.DoomBuilder.IO;
using ScintillaNET;
#endregion
@ -54,28 +55,34 @@ namespace CodeImp.DoomBuilder.Config
private readonly string[] extensions;
private readonly bool casesensitive;
private readonly int insertcase;
private readonly int lexer;
private readonly string keywordhelp;
private readonly Lexer lexer;
private readonly string keywordhelp;
private readonly string functionopen;
private readonly string functionclose;
private readonly string argumentdelimiter;
private readonly string codeblockopen; //mxd
private readonly string codeblockclose; //mxd
private readonly string arrayopen; //mxd
private readonly string arrayclose; //mxd
private readonly string argumentdelimiter;
private readonly string terminator;
private readonly string functionregex;
private readonly ScriptType scripttype; //mxd
// Collections
private readonly Dictionary<string, string> keywords;
private readonly Dictionary<string, string> lowerkeywords;
private readonly List<string> constants;
private readonly List<string> keywordkeyssorted; //mxd
private readonly List<string> constants;
private readonly Dictionary<string, string> lowerconstants;
private readonly Dictionary<string, string[]> snippets; //mxd
#endregion
private readonly HashSet<string> snippetkeyssorted; //mxd
private readonly HashSet<char> braces; //mxd
#region ================== Properties
#endregion
// Compiler settings
public CompilerInfo Compiler { get { return compiler; } }
#region ================== Properties
// Compiler settings
public CompilerInfo Compiler { get { return compiler; } }
public string Parameters { get { return parameters; } }
public string ResultLump { get { return resultlump; } }
@ -85,37 +92,45 @@ namespace CodeImp.DoomBuilder.Config
public string[] Extensions { get { return extensions; } }
public bool CaseSensitive { get { return casesensitive; } }
public int InsertCase { get { return insertcase; } }
public int Lexer { get { return lexer; } }
public string KeywordHelp { get { return keywordhelp; } }
public Lexer Lexer { get { return lexer; } }
public string KeywordHelp { get { return keywordhelp; } }
public string FunctionOpen { get { return functionopen; } }
public string FunctionClose { get { return functionclose; } }
public string ArgumentDelimiter { get { return argumentdelimiter; } }
public string CodeBlockOpen { get { return codeblockopen; } } //mxd
public string CodeBlockClose { get { return codeblockclose; } } //mxd
public string ArrayOpen { get { return arrayopen; } } //mxd
public string ArrayClose { get { return arrayclose; } } //mxd
public string ArgumentDelimiter { get { return argumentdelimiter; } }
public string Terminator { get { return terminator; } }
public string FunctionRegEx { get { return functionregex; } }
public ScriptType ScriptType { get { return scripttype; } } //mxd
public Dictionary<string, string[]> Snippets { get { return snippets; } } //mxd
// Collections
public ICollection<string> Keywords { get { return keywords.Keys; } }
public ICollection<string> Constants { get { return constants; } }
#endregion
// Collections
public ICollection<string> Keywords { get { return keywordkeyssorted; } }
public ICollection<string> Constants { get { return constants; } }
public ICollection<string> Snippets { get { return snippetkeyssorted; } }
public HashSet<char> BraceChars { get { return braces; } } //mxd
#region ================== Constructor / Disposer
// This creates the default script configuration
// that is used for documents of unknown type
internal ScriptConfiguration()
#endregion
#region ================== Constructor / Disposer
// This creates the default script configuration
// that is used for documents of unknown type
internal ScriptConfiguration()
{
// Initialize
this.keywords = new Dictionary<string, string>(StringComparer.Ordinal);
this.constants = new List<string>();
this.lowerkeywords = new Dictionary<string, string>(StringComparer.Ordinal);
this.lowerconstants = new Dictionary<string, string>(StringComparer.Ordinal);
this.keywordkeyssorted = new List<string>(); //mxd
this.snippets = new Dictionary<string, string[]>(StringComparer.OrdinalIgnoreCase); //mxd
this.snippetkeyssorted = new HashSet<string>(); //mxd
this.braces = new HashSet<char>(); //mxd
// Settings
lexer = 1;
casesensitive = false;
// Settings
lexer = Lexer.Null;
casesensitive = false;
codepage = 65001;
parameters = "";
resultlump = "";
@ -123,13 +138,15 @@ namespace CodeImp.DoomBuilder.Config
keywordhelp = "";
functionopen = "";
functionclose = "";
argumentdelimiter = "";
codeblockopen = ""; //mxd
codeblockclose = ""; //mxd
arrayopen = ""; //mxd
arrayclose = ""; //mxd
argumentdelimiter = "";
terminator = "";
functionregex = "";
description = "Plain text";
scripttype = ScriptType.UNKNOWN; //mxd
extensions = new[] { "txt" };
snippets = new Dictionary<string, string[]>(StringComparer.Ordinal); //mxd
}
// Constructor
@ -140,10 +157,12 @@ namespace CodeImp.DoomBuilder.Config
this.constants = new List<string>();
this.lowerkeywords = new Dictionary<string, string>(StringComparer.Ordinal);
this.lowerconstants = new Dictionary<string, string>(StringComparer.Ordinal);
this.snippets = new Dictionary<string, string[]>(StringComparer.Ordinal); //mxd
// Read settings
description = cfg.ReadSetting("description", "Untitled script");
this.keywordkeyssorted = new List<string>(); //mxd
this.snippets = new Dictionary<string, string[]>(StringComparer.OrdinalIgnoreCase); //mxd
this.snippetkeyssorted = new HashSet<string>(); //mxd
this.braces = new HashSet<char>(); //mxd
// Read settings
description = cfg.ReadSetting("description", "Untitled script");
codepage = cfg.ReadSetting("codepage", 0);
string extensionsstring = cfg.ReadSetting("extensions", "");
string compilername = cfg.ReadSetting("compiler", "");
@ -151,17 +170,28 @@ namespace CodeImp.DoomBuilder.Config
resultlump = cfg.ReadSetting("resultlump", "");
casesensitive = cfg.ReadSetting("casesensitive", true);
insertcase = cfg.ReadSetting("insertcase", 0);
lexer = cfg.ReadSetting("lexer", 0);
keywordhelp = cfg.ReadSetting("keywordhelp", "");
lexer = (Lexer)cfg.ReadSetting("lexer", (int)Lexer.Container);
keywordhelp = cfg.ReadSetting("keywordhelp", "");
functionopen = cfg.ReadSetting("functionopen", "");
functionclose = cfg.ReadSetting("functionclose", "");
argumentdelimiter = cfg.ReadSetting("argumentdelimiter", "");
codeblockopen = cfg.ReadSetting("codeblockopen", ""); //mxd
codeblockclose = cfg.ReadSetting("codeblockclose", ""); //mxd
arrayopen = cfg.ReadSetting("arrayopen", ""); //mxd
arrayclose = cfg.ReadSetting("arrayclose", ""); //mxd
argumentdelimiter = cfg.ReadSetting("argumentdelimiter", "");
terminator = cfg.ReadSetting("terminator", "");
functionregex = cfg.ReadSetting("functionregex", "");
scripttype = (ScriptType)cfg.ReadSetting("scripttype", (int)ScriptType.UNKNOWN); //mxd
// Make extensions array
extensions = extensionsstring.Split(',');
//mxd. Make braces array
if (!string.IsNullOrEmpty(functionopen)) braces.Add(functionopen[0]);
if (!string.IsNullOrEmpty(functionclose)) braces.Add(functionclose[0]);
if (!string.IsNullOrEmpty(codeblockopen)) braces.Add(codeblockopen[0]);
if (!string.IsNullOrEmpty(codeblockclose)) braces.Add(codeblockclose[0]);
if (!string.IsNullOrEmpty(arrayopen)) braces.Add(arrayopen[0]);
if (!string.IsNullOrEmpty(arrayclose)) braces.Add(arrayclose[0]);
// Make extensions array
extensions = extensionsstring.Split(',');
for(int i = 0; i < extensions.Length; i++) extensions[i] = extensions[i].Trim();
// Load keywords
@ -170,67 +200,82 @@ namespace CodeImp.DoomBuilder.Config
{
keywords.Add(de.Key.ToString(), de.Value.ToString());
lowerkeywords.Add(de.Key.ToString().ToLowerInvariant(), de.Key.ToString());
}
// Load constants
dic = cfg.ReadSetting("constants", new Hashtable());
keywordkeyssorted.Add(de.Key.ToString()); //mxd
}
//mxd. Sort keywords lookup
keywordkeyssorted.Sort();
// Load constants
dic = cfg.ReadSetting("constants", new Hashtable());
foreach(DictionaryEntry de in dic)
{
constants.Add(de.Key.ToString());
lowerconstants.Add(de.Key.ToString().ToLowerInvariant(), de.Key.ToString());
}
// Compiler specified?
if(compilername.Length > 0)
{
// Find compiler
foreach(CompilerInfo c in General.Compilers)
{
// Compiler name matches?
if(c.Name == compilername)
{
// Apply compiler
this.compiler = c;
break;
}
}
// No compiler found?
if(this.compiler == null) throw new Exception("No such compiler defined: '" + compilername + "'");
}
//mxd. Load Snippets
string snippetsdir = cfg.ReadSetting("snippetsdir", "");
if(!string.IsNullOrEmpty(snippetsdir))
//mxd
constants.Sort();
//mxd. Load Snippets
string snippetsdir = cfg.ReadSetting("snippetsdir", "");
if(!string.IsNullOrEmpty(snippetsdir))
{
string snippetspath = Path.Combine(General.SnippetsPath, snippetsdir);
if(Directory.Exists(snippetspath))
if(Directory.Exists(snippetspath))
{
string[] files = Directory.GetFiles(snippetspath, "*.txt", SearchOption.TopDirectoryOnly);
List<string> sortedkeys = new List<string>();
foreach(string file in files)
foreach (string file in files)
{
string name = Path.GetFileNameWithoutExtension(file);
if(name.Contains(" "))
if (string.IsNullOrEmpty(name))
{
General.ErrorLogger.Add(ErrorType.Warning, "Failed to load snippet '" + file + "' for '" + description + "' script configuration.");
}
else
{
General.ErrorLogger.Add(ErrorType.Warning, "Failed to load snippet '" + file + "' for '" + description + "' script configuration: snippet file name must not contain spaces!");
}
else
{
string[] lines = File.ReadAllLines(file);
if(lines.Length > 0)
if (name.Contains(" ")) name = name.Replace(' ', '_');
string[] lines = File.ReadAllLines(file);
if(lines.Length > 0)
{
snippets.Add(name, lines);
}
else
sortedkeys.Add(name);
}
else
{
General.ErrorLogger.Add(ErrorType.Warning, "Failed to load snippet '" + file + "' for '" + description + "' script configuration: file is empty!");
}
}
}
}
}
}
//mxd. Sort snippets lookup
sortedkeys.Sort();
snippetkeyssorted = new HashSet<string>(sortedkeys, StringComparer.OrdinalIgnoreCase);
}
}
// Compiler specified?
if (compilername.Length > 0)
{
// Find compiler
foreach (CompilerInfo c in General.Compilers)
{
// Compiler name matches?
if (c.Name == compilername)
{
// Apply compiler
this.compiler = c;
break;
}
}
// No compiler found?
if (this.compiler == null) throw new Exception("No such compiler defined: '" + compilername + "'");
}
}
#endregion
@ -278,9 +323,15 @@ namespace CodeImp.DoomBuilder.Config
else
return null;
}
// This sorts by description
public int CompareTo(ScriptConfiguration other)
//mxd
public string[] GetSnippet(string name)
{
return (snippetkeyssorted.Contains(name) ? snippets[name] : null);
}
// This sorts by description
public int CompareTo(ScriptConfiguration other)
{
return string.Compare(this.description, other.description, true);
}

View File

@ -20,13 +20,13 @@ using System;
using System.IO;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CodeImp.DoomBuilder.Windows;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Compilers;
using CodeImp.DoomBuilder.GZBuilder.Data;
using CodeImp.DoomBuilder.GZBuilder.GZDoom;
using ScintillaNET;
#endregion
@ -34,11 +34,10 @@ namespace CodeImp.DoomBuilder.Controls
{
internal abstract class ScriptDocumentTab : TabPage
{
#region ================== Constants
#region ================== Constants
private const int NAVIGATOR_BORDER_TOP = 8; //mxd
private const int EDITOR_BORDER_TOP = 33;
private const int EDITOR_BORDER_BOTTOM = 4;
private const int EDITOR_BORDER_TOP = 4;
private const int EDITOR_BORDER_BOTTOM = 4;
private const int EDITOR_BORDER_LEFT = 4;
private const int EDITOR_BORDER_RIGHT = 4;
@ -48,7 +47,6 @@ namespace CodeImp.DoomBuilder.Controls
// The script edit control
protected readonly ScriptEditorControl editor;
protected readonly ComboBox navigator; //mxd
private bool preventchanges; //mxd
private string title; //mxd
@ -68,11 +66,15 @@ namespace CodeImp.DoomBuilder.Controls
public virtual bool IsReconfigurable { get { return true; } }
public virtual string Filename { get { return null; } }
public ScriptEditorPanel Panel { get { return panel; } }
public new string Text { get { return title; } } //mxd
public bool IsChanged { get { return editor.IsChanged; } internal set { editor.IsChanged = value; } } //mxd. Added setter
public int SelectionStart { get { return editor.SelectionStart; } set { editor.SelectionStart = value; } }
internal Scintilla Scintilla { get { return editor.Scintilla; } } //mxd
public string Title { get { return title; } } //mxd
public bool IsChanged { get { return editor.IsChanged; } }
public int SelectionStart { get { return editor.SelectionStart; } set { editor.SelectionStart = value; } }
public int SelectionEnd { get { return editor.SelectionEnd; } set { editor.SelectionEnd = value; } }
public ScriptConfiguration Config { get { return config; } }
public bool ShowWhitespace { get { return editor.ShowWhitespace; } set { editor.ShowWhitespace = value; } } //mxd
public bool WrapLongLines { get { return editor.WrapLongLines; } set { editor.WrapLongLines = value; } } //mxd
public string SelectedText { get { return editor.SelectedText; } } //mxd
public ScriptConfiguration Config { get { return config; } }
#endregion
@ -90,19 +92,6 @@ namespace CodeImp.DoomBuilder.Controls
// Keep panel
this.panel = panel;
//mxd
navigator = new ComboBox();
navigator.Location = new Point(EDITOR_BORDER_LEFT, NAVIGATOR_BORDER_TOP);
navigator.Width = this.ClientSize.Width - EDITOR_BORDER_LEFT - EDITOR_BORDER_RIGHT;
navigator.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
navigator.DropDownStyle = ComboBoxStyle.DropDownList;
navigator.Name = "navigator";
navigator.TabStop = true;
navigator.TabIndex = 0;
navigator.DropDown += navigator_DropDown;
navigator.SelectedIndexChanged += navigator_SelectedIndexChanged;
this.Controls.Add(navigator);
// Make the script control
editor = new ScriptEditorControl();
editor.Location = new Point(EDITOR_BORDER_LEFT, EDITOR_BORDER_TOP);
@ -121,10 +110,14 @@ namespace CodeImp.DoomBuilder.Controls
editor.OnFindNext += panel.FindNext;
editor.OnFindPrevious += panel.FindPrevious; //mxd
editor.OnTextChanged += editor_TextChanged; //mxd
}
// Disposer
protected override void Dispose(bool disposing)
//mxd. Bind functionbar events
editor.FunctionBar.DropDown += functionbar_DropDown;
editor.FunctionBar.SelectedIndexChanged += functionbar_SelectedIndexChanged;
}
// Disposer
protected override void Dispose(bool disposing)
{
// Remove events
editor.OnExplicitSaveTab -= panel.ExplicitSaveCurrentTab;
@ -263,134 +256,28 @@ namespace CodeImp.DoomBuilder.Controls
// Find next result
public bool FindNext(FindReplaceOptions options, bool useselectionstart)
{
byte[] data = editor.GetText();
string text = Encoding.GetEncoding(config.CodePage).GetString(data);
StringComparison mode = options.CaseSensitive ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase;
int startpos = (useselectionstart ? Math.Min(editor.SelectionStart, editor.SelectionEnd) : Math.Max(editor.SelectionStart, editor.SelectionEnd)); //mxd
bool wrapped = false;
while(true)
{
int result = text.IndexOf(options.FindText, startpos, mode);
if(result > -1)
{
// Check to see if it is the whole word
if(options.WholeWord)
{
// Veryfy that we have found a whole word
string foundword = editor.GetWordAt(result + 1);
if(foundword.Length != options.FindText.Length)
{
startpos = result + 1;
result = -1;
}
}
// Still ok?
if(result > -1)
{
// Select the result
editor.SelectionStart = result;
editor.SelectionEnd = result + options.FindText.Length;
editor.EnsureLineVisible(editor.LineFromPosition(editor.SelectionEnd));
return true;
}
}
else
{
// If we haven't tried from the start, try from the start now
if((startpos > 0) && !wrapped)
{
startpos = 0;
wrapped = true;
}
else
{
// Can't find it
return false;
}
}
}
return editor.FindNext(options, useselectionstart);
}
// Find previous result (mxd)
public bool FindPrevious(FindReplaceOptions options)
{
bool wrapped = false;
byte[] data = editor.GetText();
string text = Encoding.GetEncoding(config.CodePage).GetString(data);
StringComparison mode = options.CaseSensitive ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase;
int endpos = Math.Min(editor.SelectionStart, editor.SelectionEnd) - 1;
if(endpos < 0)
{
endpos = text.Length - 1;
wrapped = true;
}
while(true)
{
int result = text.LastIndexOf(options.FindText, endpos, mode);
if(result > -1)
{
// Check to see if it is the whole word
if(options.WholeWord)
{
// Veryfy that we have found a whole word
string foundword = editor.GetWordAt(result + 1);
if(foundword.Length != options.FindText.Length)
{
endpos = result - 1;
result = -1;
}
}
// Still ok?
if(result > -1)
{
// Select the result
editor.SelectionStart = result;
editor.SelectionEnd = result + options.FindText.Length;
editor.EnsureLineVisible(editor.LineFromPosition(editor.SelectionEnd));
return true;
}
}
else
{
// If we haven't tried from the end, try from the end now
if(!wrapped)
{
endpos = Math.Max(0, text.Length - 2);
wrapped = true;
}
else
{
// Can't find it
return false;
}
}
}
}
return editor.FindPrevious(options);
}
// This replaces the selection with the given text
public void ReplaceSelection(string replacement)
{
editor.ReplaceSelection(replacement);
}
// This returns the selected text
public string GetSelectedText()
{
byte[] data = editor.GetText();
string text = Encoding.GetEncoding(config.CodePage).GetString(data);
if(editor.SelectionStart < editor.SelectionEnd)
return text.Substring(editor.SelectionStart, editor.SelectionEnd - editor.SelectionStart);
return "";
}
//mxd
protected void UpdateNavigator()
protected void UpdateNavigator()
{
switch(config.ScriptType)
// Store currently selected item name
string prevtext = editor.FunctionBar.Text;
switch (config.ScriptType)
{
case ScriptType.ACS:
UpdateNavigatorAcs(new MemoryStream(editor.GetText()));
@ -405,17 +292,33 @@ namespace CodeImp.DoomBuilder.Controls
break;
default: // Unsupported script type. Just clear the items
navigator.Items.Clear();
break;
editor.FunctionBar.Items.Clear();
break;
}
// Put some text in the navigator (but don't actually trigger selection event)
navigator.Enabled = (navigator.Items.Count > 0);
if(navigator.Items.Count > 0)
{
// Put some text in the navigator (but don't actually trigger selection event)
editor.FunctionBar.Enabled = (editor.FunctionBar.Items.Count > 0);
if (editor.FunctionBar.Items.Count > 0)
{
preventchanges = true;
navigator.Text = navigator.Items[0].ToString();
preventchanges = false;
// Put the text back if we still have the corresponding item
if (!string.IsNullOrEmpty(prevtext))
{
foreach (var item in editor.FunctionBar.Items)
{
if (item.ToString() == prevtext)
{
editor.FunctionBar.Text = item.ToString();
break;
}
}
}
// No dice. Use the first item
if (string.IsNullOrEmpty(editor.FunctionBar.Text))
editor.FunctionBar.Text = editor.FunctionBar.Items[0].ToString();
preventchanges = false;
}
}
@ -423,13 +326,13 @@ namespace CodeImp.DoomBuilder.Controls
private void UpdateNavigatorDecorate(MemoryStream stream)
{
if(stream == null) return;
navigator.Items.Clear();
editor.FunctionBar.Items.Clear();
DecorateParserSE parser = new DecorateParserSE();
DecorateParserSE parser = new DecorateParserSE();
if(parser.Parse(stream, "DECORATE", false))
{
navigator.Items.AddRange(parser.Actors.ToArray());
}
editor.FunctionBar.Items.AddRange(parser.Actors.ToArray());
}
if(parser.HasError)
{
@ -441,13 +344,13 @@ namespace CodeImp.DoomBuilder.Controls
private void UpdateNavigatorModeldef(MemoryStream stream)
{
if(stream == null) return;
navigator.Items.Clear();
editor.FunctionBar.Items.Clear();
ModeldefParserSE parser = new ModeldefParserSE();
ModeldefParserSE parser = new ModeldefParserSE();
if(parser.Parse(stream, "MODELDEF", false))
{
navigator.Items.AddRange(parser.Models.ToArray());
}
editor.FunctionBar.Items.AddRange(parser.Models.ToArray());
}
if(parser.HasError)
{
@ -459,15 +362,15 @@ namespace CodeImp.DoomBuilder.Controls
private void UpdateNavigatorAcs(MemoryStream stream)
{
if(stream == null) return;
navigator.Items.Clear();
editor.FunctionBar.Items.Clear();
AcsParserSE parser = new AcsParserSE { AddArgumentsToScriptNames = true, IsMapScriptsLump = this is ScriptLumpDocumentTab };
AcsParserSE parser = new AcsParserSE { AddArgumentsToScriptNames = true, IsMapScriptsLump = this is ScriptLumpDocumentTab };
if(parser.Parse(stream, "SCRIPTS", false))
{
navigator.Items.AddRange(parser.NamedScripts.ToArray());
navigator.Items.AddRange(parser.NumberedScripts.ToArray());
navigator.Items.AddRange(parser.Functions.ToArray());
}
editor.FunctionBar.Items.AddRange(parser.NamedScripts.ToArray());
editor.FunctionBar.Items.AddRange(parser.NumberedScripts.ToArray());
editor.FunctionBar.Items.AddRange(parser.Functions.ToArray());
}
if(parser.HasError)
{
@ -493,18 +396,25 @@ namespace CodeImp.DoomBuilder.Controls
return ScriptType.UNKNOWN;
}
//mxd
internal void InsertSnippet(string[] lines)
{
editor.InsertSnippet(lines);
}
//mxd
internal void InsertSnippet(string name)
{
string[] lines = config.GetSnippet(name);
if (lines != null) editor.InsertSnippet(lines);
}
#endregion
#region ================== Events
// Mouse released
protected override void OnMouseUp(MouseEventArgs e)
//mxd
internal void IndentSelection(bool indent)
{
editor.IndentSelection(indent);
}
#endregion
#region ================== Events
// Mouse released
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
@ -523,13 +433,13 @@ namespace CodeImp.DoomBuilder.Controls
editor.GrabFocus();
}
//mxd
private void navigator_SelectedIndexChanged(object sender, EventArgs e)
{
if(!preventchanges && navigator.SelectedItem is ScriptItem)
{
ScriptItem si = navigator.SelectedItem as ScriptItem;
editor.EnsureLineVisible(editor.LineFromPosition(si.CursorPosition));
//mxd
private void functionbar_SelectedIndexChanged(object sender, EventArgs e)
{
if (!preventchanges && editor.FunctionBar.SelectedItem is ScriptItem)
{
ScriptItem si = editor.FunctionBar.SelectedItem as ScriptItem;
editor.EnsureLineVisible(editor.LineFromPosition(si.CursorPosition));
editor.SelectionStart = si.CursorPosition;
editor.SelectionEnd = si.CursorPosition;
@ -539,9 +449,9 @@ namespace CodeImp.DoomBuilder.Controls
}
}
//mxd
private void navigator_DropDown(object sender, EventArgs e)
{
//mxd
private void functionbar_DropDown(object sender, EventArgs e)
{
if(!preventchanges && editor.IsChanged) UpdateNavigator();
}

View File

@ -1,167 +1,106 @@
namespace CodeImp.DoomBuilder.Controls
{
partial class ScriptEditorControl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
partial class ScriptEditorControl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if(disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.functionbar = new System.Windows.Forms.ComboBox();
this.scriptedit = new CodeImp.DoomBuilder.Controls.ScintillaControl();
this.scriptpanel = new System.Windows.Forms.Panel();
this.scriptpanel.SuspendLayout();
this.SuspendLayout();
//
// functionbar
//
this.functionbar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.functionbar.FormattingEnabled = true;
this.functionbar.Items.AddRange(new object[] {
"Function1",
"Function2",
"Function3"});
this.functionbar.Location = new System.Drawing.Point(0, 0);
this.functionbar.Name = "functionbar";
this.functionbar.Size = new System.Drawing.Size(474, 21);
this.functionbar.TabIndex = 1;
this.functionbar.TabStop = false;
//
// scriptedit
//
this.scriptedit.AnchorPosition = 0;
this.scriptedit.AutoCMaximumHeight = 0;
this.scriptedit.AutoCMaximumWidth = 0;
this.scriptedit.AutoCSeparator = 0;
this.scriptedit.AutoCTypeSeparator = 0;
this.scriptedit.BackColor = System.Drawing.SystemColors.Window;
this.scriptedit.CaretFore = 0;
this.scriptedit.CaretLineBack = 0;
this.scriptedit.CaretPeriod = 0;
this.scriptedit.CaretWidth = 0;
this.scriptedit.CodePage = 0;
this.scriptedit.ControlCharSymbol = 0;
this.scriptedit.CurrentPos = 0;
this.scriptedit.CursorType = 0;
this.scriptedit.Dock = System.Windows.Forms.DockStyle.Fill;
this.scriptedit.DocPointer = 0;
this.scriptedit.EdgeColour = 0;
this.scriptedit.EdgeColumn = 0;
this.scriptedit.EdgeMode = 0;
this.scriptedit.EndAtLastLine = 0;
this.scriptedit.EndOfLineMode = CodeImp.DoomBuilder.Controls.ScriptEndOfLine.CRLF;
this.scriptedit.EOLMode = 0;
this.scriptedit.ExtraAscent = 0;
this.scriptedit.ExtraDescent = 0;
this.scriptedit.HighlightGuide = 0;
this.scriptedit.Indent = 0;
this.scriptedit.IndentationGuides = 0;
this.scriptedit.IsAutoCGetAutoHide = false;
this.scriptedit.IsAutoCGetCancelAtStart = false;
this.scriptedit.IsAutoCGetChooseSingle = false;
this.scriptedit.IsAutoCGetDropRestOfWord = false;
this.scriptedit.IsAutoCGetIgnoreCase = false;
this.scriptedit.IsBackSpaceUnIndents = false;
this.scriptedit.IsBufferedDraw = false;
this.scriptedit.IsCaretLineVisible = false;
this.scriptedit.IsFocus = false;
this.scriptedit.IsHScrollBar = false;
this.scriptedit.IsMouseDownCaptures = false;
this.scriptedit.IsOvertype = false;
this.scriptedit.IsReadOnly = false;
this.scriptedit.IsTabIndents = false;
this.scriptedit.IsTwoPhaseDraw = false;
this.scriptedit.IsUndoCollection = false;
this.scriptedit.IsUsePalette = false;
this.scriptedit.IsUseTabs = false;
this.scriptedit.IsViewEOL = false;
this.scriptedit.IsVScrollBar = false;
this.scriptedit.LayoutCache = 0;
this.scriptedit.Lexer = 0;
this.scriptedit.Location = new System.Drawing.Point(0, 0);
this.scriptedit.MarginLeft = 0;
this.scriptedit.MarginRight = 0;
this.scriptedit.ModEventMask = 0;
this.scriptedit.MouseDwellTime = 0;
this.scriptedit.Name = "scriptedit";
this.scriptedit.PrintColourMode = 0;
this.scriptedit.PrintMagnification = 0;
this.scriptedit.PrintWrapMode = 0;
this.scriptedit.ScrollWidth = 0;
this.scriptedit.SearchFlags = 0;
this.scriptedit.SelectionEnd = 0;
this.scriptedit.SelectionMode = 0;
this.scriptedit.SelectionStart = 0;
this.scriptedit.Size = new System.Drawing.Size(470, 377);
this.scriptedit.Status = 0;
this.scriptedit.StyleBits = 0;
this.scriptedit.TabIndex = 0;
this.scriptedit.TabStop = false;
this.scriptedit.TabWidth = 0;
this.scriptedit.TargetEnd = 0;
this.scriptedit.TargetStart = 0;
this.scriptedit.ViewWhitespace = CodeImp.DoomBuilder.Controls.ScriptWhiteSpace.Invisible;
this.scriptedit.ViewWS = 0;
this.scriptedit.WrapMode = 0;
this.scriptedit.WrapStartIndent = 0;
this.scriptedit.WrapVisualFlags = 0;
this.scriptedit.WrapVisualFlagsLocation = 0;
this.scriptedit.XOffset = 0;
this.scriptedit.ZoomLevel = 0;
this.scriptedit.KeyUp += new System.Windows.Forms.KeyEventHandler(this.scriptedit_KeyUp);
this.scriptedit.KeyDown += new System.Windows.Forms.KeyEventHandler(this.scriptedit_KeyDown);
//
// scriptpanel
//
this.scriptpanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.scriptpanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.scriptpanel.Controls.Add(this.scriptedit);
this.scriptpanel.Location = new System.Drawing.Point(0, 27);
this.scriptpanel.Name = "scriptpanel";
this.scriptpanel.Size = new System.Drawing.Size(474, 381);
this.scriptpanel.TabIndex = 2;
//
// ScriptEditorControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.scriptpanel);
this.Controls.Add(this.functionbar);
this.Name = "ScriptEditorControl";
this.Size = new System.Drawing.Size(474, 408);
this.scriptpanel.ResumeLayout(false);
this.ResumeLayout(false);
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.scriptedit = new ScintillaNET.Scintilla();
this.scriptpanel = new System.Windows.Forms.Panel();
this.functionbar = new System.Windows.Forms.ComboBox();
this.scriptpanel.SuspendLayout();
this.SuspendLayout();
//
// scriptedit
//
this.scriptedit.AutoCIgnoreCase = true;
this.scriptedit.AutoCMaxHeight = 12;
this.scriptedit.AutoCOrder = ScintillaNET.Order.Custom;
this.scriptedit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.scriptedit.CaretWidth = 2;
this.scriptedit.Dock = System.Windows.Forms.DockStyle.Fill;
this.scriptedit.ExtraAscent = 1;
this.scriptedit.ExtraDescent = 1;
this.scriptedit.FontQuality = ScintillaNET.FontQuality.LcdOptimized;
this.scriptedit.Location = new System.Drawing.Point(0, 0);
this.scriptedit.Name = "scriptedit";
this.scriptedit.ScrollWidth = 200;
this.scriptedit.Size = new System.Drawing.Size(474, 381);
this.scriptedit.TabIndex = 0;
this.scriptedit.TabStop = false;
this.scriptedit.UseTabs = true;
this.scriptedit.WhitespaceSize = 2;
this.scriptedit.TextChanged += new System.EventHandler(this.scriptedit_TextChanged);
this.scriptedit.CharAdded += new System.EventHandler<ScintillaNET.CharAddedEventArgs>(this.scriptedit_CharAdded);
this.scriptedit.AutoCCompleted += new System.EventHandler<ScintillaNET.AutoCSelectionEventArgs>(this.scriptedit_AutoCCompleted);
this.scriptedit.InsertCheck += new System.EventHandler<ScintillaNET.InsertCheckEventArgs>(this.scriptedit_InsertCheck);
this.scriptedit.KeyUp += new System.Windows.Forms.KeyEventHandler(this.scriptedit_KeyUp);
this.scriptedit.UpdateUI += new System.EventHandler<ScintillaNET.UpdateUIEventArgs>(this.scriptedit_UpdateUI);
this.scriptedit.KeyDown += new System.Windows.Forms.KeyEventHandler(this.scriptedit_KeyDown);
//
// scriptpanel
//
this.scriptpanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.scriptpanel.Controls.Add(this.scriptedit);
this.scriptpanel.Location = new System.Drawing.Point(0, 27);
this.scriptpanel.Name = "scriptpanel";
this.scriptpanel.Size = new System.Drawing.Size(474, 381);
this.scriptpanel.TabIndex = 2;
//
// functionbar
//
this.functionbar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.functionbar.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.functionbar.FormattingEnabled = true;
this.functionbar.Location = new System.Drawing.Point(0, 0);
this.functionbar.Name = "functionbar";
this.functionbar.Size = new System.Drawing.Size(474, 21);
this.functionbar.TabIndex = 2;
this.functionbar.TabStop = false;
//
// ScriptEditorControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.scriptpanel);
this.Controls.Add(this.functionbar);
this.Name = "ScriptEditorControl";
this.Size = new System.Drawing.Size(474, 408);
this.scriptpanel.ResumeLayout(false);
this.ResumeLayout(false);
}
}
#endregion
#endregion
private ScintillaControl scriptedit;
private System.Windows.Forms.ComboBox functionbar;
private System.Windows.Forms.Panel scriptpanel;
}
}
private ScintillaNET.Scintilla scriptedit;
private System.Windows.Forms.Panel scriptpanel;
private System.Windows.Forms.ComboBox functionbar;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -61,15 +61,15 @@ namespace CodeImp.DoomBuilder.Controls
if(config.Extensions.Length > 0) ext = "." + config.Extensions[0];
SetTitle("Untitled" + ext);
editor.ClearUndoRedo();
navigator.Enabled = (config.ScriptType != ScriptType.UNKNOWN); //mxd
}
#endregion
#region ================== Methods
// This compiles the script file
public override void Compile()
editor.FunctionBar.Enabled = (config.ScriptType != ScriptType.UNKNOWN); //mxd
}
#endregion
#region ================== Methods
// This compiles the script file
public override void Compile()
{
//mxd. ACS requires special handling...
if(config.ScriptType == ScriptType.ACS)
@ -287,11 +287,11 @@ namespace CodeImp.DoomBuilder.Controls
General.ShowErrorMessage("Unable to open file \"" + filepathname + "\" for writing. Make sure the path exists and that the file is not in use by another application.", MessageBoxButtons.OK);
return false;
}
// Done
editor.IsChanged = false;
UpdateTitle(); //mxd
return true;
// Done
editor.SetSavePoint(); //mxd
UpdateTitle(); //mxd
return true;
}
// This saves the document to a new file
@ -317,10 +317,11 @@ namespace CodeImp.DoomBuilder.Controls
{
try
{
// Read the file
editor.SetText(File.ReadAllBytes(filepathname));
}
catch(Exception e)
// Read the file
editor.Text = File.ReadAllText(filepathname); //mxd
}
catch (Exception e)
{
// Failed
General.ErrorLogger.Add(ErrorType.Error, "Cannot open file '" + filepathname + "' for reading. Make sure the path exists and that the file is not in use by another application.");
@ -332,7 +333,6 @@ namespace CodeImp.DoomBuilder.Controls
// Setup
this.filepathname = filepathname;
editor.ClearUndoRedo();
editor.IsChanged = false; //mxd. Not changed yet
SetTitle(Path.GetFileName(filepathname));
UpdateNavigator(); //mxd

View File

@ -17,9 +17,9 @@
#region ================== Namespaces
using System.Collections.Generic;
using CodeImp.DoomBuilder.Config;
using System.IO;
using CodeImp.DoomBuilder.Compilers;
using CodeImp.DoomBuilder.Config;
#endregion
@ -72,13 +72,12 @@ namespace CodeImp.DoomBuilder.Controls
MemoryStream stream = General.Map.GetLumpData(this.lumpname);
if(stream != null)
{
editor.SetText(stream.ToArray());
editor.ClearUndoRedo();
UpdateNavigator(); //mxd
editor.SetText(stream.ToArray()); //mxd
editor.ClearUndoRedo();
UpdateNavigator(); //mxd
}
// Set title
IsChanged = false; //mxd. Not changed yet
SetTitle(ismapheader ? General.Map.Options.CurrentName : this.lumpname.ToUpper());
}
@ -116,9 +115,9 @@ namespace CodeImp.DoomBuilder.Controls
// Store the lump data
MemoryStream stream = new MemoryStream(editor.GetText());
General.Map.SetLumpData(lumpname, stream);
editor.IsChanged = false;
UpdateTitle(); //mxd
return true;
editor.SetSavePoint(); //mxd
UpdateTitle(); //mxd
return true;
}
// This checks if a script error applies to this script

View File

@ -547,8 +547,8 @@ namespace CodeImp.DoomBuilder.Data
// This returns a preview image
public virtual Image GetPreview()
{
lock(this)
{
//lock(this)
//{
// Preview ready?
if(previewstate == ImageLoadState.Ready)
{
@ -565,7 +565,7 @@ namespace CodeImp.DoomBuilder.Data
// Return loading bitmap
return Properties.Resources.Hourglass;
}
//}
}
//mxd. This greatly speeds up Dictionary lookups

View File

@ -166,10 +166,10 @@ namespace CodeImp.DoomBuilder.GZBuilder.GZDoom
case "function":
{
SkipWhitespace(true);
int startpos = (int)stream.Position;
string funcname = ReadToken(); //read return type
SkipWhitespace(true);
funcname += " " + ReadToken(); //read function name
int startpos = (int)stream.Position;
funcname += " " + ReadToken(); //read function name
// Try to parse argument names
List<KeyValuePair<string, string>> args = ParseArgs();

View File

@ -156,10 +156,12 @@ namespace CodeImp.DoomBuilder.GZBuilder.Windows
private static string GetExceptionDescription(Exception ex)
{
//add to error logger
General.ErrorLogger.Add(ErrorType.Error, "**** " + ex.Source + ": " + ex.Message + " ****");
// Add to error logger
General.WriteLogLine("***********************************************************");
General.ErrorLogger.Add(ErrorType.Error, ex.Source + ": " + ex.Message);
General.WriteLogLine("***********************************************************");
string message = "********EXCEPTION DETAILS********"
string message = "********EXCEPTION DETAILS********"
+ Environment.NewLine + ex.Source + ": " + ex.Message + Environment.NewLine + ex.StackTrace;
if(File.Exists(General.LogFile))

View File

@ -30,16 +30,17 @@ namespace CodeImp.DoomBuilder
#region ================== Variables
private List<ErrorItem> errors;
private readonly List<ErrorItem> errors;
private volatile bool changed;
private volatile bool erroradded;
private volatile bool warningadded;
#endregion
private object threadlock = new object(); //mxd
#region ================== Properties
public bool HasErrors { get { return (errors.Count > 0); } }
#endregion
#region ================== Properties
public bool HasErrors { get { return (errors.Count > 0); } }
public int ErrorsCount { get { return errors.Count; } } //mxd
public bool HasChanged { get { return changed; } set { changed = value; } }
public bool IsErrorAdded { get { return erroradded; } set { erroradded = value; } }
@ -62,8 +63,8 @@ namespace CodeImp.DoomBuilder
// This clears the errors
public void Clear()
{
lock(this)
{
lock (threadlock)
{
changed = false;
erroradded = false;
warningadded = false;
@ -78,9 +79,9 @@ namespace CodeImp.DoomBuilder
public void Add(ErrorType type, string message)
{
string prefix = "";
lock(this)
{
lock (threadlock)
{
//mxd. Don't add duplicate messages
if(errors.Count == 0 || message != errors[errors.Count - 1].message || type != errors[errors.Count - 1].type)
{
@ -115,17 +116,28 @@ namespace CodeImp.DoomBuilder
}
}
}
// This returns the list of errors
internal List<ErrorItem> GetErrors()
// This returns the list of errors
/*internal List<ErrorItem> GetErrors()
{
lock(this)
{
List<ErrorItem> copylist = new List<ErrorItem>(errors);
return copylist;
}
}
#endregion
}
}*/
//mxd. This returns the list of errors starting at given index
internal IEnumerable<ErrorItem> GetErrors(int startindex)
{
if (startindex >= errors.Count) return new List<ErrorItem>();
ErrorItem[] result = new ErrorItem[errors.Count - startindex];
errors.CopyTo(startindex, result, 0, result.Length);
return result;
}
#endregion
}
}

View File

@ -1059,24 +1059,26 @@ namespace CodeImp.DoomBuilder.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
/// </summary>
internal static byte[] ScriptConstant {
internal static System.Drawing.Bitmap ScriptConstant
{
get {
object obj = ResourceManager.GetObject("ScriptConstant", resourceCulture);
return ((byte[])(obj));
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
/// </summary>
internal static byte[] ScriptError {
internal static System.Drawing.Bitmap ScriptError
{
get {
object obj = ResourceManager.GetObject("ScriptError", resourceCulture);
return ((byte[])(obj));
return ((System.Drawing.Bitmap)(obj));
}
}
@ -1089,14 +1091,15 @@ namespace CodeImp.DoomBuilder.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
/// </summary>
internal static byte[] ScriptKeyword {
internal static System.Drawing.Bitmap ScriptKeyword
{
get {
object obj = ResourceManager.GetObject("ScriptKeyword", resourceCulture);
return ((byte[])(obj));
return ((System.Drawing.Bitmap)(obj));
}
}
@ -1109,14 +1112,15 @@ namespace CodeImp.DoomBuilder.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
/// </summary>
internal static byte[] ScriptSnippet {
internal static System.Drawing.Bitmap ScriptSnippet
{
get {
object obj = ResourceManager.GetObject("ScriptSnippet", resourceCulture);
return ((byte[])(obj));
return ((System.Drawing.Bitmap)(obj));
}
}
@ -1329,7 +1333,35 @@ namespace CodeImp.DoomBuilder.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap TextIndent
{
get
{
object obj = ResourceManager.GetObject("TextIndent", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap TextUnindent
{
get
{
object obj = ResourceManager.GetObject("TextUnindent", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap TextWhitespace
{
get
{
object obj = ResourceManager.GetObject("TextWhitespace", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>

View File

@ -154,6 +154,9 @@
<data name="SaveAll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SaveAll.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Update" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Update.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Monster2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Monster2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -175,15 +178,27 @@
<data name="MixedThings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MixedThings.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TextUnindent" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextUnindent.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Marine" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Marine.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InfoPanelCollapse" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InfoPanelCollapse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mergegeometry" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\mergegeometry.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Splash3_small" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Splash3_small.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Group" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Group.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TagStatistics" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TagStatistics.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="VisualVertices" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\VisualVertices.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -196,6 +211,9 @@
<data name="ScriptHelp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptHelp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Light_animate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Light_animate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CommentSmile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CommentSmile.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -217,17 +235,14 @@
<data name="Redo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Redo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Status0" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Status0.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Brightness" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Brightness.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Model" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Model.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mergegeometry" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\mergegeometry.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ScriptSnippet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptSnippet.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="Configuration" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Configuration.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CommentProblem" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CommentProblem.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -238,8 +253,8 @@
<data name="MLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UnknownImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\UnknownImage.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Reload" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Reload.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Paste" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Paste.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -248,8 +263,8 @@
<value>..\Resources\LightDisabled.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ScriptConstant" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptConstant.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<value>..\Resources\ScriptConstant.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="FolderExplore" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FolderExplore.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -265,12 +280,18 @@
<data name="CLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Copy.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="WarningOff" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WarningOff.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="List" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\List.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TextWhitespace" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextWhitespace.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LinedefColorPresets" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LinedefColorPresets.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -286,8 +307,8 @@
<data name="Cursor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Cursor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Grid2_arrowup" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Grid2_arrowup.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Preferences" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Preferences.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Reset" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Reset.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -313,6 +334,12 @@
<data name="NewMap" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\NewMap2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="About" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\About.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridDecrease" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridDecrease.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SearchClear" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SearchClear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -331,6 +358,9 @@
<data name="InfoLine" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InfoLine.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Status10" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Status10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MissingTexture" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MissingTexture.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -338,7 +368,7 @@
<value>..\Resources\ErrorLarge.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ScriptError" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptError.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>..\Resources\ScriptError.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Lightbulb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Lightbulb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -370,6 +400,9 @@
<data name="Model_selected" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Model_selected.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridDynamic" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridDynamic.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Collapse" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Collapse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -382,11 +415,11 @@
<data name="Unlink" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Unlink.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Status10" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Status10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="TextIndent" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextIndent.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Status0" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Status0.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Script2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Script2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -406,6 +439,9 @@
<data name="Hourglass" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Hourglass.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridIncrease" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridIncrease.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -424,17 +460,20 @@
<data name="Status2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Status2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Link" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Link.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Brightness" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Brightness.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="InfoPanelExpand" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InfoPanelExpand.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TagStatistics" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TagStatistics.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ScriptSnippet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptSnippet.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Test" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Test.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -442,8 +481,8 @@
<data name="Undo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Undo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InfoPanelExpand" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InfoPanelExpand.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="UnknownImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\UnknownImage.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Unpin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Unpin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -454,8 +493,14 @@
<data name="ViewTextureFloor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ViewTextureFloor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Light_animate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Light_animate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Grid2_arrowup" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Grid2_arrowup.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GroupRemove" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GroupRemove.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Sky" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Sky.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Pin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Pin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -464,7 +509,7 @@
<value>..\Resources\ViewNormal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ScriptKeyword" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ScriptKeyword.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>..\Resources\ScriptKeyword.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MissingThing" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MissingThing.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -472,11 +517,14 @@
<data name="Monster3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Monster3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SkySphere" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SkySphere.md3;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="DockerCollapse" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DockerCollapse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Copy.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="GroupAdd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GroupAdd.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ViewBrightness" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ViewBrightness.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -511,45 +559,6 @@
<data name="Check" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridDynamic" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridDynamic.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="About" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\About.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Configuration" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Configuration.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Preferences" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Preferences.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Reload" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Reload.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Update" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Update.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Group" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Group.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GroupAdd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GroupAdd.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GroupRemove" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GroupRemove.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridDecrease" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridDecrease.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GridIncrease" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GridIncrease.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Sky" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Sky.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SkySphere" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SkySphere.md3;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="zonebuilder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zonebuilder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>

View File

@ -20,7 +20,6 @@ using System;
using System.Globalization;
using System.Drawing;
using SlimDX;
using Configuration = CodeImp.DoomBuilder.IO.Configuration;
#endregion
@ -38,7 +37,7 @@ namespace CodeImp.DoomBuilder.Rendering
private const float DARK_ADDITION = -0.2f;
// Palette size
private const int NUM_COLORS = 49;
private const int NUM_COLORS = 57;
public const int NUM_THING_COLORS = 20;
public const int THING_COLORS_OFFSET = 20;
@ -92,14 +91,22 @@ namespace CodeImp.DoomBuilder.Rendering
public const int NIGHTSCOLORMARE6 = 46;
public const int NIGHTSCOLORMARE7 = 47;
public const int NIGHTSCOLORMARE8 = 48;
public const int SCRIPTINDICATOR = 49; //mxd. Additional Script Editor colors
public const int SCRIPTBRACEHIGHLIGHT = 50;
public const int SCRIPTBADBRACEHIGHLIGHT = 51;
public const int SCRIPTWHITESPACE = 52;
public const int SCRIPTSELECTIONFORE = 53;
public const int SCRIPTSELECTIONBACK = 54;
public const int STRINGS = 55;
public const int INCLUDES = 56;
#endregion
#region ================== Variables
// Colors
private PixelColor[] colors;
private PixelColor[] brightcolors;
private PixelColor[] darkcolors;
private readonly PixelColor[] colors;
private readonly PixelColor[] brightcolors;
private readonly PixelColor[] darkcolors;
// Color-correction table
private byte[] correctiontable;
@ -131,7 +138,13 @@ namespace CodeImp.DoomBuilder.Rendering
public PixelColor Selection3D { get { return colors[SELECTION3D]; } internal set { colors[SELECTION3D] = value; } }
public PixelColor ScriptBackground { get { return colors[SCRIPTBACKGROUND]; } internal set { colors[SCRIPTBACKGROUND] = value; } }
public PixelColor LineNumbers { get { return colors[LINENUMBERS]; } internal set { colors[LINENUMBERS] = value; } }
public PixelColor ScriptIndicator { get { return colors[SCRIPTINDICATOR]; } internal set { colors[SCRIPTINDICATOR] = value; } }
public PixelColor ScriptBraceHighlight { get { return colors[SCRIPTBRACEHIGHLIGHT]; } internal set { colors[SCRIPTBRACEHIGHLIGHT] = value; } }
public PixelColor ScriptBadBraceHighlight { get { return colors[SCRIPTBADBRACEHIGHLIGHT]; } internal set { colors[SCRIPTBADBRACEHIGHLIGHT] = value; } }
public PixelColor ScriptWhitespace { get { return colors[SCRIPTWHITESPACE]; } internal set { colors[SCRIPTWHITESPACE] = value; } }
public PixelColor ScriptSelectionForeColor { get { return colors[SCRIPTSELECTIONFORE]; } internal set { colors[SCRIPTSELECTIONFORE] = value; } }
public PixelColor ScriptSelectionBackColor { get { return colors[SCRIPTSELECTIONBACK]; } internal set { colors[SCRIPTSELECTIONBACK] = value; } }
public PixelColor LineNumbers { get { return colors[LINENUMBERS]; } internal set { colors[LINENUMBERS] = value; } }
public PixelColor PlainText { get { return colors[PLAINTEXT]; } internal set { colors[PLAINTEXT] = value; } }
public PixelColor Comments { get { return colors[COMMENTS]; } internal set { colors[COMMENTS] = value; } }
public PixelColor Keywords { get { return colors[KEYWORDS]; } internal set { colors[KEYWORDS] = value; } }
@ -153,9 +166,9 @@ namespace CodeImp.DoomBuilder.Rendering
// Read all colors from config
for(int i = 0; i < NUM_COLORS; i++)
{
// Read color
colors[i] = PixelColor.FromInt(cfg.ReadSetting("colors.color" + i.ToString(CultureInfo.InvariantCulture), -16711872)); //mxd. changed default color from transparent to light-green
}
// Read color
colors[i] = PixelColor.FromInt(cfg.ReadSetting("colors.color" + i.ToString(CultureInfo.InvariantCulture), 0));
}
// Set new colors
if(colors[THINGCOLOR00].ToInt() == 0) colors[THINGCOLOR00] = PixelColor.FromColor(Color.DimGray);

View File

@ -109,24 +109,37 @@ namespace CodeImp.DoomBuilder.Rendering
}
catch(Exception)
{
// Compiling failed, try with debug information
try
{
string debugerrors = string.Empty; //mxd
// Compiling failed, try with debug information
try
{
//mxd. Rewind before use!
fxdata.Seek(0, SeekOrigin.Begin);
// Compile effect
fx = Effect.FromStream(General.Map.Graphics.Device, fxdata, null, null, null, ShaderFlags.Debug, null, out errors);
if(!string.IsNullOrEmpty(errors))
{
throw new Exception("Errors in effect file " + fxfile + ": " + errors);
}
fx = Effect.FromStream(General.Map.Graphics.Device, fxdata, null, null, null, ShaderFlags.Debug, null, out debugerrors);
if (!string.IsNullOrEmpty(debugerrors))
{
throw new Exception("Errors in effect file " + fxfile + ": " + debugerrors);
}
}
catch(Exception e)
{
// No debug information, just crash
throw new Exception(e.GetType().Name + " while loading effect " + fxfile + ": " + e.Message + "\nInitial message: " + errors);
}
{
//mxd. Try to get something. Anything!
string message;
if (!string.IsNullOrEmpty(debugerrors))
message = e.Message + "\nInitial message (debug mode): \"" + debugerrors + "\"";
else if (!string.IsNullOrEmpty(errors))
message = e.Message + "\nInitial message: \"" + errors + "\"";
else
message = e.ToString();
if (string.IsNullOrEmpty(message)) message = "No initial message...";
// No debug information, just crash
throw new Exception(e.GetType().Name + " while loading effect " + fxfile + ": " + message);
}
}
fxdata.Dispose();

View File

@ -33,6 +33,8 @@ lexer3 // CPP-style, case-sensitive
7 = 4; // literal
16 = 2; // constants
37 = 5; // ident guides
6 = 6; // strings
9 = 7; // includes
keywordsindex = 0;
constantsindex = 1;
@ -87,10 +89,10 @@ lexer35 // CPP-style, case-insensitive
7 = 4; // literal
16 = 2; // constants
37 = 5; // ident guides
6 = 6; // strings
9 = 7; // includes
keywordsindex = 0;
constantsindex = 1;
snippetindex = 2;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -42,24 +42,24 @@ namespace CodeImp.DoomBuilder.Windows
FillList();
checkerrors.Start();
checkshow.Checked = General.Settings.ShowErrorsWindow;
//mxd
grid.Focus();
}
grid.Focus(); //mxd
}
#endregion
#endregion
#region ================== Methods
#region ================== Methods
// This sets up the list
private void FillList()
// This sets up the list
private void FillList()
{
// Fill the list with the items we don't have yet
General.ErrorLogger.HasChanged = false;
List<ErrorItem> errors = General.ErrorLogger.GetErrors();
int startindex = grid.Rows.Count;
for(int i = startindex; i < errors.Count; i++)
{
ErrorItem e = errors[i];
//mxd. Rewritten to get only the new items from the ErrorLogger
int startindex = grid.Rows.Count;
IEnumerable<ErrorItem> errors = General.ErrorLogger.GetErrors(startindex);
foreach (ErrorItem e in errors)
{
Image icon = (e.type == ErrorType.Error) ? Properties.Resources.ErrorLarge : Properties.Resources.WarningLarge;
int index = grid.Rows.Add();
DataGridViewRow row = grid.Rows[index];
@ -145,7 +145,6 @@ namespace CodeImp.DoomBuilder.Windows
private void ErrorsForm_Shown(object sender, EventArgs e)
{
if(grid.Rows.Count > 0) grid.Rows[0].Selected = false;
}
private void grid_CellContentClick(object sender, DataGridViewCellEventArgs e)