Updated Scintilla control to ScintillaNET 3.5.6 (https://github.com/jacobslusser/ScintillaNET). Scintilla.dll is no longer used by GZDB and can be safely removed.
Changed, Script Editor: pressing Ctrl-S when fixed compilable script tab (like SCRIPTS tab) is selected now compiles the script. Fixed, Error Logger: fixed slowdowns when adding lots of errors and "Errors and Warnings" window was opened. Fixed, Script Editor: text caret was incorrectly positioned after selecting a function in the navigator dropdown. Fixed, Script Editor: incorrect ACS configuration was used for SCRIPTS lump for maps in Hexen map format for ZDoom-based engines. Internal, rendering: added more error reporing-related code to D3DShader.LoadEffect(). Updated ZDoom_DECORATE.cfg.
|
@ -171,52 +171,6 @@ shortcuts
|
|||
}
|
||||
|
||||
|
||||
colors
|
||||
{
|
||||
color0 = -16777216;
|
||||
color1 = -11425537;
|
||||
color2 = -1;
|
||||
color3 = -4259937;
|
||||
color4 = -3750145;
|
||||
color5 = -21504;
|
||||
color6 = -49152;
|
||||
color7 = -128;
|
||||
color8 = -12171706;
|
||||
color9 = -13018769;
|
||||
color10 = -16711681;
|
||||
color11 = -24576;
|
||||
color12 = -49152;
|
||||
color13 = -1;
|
||||
color14 = -4144960;
|
||||
color15 = -16777216;
|
||||
color16 = -6908266;
|
||||
color17 = -16753716;
|
||||
color18 = -11366857;
|
||||
color19 = -6671822;
|
||||
color20 = -9868951;
|
||||
color21 = -12490271;
|
||||
color22 = -14513374;
|
||||
color23 = -14634326;
|
||||
color24 = -5103070;
|
||||
color25 = -7077677;
|
||||
color26 = -4684277;
|
||||
color27 = -4144960;
|
||||
color28 = -8355712;
|
||||
color29 = -16728065;
|
||||
color30 = -13447886;
|
||||
color31 = -5247250;
|
||||
color32 = -40121;
|
||||
color33 = -1146130;
|
||||
color34 = -256;
|
||||
color35 = -657931;
|
||||
color36 = -18751;
|
||||
color37 = -29696;
|
||||
color38 = -4343957;
|
||||
color39 = -2448096;
|
||||
color40 = -65536;
|
||||
}
|
||||
|
||||
|
||||
mainwindow
|
||||
{
|
||||
positionx = 150;
|
||||
|
|
BIN
Build/ScintillaNET.3.5.dll
Normal 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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
3
Build/Snippets/acs/switch.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
switch ([EP])[LB]{
|
||||
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -122,19 +122,9 @@
|
|||
<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 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>
|
||||
|
@ -534,6 +524,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>
|
||||
|
@ -698,7 +691,9 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<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" />
|
||||
|
@ -766,6 +761,12 @@
|
|||
<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>
|
||||
</Compile>
|
||||
|
@ -1128,6 +1129,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" />
|
||||
|
@ -1201,9 +1209,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" />
|
||||
|
@ -1219,10 +1224,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" />
|
||||
|
|
|
@ -66,6 +66,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private bool scriptfontbold;
|
||||
private bool scriptontop;
|
||||
private bool scriptautoindent;
|
||||
private bool scriptusetabs; //mxd
|
||||
private bool snippetsallmanstyle; //mxd
|
||||
private string screenshotspath; //mxd
|
||||
private int scripttabwidth;
|
||||
|
@ -162,6 +163,7 @@ 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 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
|
||||
|
@ -268,13 +270,14 @@ 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");
|
||||
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);
|
||||
scriptusetabs = cfg.ReadSetting("scriptusetabs", true); //mxd
|
||||
scripttabwidth = cfg.ReadSetting("scripttabwidth", 4);
|
||||
previewimagesize = cfg.ReadSetting("previewimagesize", 1);
|
||||
autoscrollspeed = cfg.ReadSetting("autoscrollspeed", 0);
|
||||
|
@ -368,6 +371,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("scriptfontsize", scriptfontsize);
|
||||
cfg.WriteSetting("scriptfontbold", scriptfontbold);
|
||||
cfg.WriteSetting("scriptontop", scriptontop);
|
||||
cfg.WriteSetting("scriptusetabs", scriptusetabs); //mxd
|
||||
cfg.WriteSetting("scripttabwidth", scripttabwidth);
|
||||
cfg.WriteSetting("scriptautoindent", scriptautoindent);
|
||||
cfg.WriteSetting("snippetsallmanstyle", snippetsallmanstyle); //mxd
|
||||
|
|
|
@ -21,6 +21,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using ScintillaNET;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -54,21 +55,27 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private readonly string[] extensions;
|
||||
private readonly bool casesensitive;
|
||||
private readonly int insertcase;
|
||||
private readonly int lexer;
|
||||
private readonly Lexer lexer;
|
||||
private readonly string keywordhelp;
|
||||
private readonly string functionopen;
|
||||
private readonly string functionclose;
|
||||
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> keywordkeyssorted; //mxd
|
||||
private readonly List<string> constants;
|
||||
private readonly Dictionary<string, string> lowerconstants;
|
||||
private readonly Dictionary<string, string[]> snippets; //mxd
|
||||
private readonly HashSet<string> snippetkeyssorted; //mxd
|
||||
private readonly HashSet<char> braces; //mxd
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -85,19 +92,23 @@ 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 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 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> 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
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -112,9 +123,13 @@ 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.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;
|
||||
lexer = Lexer.Null;
|
||||
casesensitive = false;
|
||||
codepage = 65001;
|
||||
parameters = "";
|
||||
|
@ -123,13 +138,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
keywordhelp = "";
|
||||
functionopen = "";
|
||||
functionclose = "";
|
||||
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,7 +157,10 @@ 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
|
||||
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");
|
||||
|
@ -151,14 +171,25 @@ namespace CodeImp.DoomBuilder.Config
|
|||
resultlump = cfg.ReadSetting("resultlump", "");
|
||||
casesensitive = cfg.ReadSetting("casesensitive", true);
|
||||
insertcase = cfg.ReadSetting("insertcase", 0);
|
||||
lexer = cfg.ReadSetting("lexer", 0);
|
||||
lexer = (Lexer)cfg.ReadSetting("lexer", (int)Lexer.Container);
|
||||
keywordhelp = cfg.ReadSetting("keywordhelp", "");
|
||||
functionopen = cfg.ReadSetting("functionopen", "");
|
||||
functionclose = cfg.ReadSetting("functionclose", "");
|
||||
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
|
||||
|
||||
//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(',');
|
||||
|
@ -170,7 +201,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
keywords.Add(de.Key.ToString(), de.Value.ToString());
|
||||
lowerkeywords.Add(de.Key.ToString().ToLowerInvariant(), de.Key.ToString());
|
||||
keywordkeyssorted.Add(de.Key.ToString()); //mxd
|
||||
}
|
||||
|
||||
//mxd. Sort keywords lookup
|
||||
keywordkeyssorted.Sort();
|
||||
|
||||
// Load constants
|
||||
dic = cfg.ReadSetting("constants", new Hashtable());
|
||||
|
@ -179,6 +214,48 @@ namespace CodeImp.DoomBuilder.Config
|
|||
constants.Add(de.Key.ToString());
|
||||
lowerconstants.Add(de.Key.ToString().ToLowerInvariant(), de.Key.ToString());
|
||||
}
|
||||
|
||||
//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))
|
||||
{
|
||||
string[] files = Directory.GetFiles(snippetspath, "*.txt", SearchOption.TopDirectoryOnly);
|
||||
List<string> sortedkeys = new List<string>();
|
||||
|
||||
foreach(string file in files)
|
||||
{
|
||||
string name = Path.GetFileNameWithoutExtension(file);
|
||||
if(string.IsNullOrEmpty(name))
|
||||
{
|
||||
General.ErrorLogger.Add(ErrorType.Warning, "Failed to load snippet '" + file + "' for '" + description + "' script configuration.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if(name.Contains(" ")) name = name.Replace(' ', '_');
|
||||
string[] lines = File.ReadAllLines(file);
|
||||
if(lines.Length > 0)
|
||||
{
|
||||
snippets.Add(name, lines);
|
||||
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)
|
||||
|
@ -198,38 +275,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
// 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))
|
||||
{
|
||||
string snippetspath = Path.Combine(General.SnippetsPath, snippetsdir);
|
||||
if(Directory.Exists(snippetspath))
|
||||
{
|
||||
string[] files = Directory.GetFiles(snippetspath, "*.txt", SearchOption.TopDirectoryOnly);
|
||||
|
||||
foreach(string file in files)
|
||||
{
|
||||
string name = Path.GetFileNameWithoutExtension(file);
|
||||
if(name.Contains(" "))
|
||||
{
|
||||
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)
|
||||
{
|
||||
snippets.Add(name, lines);
|
||||
}
|
||||
else
|
||||
{
|
||||
General.ErrorLogger.Add(ErrorType.Warning, "Failed to load snippet '" + file + "' for '" + description + "' script configuration: file is empty!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -279,6 +324,12 @@ namespace CodeImp.DoomBuilder.Config
|
|||
return null;
|
||||
}
|
||||
|
||||
//mxd
|
||||
public string[] GetSnippet(string name)
|
||||
{
|
||||
return (snippetkeyssorted.Contains(name) ? snippets[name] : null);
|
||||
}
|
||||
|
||||
// This sorts by description
|
||||
public int CompareTo(ScriptConfiguration other)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -36,8 +36,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
{
|
||||
#region ================== Constants
|
||||
|
||||
private const int NAVIGATOR_BORDER_TOP = 8; //mxd
|
||||
private const int EDITOR_BORDER_TOP = 33;
|
||||
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,10 +66,14 @@ 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
|
||||
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 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
|
||||
|
@ -89,19 +91,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();
|
||||
|
@ -121,6 +110,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
editor.OnFindNext += panel.FindNext;
|
||||
editor.OnFindPrevious += panel.FindPrevious; //mxd
|
||||
editor.OnTextChanged += editor_TextChanged; //mxd
|
||||
|
||||
//mxd. Bind functionbar events
|
||||
editor.FunctionBar.DropDown += functionbar_DropDown;
|
||||
editor.FunctionBar.SelectedIndexChanged += functionbar_SelectedIndexChanged;
|
||||
|
||||
}
|
||||
|
||||
// Disposer
|
||||
|
@ -263,112 +257,13 @@ 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)
|
||||
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
|
||||
|
@ -376,20 +271,13 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
{
|
||||
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()
|
||||
{
|
||||
// Store currently selected item name
|
||||
string prevtext = editor.FunctionBar.Text;
|
||||
|
||||
switch(config.ScriptType)
|
||||
{
|
||||
case ScriptType.ACS:
|
||||
|
@ -405,16 +293,33 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
break;
|
||||
|
||||
default: // Unsupported script type. Just clear the items
|
||||
navigator.Items.Clear();
|
||||
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)
|
||||
editor.FunctionBar.Enabled = (editor.FunctionBar.Items.Count > 0);
|
||||
if(editor.FunctionBar.Items.Count > 0)
|
||||
{
|
||||
preventchanges = true;
|
||||
navigator.Text = navigator.Items[0].ToString();
|
||||
|
||||
// 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,12 +328,12 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private void UpdateNavigatorDecorate(MemoryStream stream)
|
||||
{
|
||||
if(stream == null) return;
|
||||
navigator.Items.Clear();
|
||||
editor.FunctionBar.Items.Clear();
|
||||
|
||||
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,12 +346,12 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private void UpdateNavigatorModeldef(MemoryStream stream)
|
||||
{
|
||||
if(stream == null) return;
|
||||
navigator.Items.Clear();
|
||||
editor.FunctionBar.Items.Clear();
|
||||
|
||||
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,14 +364,14 @@ 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 };
|
||||
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)
|
||||
|
@ -494,9 +399,16 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
}
|
||||
|
||||
//mxd
|
||||
internal void InsertSnippet(string[] lines)
|
||||
internal void InsertSnippet(string name)
|
||||
{
|
||||
editor.InsertSnippet(lines);
|
||||
string[] lines = config.GetSnippet(name);
|
||||
if(lines != null) editor.InsertSnippet(lines);
|
||||
}
|
||||
|
||||
//mxd
|
||||
internal void IndentSelection(bool indent)
|
||||
{
|
||||
editor.IndentSelection(indent);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -524,11 +436,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
}
|
||||
|
||||
//mxd
|
||||
private void navigator_SelectedIndexChanged(object sender, EventArgs e)
|
||||
private void functionbar_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(!preventchanges && navigator.SelectedItem is ScriptItem)
|
||||
if(!preventchanges && editor.FunctionBar.SelectedItem is ScriptItem)
|
||||
{
|
||||
ScriptItem si = navigator.SelectedItem as ScriptItem;
|
||||
ScriptItem si = editor.FunctionBar.SelectedItem as ScriptItem;
|
||||
editor.EnsureLineVisible(editor.LineFromPosition(si.CursorPosition));
|
||||
editor.SelectionStart = si.CursorPosition;
|
||||
editor.SelectionEnd = si.CursorPosition;
|
||||
|
@ -540,7 +452,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
}
|
||||
|
||||
//mxd
|
||||
private void navigator_DropDown(object sender, EventArgs e)
|
||||
private void functionbar_DropDown(object sender, EventArgs e)
|
||||
{
|
||||
if(!preventchanges && editor.IsChanged) UpdateNavigator();
|
||||
}
|
||||
|
|
127
Source/Core/Controls/ScriptEditorControl.Designer.cs
generated
|
@ -28,109 +28,37 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.functionbar = new System.Windows.Forms.ComboBox();
|
||||
this.scriptedit = new CodeImp.DoomBuilder.Controls.ScintillaControl();
|
||||
this.scriptedit = new ScintillaNET.Scintilla();
|
||||
this.scriptpanel = new System.Windows.Forms.Panel();
|
||||
this.functionbar = new System.Windows.Forms.ComboBox();
|
||||
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.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.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.ExtraAscent = 1;
|
||||
this.scriptedit.ExtraDescent = 1;
|
||||
this.scriptedit.FontQuality = ScintillaNET.FontQuality.LcdOptimized;
|
||||
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.ScrollWidth = 200;
|
||||
this.scriptedit.Size = new System.Drawing.Size(474, 381);
|
||||
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.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
|
||||
|
@ -138,13 +66,24 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
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;
|
||||
//
|
||||
// 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);
|
||||
|
@ -160,8 +99,8 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
|
||||
#endregion
|
||||
|
||||
private ScintillaControl scriptedit;
|
||||
private System.Windows.Forms.ComboBox functionbar;
|
||||
private ScintillaNET.Scintilla scriptedit;
|
||||
private System.Windows.Forms.Panel scriptpanel;
|
||||
private System.Windows.Forms.ComboBox functionbar;
|
||||
}
|
||||
}
|
||||
|
|
92
Source/Core/Controls/ScriptEditorPanel.Designer.cs
generated
|
@ -44,6 +44,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.buttoncopy = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonpaste = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.buttonunindent = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonindent = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonwhitespace = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonwordwrap = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.buttonsnippets = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.buttonscriptconfig = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
|
@ -68,6 +73,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.errorimages = new System.Windows.Forms.ImageList(this.components);
|
||||
this.statusbar = new System.Windows.Forms.StatusStrip();
|
||||
this.statuslabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.positionlabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.scripttype = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.statusflasher = new System.Windows.Forms.Timer(this.components);
|
||||
this.statusresetter = new System.Windows.Forms.Timer(this.components);
|
||||
|
@ -88,7 +94,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.tabs.Name = "tabs";
|
||||
this.tabs.Padding = new System.Drawing.Point(12, 3);
|
||||
this.tabs.SelectedIndex = 0;
|
||||
this.tabs.Size = new System.Drawing.Size(720, 379);
|
||||
this.tabs.Size = new System.Drawing.Size(794, 379);
|
||||
this.tabs.TabIndex = 0;
|
||||
this.tabs.TabStop = false;
|
||||
this.tabs.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabs_Selecting);
|
||||
|
@ -111,6 +117,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.buttoncopy,
|
||||
this.buttonpaste,
|
||||
this.toolStripSeparator3,
|
||||
this.buttonunindent,
|
||||
this.buttonindent,
|
||||
this.buttonwhitespace,
|
||||
this.buttonwordwrap,
|
||||
this.toolStripSeparator6,
|
||||
this.buttonsnippets,
|
||||
this.toolStripSeparator4,
|
||||
this.buttonscriptconfig,
|
||||
|
@ -126,7 +137,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.searchwholeword});
|
||||
this.toolbar.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolbar.Name = "toolbar";
|
||||
this.toolbar.Size = new System.Drawing.Size(726, 25);
|
||||
this.toolbar.Size = new System.Drawing.Size(800, 25);
|
||||
this.toolbar.TabIndex = 1;
|
||||
//
|
||||
// buttonnew
|
||||
|
@ -240,6 +251,54 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// buttonunindent
|
||||
//
|
||||
this.buttonunindent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonunindent.Image = global::CodeImp.DoomBuilder.Properties.Resources.TextUnindent;
|
||||
this.buttonunindent.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonunindent.Name = "buttonunindent";
|
||||
this.buttonunindent.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonunindent.Text = "Unindent selection";
|
||||
this.buttonunindent.Click += new System.EventHandler(this.buttonunindent_Click);
|
||||
//
|
||||
// buttonindent
|
||||
//
|
||||
this.buttonindent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonindent.Image = global::CodeImp.DoomBuilder.Properties.Resources.TextIndent;
|
||||
this.buttonindent.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonindent.Name = "buttonindent";
|
||||
this.buttonindent.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonindent.Text = "Indent selection";
|
||||
this.buttonindent.Click += new System.EventHandler(this.buttonindent_Click);
|
||||
//
|
||||
// buttonwhitespace
|
||||
//
|
||||
this.buttonwhitespace.CheckOnClick = true;
|
||||
this.buttonwhitespace.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonwhitespace.Image = global::CodeImp.DoomBuilder.Properties.Resources.TextWhitespace;
|
||||
this.buttonwhitespace.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonwhitespace.Name = "buttonwhitespace";
|
||||
this.buttonwhitespace.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonwhitespace.Text = "Show whitespace";
|
||||
this.buttonwhitespace.Click += new System.EventHandler(this.buttonwhitespace_Click);
|
||||
//
|
||||
// buttonwordwrap
|
||||
//
|
||||
this.buttonwordwrap.CheckOnClick = true;
|
||||
this.buttonwordwrap.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonwordwrap.Image = global::CodeImp.DoomBuilder.Properties.Resources.WordWrap;
|
||||
this.buttonwordwrap.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonwordwrap.Name = "buttonwordwrap";
|
||||
this.buttonwordwrap.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonwordwrap.Text = "Wrap long lines";
|
||||
this.buttonwordwrap.Click += new System.EventHandler(this.buttonwordwrap_Click);
|
||||
//
|
||||
// toolStripSeparator6
|
||||
//
|
||||
this.toolStripSeparator6.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// buttonsnippets
|
||||
//
|
||||
this.buttonsnippets.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
|
@ -391,7 +450,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
//
|
||||
this.splitter.Panel2.Controls.Add(this.label1);
|
||||
this.splitter.Panel2.Controls.Add(this.errorlist);
|
||||
this.splitter.Size = new System.Drawing.Size(726, 516);
|
||||
this.splitter.Size = new System.Drawing.Size(800, 516);
|
||||
this.splitter.SplitterDistance = 390;
|
||||
this.splitter.TabIndex = 2;
|
||||
this.splitter.TabStop = false;
|
||||
|
@ -406,7 +465,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.label1.Location = new System.Drawing.Point(3, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(1);
|
||||
this.label1.Size = new System.Drawing.Size(720, 16);
|
||||
this.label1.Size = new System.Drawing.Size(794, 16);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Errors";
|
||||
//
|
||||
|
@ -427,7 +486,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.errorlist.MultiSelect = false;
|
||||
this.errorlist.Name = "errorlist";
|
||||
this.errorlist.ShowGroups = false;
|
||||
this.errorlist.Size = new System.Drawing.Size(720, 100);
|
||||
this.errorlist.Size = new System.Drawing.Size(794, 100);
|
||||
this.errorlist.SmallImageList = this.errorimages;
|
||||
this.errorlist.TabIndex = 0;
|
||||
this.errorlist.TabStop = false;
|
||||
|
@ -460,10 +519,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
//
|
||||
this.statusbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.statuslabel,
|
||||
this.positionlabel,
|
||||
this.scripttype});
|
||||
this.statusbar.Location = new System.Drawing.Point(0, 541);
|
||||
this.statusbar.Name = "statusbar";
|
||||
this.statusbar.Size = new System.Drawing.Size(726, 22);
|
||||
this.statusbar.Size = new System.Drawing.Size(800, 22);
|
||||
this.statusbar.TabIndex = 3;
|
||||
this.statusbar.Text = "statusStrip1";
|
||||
//
|
||||
|
@ -476,11 +536,19 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.statuslabel.Size = new System.Drawing.Size(60, 17);
|
||||
this.statuslabel.Text = "Ready.";
|
||||
//
|
||||
// positionlabel
|
||||
//
|
||||
this.positionlabel.Name = "positionlabel";
|
||||
this.positionlabel.Size = new System.Drawing.Size(634, 17);
|
||||
this.positionlabel.Spring = true;
|
||||
this.positionlabel.Text = "100 : 12 (120)";
|
||||
this.positionlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// scripttype
|
||||
//
|
||||
this.scripttype.Margin = new System.Windows.Forms.Padding(30, 3, 0, 2);
|
||||
this.scripttype.Name = "scripttype";
|
||||
this.scripttype.Size = new System.Drawing.Size(648, 17);
|
||||
this.scripttype.Spring = true;
|
||||
this.scripttype.Size = new System.Drawing.Size(58, 17);
|
||||
this.scripttype.Text = "Plain Text";
|
||||
this.scripttype.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
|
@ -501,7 +569,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
this.Controls.Add(this.statusbar);
|
||||
this.Controls.Add(this.toolbar);
|
||||
this.Name = "ScriptEditorPanel";
|
||||
this.Size = new System.Drawing.Size(726, 563);
|
||||
this.Size = new System.Drawing.Size(800, 563);
|
||||
this.toolbar.ResumeLayout(false);
|
||||
this.toolbar.PerformLayout();
|
||||
this.splitter.Panel1.ResumeLayout(false);
|
||||
|
@ -557,5 +625,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private System.Windows.Forms.ToolStripStatusLabel scripttype;
|
||||
private System.Windows.Forms.Timer statusflasher;
|
||||
private System.Windows.Forms.Timer statusresetter;
|
||||
private System.Windows.Forms.ToolStripStatusLabel positionlabel;
|
||||
private System.Windows.Forms.ToolStripButton buttonunindent;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
||||
private System.Windows.Forms.ToolStripButton buttonindent;
|
||||
private System.Windows.Forms.ToolStripButton buttonwhitespace;
|
||||
private System.Windows.Forms.ToolStripButton buttonwordwrap;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ using System.Windows.Forms;
|
|||
using CodeImp.DoomBuilder.Compilers;
|
||||
using CodeImp.DoomBuilder.Config;
|
||||
using CodeImp.DoomBuilder.Windows;
|
||||
using ScintillaNET;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -116,16 +117,20 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
foreach(MapLumpInfo maplumpinfo in General.Map.Config.MapLumps.Values)
|
||||
{
|
||||
// Is this a script lump?
|
||||
if(maplumpinfo.Script != null)
|
||||
{
|
||||
// Load this!
|
||||
ScriptLumpDocumentTab t = new ScriptLumpDocumentTab(this, maplumpinfo.Name, maplumpinfo.Script);
|
||||
tabs.TabPages.Add(t);
|
||||
}
|
||||
else if(maplumpinfo.ScriptBuild) //mxd
|
||||
if(maplumpinfo.ScriptBuild) //mxd
|
||||
{
|
||||
// Load this!
|
||||
ScriptLumpDocumentTab t = new ScriptLumpDocumentTab(this, maplumpinfo.Name, General.CompiledScriptConfigs[General.Map.Options.ScriptCompiler]);
|
||||
t.OnTextChanged += tabpage_OnLumpTextChanged; //mxd
|
||||
t.Scintilla.UpdateUI += scintilla_OnUpdateUI; //mxd
|
||||
tabs.TabPages.Add(t);
|
||||
}
|
||||
else if(maplumpinfo.Script != null)
|
||||
{
|
||||
// Load this!
|
||||
ScriptLumpDocumentTab t = new ScriptLumpDocumentTab(this, maplumpinfo.Name, maplumpinfo.Script);
|
||||
t.OnTextChanged += tabpage_OnLumpTextChanged; //mxd
|
||||
t.Scintilla.UpdateUI += scintilla_OnUpdateUI; //mxd
|
||||
tabs.TabPages.Add(t);
|
||||
}
|
||||
}
|
||||
|
@ -160,21 +165,35 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
// This applies user preferences
|
||||
public void ApplySettings()
|
||||
{
|
||||
// Apply settings
|
||||
//int panel2size = General.Settings.ReadSetting("scriptspanel.splitter", splitter.ClientRectangle.Height - splitter.SplitterDistance);
|
||||
//splitter.SplitterDistance = splitter.ClientRectangle.Height - panel2size;
|
||||
errorlist.Columns[0].Width = General.Settings.ReadSetting("scriptspanel.errorscolumn0width", errorlist.Columns[0].Width);
|
||||
errorlist.Columns[1].Width = General.Settings.ReadSetting("scriptspanel.errorscolumn1width", errorlist.Columns[1].Width);
|
||||
errorlist.Columns[2].Width = General.Settings.ReadSetting("scriptspanel.errorscolumn2width", errorlist.Columns[2].Width);
|
||||
buttonwhitespace.Checked = General.Settings.ReadSetting("scriptspanel.showwhitespace", false); //mxd
|
||||
buttonwordwrap.Checked = General.Settings.ReadSetting("scriptspanel.wraplonglines", false); //mxd
|
||||
ApplyTabSettings(); //mxd
|
||||
}
|
||||
|
||||
// This saves user preferences
|
||||
public void SaveSettings()
|
||||
{
|
||||
//General.Settings.WriteSetting("scriptspanel.splitter", splitter.ClientRectangle.Height - splitter.SplitterDistance);
|
||||
General.Settings.WriteSetting("scriptspanel.errorscolumn0width", errorlist.Columns[0].Width);
|
||||
General.Settings.WriteSetting("scriptspanel.errorscolumn1width", errorlist.Columns[1].Width);
|
||||
General.Settings.WriteSetting("scriptspanel.errorscolumn2width", errorlist.Columns[2].Width);
|
||||
General.Settings.WriteSetting("scriptspanel.showwhitespace", buttonwhitespace.Checked); //mxd
|
||||
General.Settings.WriteSetting("scriptspanel.wraplonglines", buttonwordwrap.Checked); //mxd
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void ApplyTabSettings()
|
||||
{
|
||||
foreach(var tp in tabs.TabPages)
|
||||
{
|
||||
ScriptDocumentTab scripttab = (tp as ScriptDocumentTab);
|
||||
if(scripttab != null)
|
||||
{
|
||||
scripttab.WrapLongLines = buttonwordwrap.Checked;
|
||||
scripttab.ShowWhitespace = buttonwhitespace.Checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -230,7 +249,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
{
|
||||
if(!string.IsNullOrEmpty(findoptions.FindText) && (options.ReplaceWith != null) && (ActiveTab != null))
|
||||
{
|
||||
if(string.Compare(ActiveTab.GetSelectedText(), options.FindText, !options.CaseSensitive) == 0)
|
||||
if(string.Compare(ActiveTab.SelectedText, options.FindText, !options.CaseSensitive) == 0)
|
||||
{
|
||||
// Replace selection
|
||||
ActiveTab.ReplaceSelection(options.ReplaceWith);
|
||||
|
@ -321,7 +340,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
findreplaceform.Show(this.ParentForm);
|
||||
|
||||
if(ActiveTab.SelectionEnd != ActiveTab.SelectionStart)
|
||||
findreplaceform.SetFindText(ActiveTab.GetSelectedText());
|
||||
findreplaceform.SetFindText(ActiveTab.SelectedText);
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
|
@ -421,7 +440,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
if(t.IsChanged)
|
||||
{
|
||||
// Ask to save
|
||||
DialogResult result = MessageBox.Show(this.ParentForm, "Do you want to save changes to " + t.Text + "?", "Close File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
|
||||
DialogResult result = MessageBox.Show(this.ParentForm, "Do you want to save changes to " + t.Title + "?", "Close File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
|
||||
switch(result)
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
|
@ -492,20 +511,24 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
|
||||
// Enable/disable buttons
|
||||
buttonsave.Enabled = (t != null) && t.ExplicitSave && t.IsChanged;
|
||||
buttonsave.Enabled = (t != null && t.ExplicitSave && t.IsChanged);
|
||||
buttonsaveall.Enabled = (explicitsavescripts > 0);
|
||||
buttoncompile.Enabled = (t != null) && (t.Config.Compiler != null);
|
||||
buttoncompile.Enabled = (t != null && t.Config.Compiler != null);
|
||||
buttonsearch.Enabled = (t != null); //mxd
|
||||
buttonkeywordhelp.Enabled = (t != null) && !string.IsNullOrEmpty(t.Config.KeywordHelp);
|
||||
buttonscriptconfig.Enabled = (t != null) && t.IsReconfigurable;
|
||||
buttonundo.Enabled = (t != null);
|
||||
buttonredo.Enabled = (t != null);
|
||||
buttoncopy.Enabled = (t != null);
|
||||
buttoncut.Enabled = (t != null);
|
||||
buttonpaste.Enabled = (t != null);
|
||||
buttonclose.Enabled = (t != null) && t.IsClosable;
|
||||
buttonkeywordhelp.Enabled = (t != null && !string.IsNullOrEmpty(t.Config.KeywordHelp));
|
||||
buttonscriptconfig.Enabled = (t != null && t.IsReconfigurable);
|
||||
buttonundo.Enabled = (t != null && t.Scintilla.CanUndo);
|
||||
buttonredo.Enabled = (t != null && t.Scintilla.CanRedo);
|
||||
buttoncopy.Enabled = (t != null && t.Scintilla.SelectionStart < t.Scintilla.SelectionEnd);
|
||||
buttoncut.Enabled = (t != null && t.Scintilla.SelectionStart < t.Scintilla.SelectionEnd);
|
||||
buttonpaste.Enabled = (t != null && t.Scintilla.CanPaste);
|
||||
buttonclose.Enabled = (t != null && t.IsClosable);
|
||||
buttonsnippets.DropDownItems.Clear(); //mxd
|
||||
buttonsnippets.Enabled = (t != null) && t.Config.Snippets.Count > 0; //mxd
|
||||
buttonsnippets.Enabled = (t != null && t.Config.Snippets.Count > 0); //mxd
|
||||
buttonindent.Enabled = (t != null); //mxd
|
||||
buttonunindent.Enabled = (t != null && t.Scintilla.Lines[t.Scintilla.CurrentLine].Indentation > 0); //mxd
|
||||
buttonwhitespace.Enabled = (t != null); //mxd
|
||||
buttonwordwrap.Enabled = (t != null); //mxd
|
||||
|
||||
if(t != null)
|
||||
{
|
||||
|
@ -519,7 +542,8 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
//mxd. Add snippets
|
||||
if(t.Config != null && t.Config.Snippets.Count > 0)
|
||||
{
|
||||
if(t.Config.Snippets.Count > 0) foreach(KeyValuePair<string, string[]> group in t.Config.Snippets) buttonsnippets.DropDownItems.Add(group.Key).Click += OnInsertSnippetClick;
|
||||
if(t.Config.Snippets.Count > 0)
|
||||
foreach(string snippetname in t.Config.Snippets) buttonsnippets.DropDownItems.Add(snippetname).Click += OnInsertSnippetClick;
|
||||
}
|
||||
|
||||
// Focus to script editor
|
||||
|
@ -589,24 +613,27 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
|
||||
// Done
|
||||
t.OnTextChanged += tabpage_OnTextChanged; //mxd
|
||||
t.IsChanged = false; //mxd. Not changed yet
|
||||
t.Scintilla.UpdateUI += scintilla_OnUpdateUI;
|
||||
UpdateToolbar(true);
|
||||
return t;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Failed
|
||||
return null;
|
||||
}
|
||||
|
||||
// Failed
|
||||
return null;
|
||||
}
|
||||
|
||||
// This saves the current open script
|
||||
public void ExplicitSaveCurrentTab()
|
||||
{
|
||||
ScriptDocumentTab t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
if((t != null) && t.ExplicitSave)
|
||||
if((t != null))
|
||||
{
|
||||
buttonsave_Click(this, EventArgs.Empty);
|
||||
if(t.ExplicitSave)
|
||||
buttonsave_Click(this, EventArgs.Empty);
|
||||
else if(t.Config.Compiler != null) //mxd
|
||||
buttoncompile_Click(this, EventArgs.Empty);
|
||||
else
|
||||
General.MessageBeep(MessageBeepType.Default);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -625,7 +652,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
{
|
||||
// Get script
|
||||
ScriptDocumentTab t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
return t.LaunchKeywordHelp();
|
||||
return (t != null && t.LaunchKeywordHelp());
|
||||
}
|
||||
|
||||
//mxd. This changes status text
|
||||
|
@ -837,18 +864,14 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
t.SaveAs(savefile.FileName);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Cancelled
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Save to same filename
|
||||
t.Save();
|
||||
return true;
|
||||
|
||||
// Cancelled
|
||||
return false;
|
||||
}
|
||||
|
||||
// Save to same filename
|
||||
t.Save();
|
||||
return true;
|
||||
}
|
||||
|
||||
// A tab is selected
|
||||
|
@ -894,15 +917,15 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
}
|
||||
|
||||
// Compile now
|
||||
DisplayStatus(ScriptStatusType.Busy, "Compiling script \"" + t.Text + "\"...");
|
||||
DisplayStatus(ScriptStatusType.Busy, "Compiling script \"" + t.Title + "\"...");
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
t.Compile();
|
||||
|
||||
// Show warning
|
||||
if((compilererrors != null) && (compilererrors.Count > 0))
|
||||
DisplayStatus(ScriptStatusType.Warning, compilererrors.Count + " errors while compiling \"" + t.Text + "\"!");
|
||||
DisplayStatus(ScriptStatusType.Warning, compilererrors.Count + " errors while compiling \"" + t.Title + "\"!");
|
||||
else
|
||||
DisplayStatus(ScriptStatusType.Info, "Script \"" + t.Text + "\" compiled without errors.");
|
||||
DisplayStatus(ScriptStatusType.Info, "Script \"" + t.Title + "\" compiled without errors.");
|
||||
|
||||
Cursor.Current = Cursors.Default;
|
||||
UpdateToolbar(true);
|
||||
|
@ -948,6 +971,32 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
UpdateToolbar(true);
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void buttonunindent_Click(object sender, EventArgs e)
|
||||
{
|
||||
ScriptDocumentTab t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
t.IndentSelection(false);
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void buttonindent_Click(object sender, EventArgs e)
|
||||
{
|
||||
ScriptDocumentTab t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
t.IndentSelection(true);
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void buttonwhitespace_Click(object sender, EventArgs e)
|
||||
{
|
||||
ApplyTabSettings();
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void buttonwordwrap_Click(object sender, EventArgs e)
|
||||
{
|
||||
ApplyTabSettings();
|
||||
}
|
||||
|
||||
//mxd. Search clicked
|
||||
private void buttonsearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -958,7 +1007,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private void OnInsertSnippetClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
ScriptDocumentTab t = (tabs.SelectedTab as ScriptDocumentTab);
|
||||
t.InsertSnippet( t.Config.Snippets[((ToolStripItem)sender).Text] );
|
||||
t.InsertSnippet( ((ToolStripItem)sender).Text );
|
||||
}
|
||||
|
||||
// Mouse released on tabs
|
||||
|
@ -967,13 +1016,52 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
ForceFocus();
|
||||
}
|
||||
|
||||
//mxd
|
||||
//mxd. Text in ScriptFileDocumentTab was changed
|
||||
private void tabpage_OnTextChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
if(tabs.SelectedTab != null)
|
||||
{
|
||||
ScriptDocumentTab curtab = tabs.SelectedTab as ScriptDocumentTab;
|
||||
buttonsave.Enabled = (curtab != null && curtab.ExplicitSave && curtab.IsChanged);
|
||||
if(curtab != null)
|
||||
{
|
||||
buttonsave.Enabled = (curtab.ExplicitSave && curtab.IsChanged);
|
||||
buttonundo.Enabled = curtab.Scintilla.CanUndo;
|
||||
buttonredo.Enabled = curtab.Scintilla.CanRedo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//mxd. Text in ScriptLumpDocumentTab was changed
|
||||
private void tabpage_OnLumpTextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(tabs.SelectedTab != null)
|
||||
{
|
||||
ScriptDocumentTab curtab = tabs.SelectedTab as ScriptDocumentTab;
|
||||
if(curtab != null)
|
||||
{
|
||||
buttonundo.Enabled = curtab.Scintilla.CanUndo;
|
||||
buttonredo.Enabled = curtab.Scintilla.CanRedo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//mxd
|
||||
private void scintilla_OnUpdateUI(object sender, UpdateUIEventArgs e)
|
||||
{
|
||||
Scintilla s = sender as Scintilla;
|
||||
if(s != null)
|
||||
{
|
||||
// Update caret position info [line] : [caret pos start] OR [caret pos start x selection length] ([total lines])
|
||||
positionlabel.Text = (s.CurrentLine + 1) + " : "
|
||||
+ (s.SelectionStart + 1 - s.Lines[s.LineFromPosition(s.SelectionStart)].Position)
|
||||
+ (s.SelectionStart != s.SelectionEnd ? "x" + (s.SelectionEnd - s.SelectionStart) : "")
|
||||
+ " (" + s.Lines.Count + ")";
|
||||
|
||||
// Update copy-paste buttons
|
||||
buttoncut.Enabled = (s.SelectionEnd > s.SelectionStart);
|
||||
buttoncopy.Enabled = (s.SelectionEnd > s.SelectionStart);
|
||||
buttonpaste.Enabled = s.CanPaste;
|
||||
buttonunindent.Enabled = s.Lines[s.CurrentLine].Indentation > 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ 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
|
||||
editor.FunctionBar.Enabled = (config.ScriptType != ScriptType.UNKNOWN); //mxd
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -289,7 +289,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
}
|
||||
|
||||
// Done
|
||||
editor.IsChanged = false;
|
||||
editor.SetSavePoint(); //mxd
|
||||
UpdateTitle(); //mxd
|
||||
return true;
|
||||
}
|
||||
|
@ -318,7 +318,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
try
|
||||
{
|
||||
// Read the file
|
||||
editor.SetText(File.ReadAllBytes(filepathname));
|
||||
editor.Text = File.ReadAllText(filepathname); //mxd
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
|
@ -332,7 +332,6 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
// Setup
|
||||
this.filepathname = filepathname;
|
||||
editor.ClearUndoRedo();
|
||||
editor.IsChanged = false; //mxd. Not changed yet
|
||||
SetTitle(Path.GetFileName(filepathname));
|
||||
UpdateNavigator(); //mxd
|
||||
|
||||
|
|
|
@ -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.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,7 +115,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
// Store the lump data
|
||||
MemoryStream stream = new MemoryStream(editor.GetText());
|
||||
General.Map.SetLumpData(lumpname, stream);
|
||||
editor.IsChanged = false;
|
||||
editor.SetSavePoint(); //mxd
|
||||
UpdateTitle(); //mxd
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -166,9 +166,9 @@ namespace CodeImp.DoomBuilder.GZBuilder.GZDoom
|
|||
case "function":
|
||||
{
|
||||
SkipWhitespace(true);
|
||||
int startpos = (int)stream.Position;
|
||||
string funcname = ReadToken(); //read return type
|
||||
SkipWhitespace(true);
|
||||
int startpos = (int)stream.Position;
|
||||
funcname += " " + ReadToken(); //read function name
|
||||
|
||||
// Try to parse argument names
|
||||
|
|
|
@ -156,8 +156,10 @@ 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********"
|
||||
+ Environment.NewLine + ex.Source + ": " + ex.Message + Environment.NewLine + ex.StackTrace;
|
||||
|
|
|
@ -30,10 +30,11 @@ 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;
|
||||
private object threadlock = new object(); //mxd
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -62,7 +63,7 @@ namespace CodeImp.DoomBuilder
|
|||
// This clears the errors
|
||||
public void Clear()
|
||||
{
|
||||
lock(this)
|
||||
lock(threadlock)
|
||||
{
|
||||
changed = false;
|
||||
erroradded = false;
|
||||
|
@ -79,7 +80,7 @@ namespace CodeImp.DoomBuilder
|
|||
{
|
||||
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)
|
||||
|
@ -117,13 +118,24 @@ namespace CodeImp.DoomBuilder
|
|||
}
|
||||
|
||||
// This returns the list of errors
|
||||
internal List<ErrorItem> GetErrors()
|
||||
/*internal List<ErrorItem> GetErrors()
|
||||
{
|
||||
lock(this)
|
||||
{
|
||||
List<ErrorItem> copylist = new List<ErrorItem>(errors);
|
||||
return copylist;
|
||||
}
|
||||
}*/
|
||||
|
||||
//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
|
||||
|
|
37
Source/Core/Properties/Resources.Designer.cs
generated
|
@ -753,17 +753,17 @@ namespace CodeImp.DoomBuilder.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -774,10 +774,10 @@ namespace CodeImp.DoomBuilder.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -788,10 +788,10 @@ namespace CodeImp.DoomBuilder.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -942,6 +942,27 @@ namespace CodeImp.DoomBuilder.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap ThingStatistics {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("ThingStatistics", resourceCulture);
|
||||
|
|
|
@ -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,7 +263,7 @@
|
|||
<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>
|
||||
<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>
|
||||
|
@ -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,43 +559,4 @@
|
|||
<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>
|
||||
</root>
|
|
@ -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 = 41;
|
||||
private const int NUM_COLORS = 49;
|
||||
public const int NUM_THING_COLORS = 20;
|
||||
public const int THING_COLORS_OFFSET = 20;
|
||||
|
||||
|
@ -84,16 +83,23 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
public const int THINGCOLOR18 = 38;
|
||||
public const int THINGCOLOR19 = 39;
|
||||
public const int THREEDFLOORCOLOR = 40; //mxd
|
||||
|
||||
public const int SCRIPTINDICATOR = 41; //mxd. Additional Script Editor colors
|
||||
public const int SCRIPTBRACEHIGHLIGHT = 42;
|
||||
public const int SCRIPTBADBRACEHIGHLIGHT = 43;
|
||||
public const int SCRIPTWHITESPACE = 44;
|
||||
public const int SCRIPTSELECTIONFORE = 45;
|
||||
public const int SCRIPTSELECTIONBACK = 46;
|
||||
public const int STRINGS = 47;
|
||||
public const int INCLUDES = 48;
|
||||
|
||||
#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;
|
||||
|
@ -125,6 +131,12 @@ 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 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; } }
|
||||
|
@ -148,10 +160,32 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
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
|
||||
colors[i] = PixelColor.FromInt(cfg.ReadSetting("colors.color" + i.ToString(CultureInfo.InvariantCulture), 0));
|
||||
}
|
||||
|
||||
// Set new colors
|
||||
//mxd. Set new colors (previously these were defined in GZBuilder.default.cfg)
|
||||
if(colors[BACKGROUND].ToInt() == 0) colors[BACKGROUND] = PixelColor.FromInt(-16777216);
|
||||
if(colors[VERTICES].ToInt() == 0) colors[VERTICES] = PixelColor.FromInt(-11425537);
|
||||
if(colors[LINEDEFS].ToInt() == 0) colors[LINEDEFS] = PixelColor.FromInt(-1);
|
||||
if(colors[MODELWIRECOLOR].ToInt() == 0) colors[MODELWIRECOLOR] = PixelColor.FromInt(-4259937);
|
||||
if(colors[INFOLINECOLOR].ToInt() == 0) colors[INFOLINECOLOR] = PixelColor.FromInt(-3750145);
|
||||
if(colors[HIGHLIGHT].ToInt() == 0) colors[HIGHLIGHT] = PixelColor.FromInt(-21504);
|
||||
if(colors[SELECTION].ToInt() == 0) colors[SELECTION] = PixelColor.FromInt(-49152);
|
||||
if(colors[INDICATION].ToInt() == 0) colors[INDICATION] = PixelColor.FromInt(-128);
|
||||
if(colors[GRID].ToInt() == 0) colors[GRID] = PixelColor.FromInt(-12171706);
|
||||
if(colors[GRID64].ToInt() == 0) colors[GRID64] = PixelColor.FromInt(-13018769);
|
||||
if(colors[CROSSHAIR3D].ToInt() == 0) colors[CROSSHAIR3D] = PixelColor.FromInt(-16711681); // Unused!
|
||||
if(colors[HIGHLIGHT3D].ToInt() == 0) colors[HIGHLIGHT3D] = PixelColor.FromInt(-24576);
|
||||
if(colors[SELECTION3D].ToInt() == 0) colors[SELECTION3D] = PixelColor.FromInt(-49152);
|
||||
if(colors[SCRIPTBACKGROUND].ToInt() == 0) colors[SCRIPTBACKGROUND] = PixelColor.FromInt(-1);
|
||||
if(colors[LINENUMBERS].ToInt() == 0) colors[LINENUMBERS] = PixelColor.FromInt(-13921873);
|
||||
if(colors[PLAINTEXT].ToInt() == 0) colors[PLAINTEXT] = PixelColor.FromInt(-16777216);
|
||||
if(colors[COMMENTS].ToInt() == 0) colors[COMMENTS] = PixelColor.FromInt(-16744448);
|
||||
if(colors[KEYWORDS].ToInt() == 0) colors[KEYWORDS] = PixelColor.FromInt(-16741493);
|
||||
if(colors[LITERALS].ToInt() == 0) colors[LITERALS] = PixelColor.FromInt(-16776961);
|
||||
if(colors[CONSTANTS].ToInt() == 0) colors[CONSTANTS] = PixelColor.FromInt(-12566273);
|
||||
|
||||
// Set new thing colors
|
||||
if(colors[THINGCOLOR00].ToInt() == 0) colors[THINGCOLOR00] = PixelColor.FromColor(Color.DimGray);
|
||||
if(colors[THINGCOLOR01].ToInt() == 0) colors[THINGCOLOR01] = PixelColor.FromColor(Color.RoyalBlue);
|
||||
if(colors[THINGCOLOR02].ToInt() == 0) colors[THINGCOLOR02] = PixelColor.FromColor(Color.ForestGreen);
|
||||
|
@ -172,6 +206,17 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
if(colors[THINGCOLOR17].ToInt() == 0) colors[THINGCOLOR17] = PixelColor.FromColor(Color.DarkOrange);
|
||||
if(colors[THINGCOLOR18].ToInt() == 0) colors[THINGCOLOR18] = PixelColor.FromColor(Color.DarkKhaki);
|
||||
if(colors[THINGCOLOR19].ToInt() == 0) colors[THINGCOLOR19] = PixelColor.FromColor(Color.Goldenrod);
|
||||
|
||||
//mxd. Set the rest of new colors (previously these were also defined in GZBuilder.default.cfg)
|
||||
if(colors[THREEDFLOORCOLOR].ToInt() == 0) colors[THREEDFLOORCOLOR] = PixelColor.FromInt(-65536);
|
||||
if(colors[SCRIPTINDICATOR].ToInt() == 0) colors[SCRIPTINDICATOR] = PixelColor.FromInt(-16711936);
|
||||
if(colors[SCRIPTBRACEHIGHLIGHT].ToInt() == 0) colors[SCRIPTBRACEHIGHLIGHT] = PixelColor.FromInt(-16711681);
|
||||
if(colors[SCRIPTBADBRACEHIGHLIGHT].ToInt() == 0) colors[SCRIPTBADBRACEHIGHLIGHT] = PixelColor.FromInt(-65536);
|
||||
if(colors[SCRIPTWHITESPACE].ToInt() == 0) colors[SCRIPTWHITESPACE] = PixelColor.FromInt(-8355712);
|
||||
if(colors[SCRIPTSELECTIONFORE].ToInt() == 0) colors[SCRIPTSELECTIONFORE] = PixelColor.FromInt(-1);
|
||||
if(colors[SCRIPTSELECTIONBACK].ToInt() == 0) colors[SCRIPTSELECTIONBACK] = PixelColor.FromInt(-13395457);
|
||||
if(colors[STRINGS].ToInt() == 0) colors[STRINGS] = PixelColor.FromInt(-6089451);
|
||||
if(colors[INCLUDES].ToInt() == 0) colors[INCLUDES] = PixelColor.FromInt(-9868951);
|
||||
|
||||
// Create assist colors
|
||||
CreateAssistColors();
|
||||
|
|
|
@ -109,6 +109,8 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
}
|
||||
catch(Exception)
|
||||
{
|
||||
string debugerrors = string.Empty; //mxd
|
||||
|
||||
// Compiling failed, try with debug information
|
||||
try
|
||||
{
|
||||
|
@ -116,16 +118,27 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
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))
|
||||
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 + ": " + errors);
|
||||
throw new Exception("Errors in effect file " + fxfile + ": " + debugerrors);
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
//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 + ": " + e.Message + "\nInitial message: " + errors);
|
||||
throw new Exception(e.GetType().Name + " while loading effect " + fxfile + ": " + message);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
BIN
Source/Core/Resources/ScriptConstant.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
Source/Core/Resources/ScriptError.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
Source/Core/Resources/ScriptKeyword.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
Source/Core/Resources/ScriptSnippet.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
Source/Core/Resources/TextIndent.png
Normal file
After Width: | Height: | Size: 353 B |
BIN
Source/Core/Resources/TextUnindent.png
Normal file
After Width: | Height: | Size: 351 B |
BIN
Source/Core/Resources/TextWhitespace.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -42,8 +42,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
FillList();
|
||||
checkerrors.Start();
|
||||
checkshow.Checked = General.Settings.ShowErrorsWindow;
|
||||
//mxd
|
||||
grid.Focus();
|
||||
grid.Focus(); //mxd
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -55,11 +54,12 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
// Fill the list with the items we don't have yet
|
||||
General.ErrorLogger.HasChanged = false;
|
||||
List<ErrorItem> errors = General.ErrorLogger.GetErrors();
|
||||
|
||||
//mxd. Rewritten to get only the new items from the ErrorLogger
|
||||
int startindex = grid.Rows.Count;
|
||||
for(int i = startindex; i < errors.Count; i++)
|
||||
IEnumerable<ErrorItem> errors = General.ErrorLogger.GetErrors(startindex);
|
||||
foreach(ErrorItem e in errors)
|
||||
{
|
||||
ErrorItem e = errors[i];
|
||||
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)
|
||||
|
|