├── .gitignore ├── .gitmodules ├── Ducky's RSDK Unpacker ├── App.config ├── Ducky's RSDK Unpacker.csproj ├── FileOptionsForm.Designer.cs ├── FileOptionsForm.cs ├── FileOptionsForm.resx ├── Form1.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Retro_Formats.cs ├── SelectRSDKForm.Designer.cs ├── SelectRSDKForm.cs ├── SelectRSDKForm.resx ├── WeifenLuo.WinFormsUI.Docking.dll └── discord-rpc.dll ├── README.md ├── RSDK Script Editor ├── App.config ├── MainForm.resx ├── Mainform.Designer.cs ├── Mainform.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RSDK Script Editor.csproj ├── SciLexer.dll ├── ScintillaNET.dll ├── ScintillaNET │ ├── Annotation.cs │ ├── AutoCSelectionEventArgs.cs │ ├── AutomaticFold.cs │ ├── BeforeModificationEventArgs.cs │ ├── CaretStyle.cs │ ├── ChangeAnnotationEventArgs.cs │ ├── CharAddedEventArgs.cs │ ├── Command.cs │ ├── CopyFormat.cs │ ├── Document.cs │ ├── DoubleClickEventArgs.cs │ ├── DwellEventArgs.cs │ ├── EdgeMode.cs │ ├── Eol.cs │ ├── FlagsEnumConverter.cs │ ├── FoldAction.cs │ ├── FoldDisplayText.cs │ ├── FoldFlags.cs │ ├── FoldLevelFlags.cs │ ├── FontQuality.cs │ ├── GapBuffer.cs │ ├── Helpers.cs │ ├── HotspotClickEventArgs.cs │ ├── ILoader.cs │ ├── IdleStyling.cs │ ├── IndentView.cs │ ├── Indicator.cs │ ├── IndicatorClickEventArgs.cs │ ├── IndicatorCollection.cs │ ├── IndicatorFlags.cs │ ├── IndicatorReleaseEventArgs.cs │ ├── IndicatorStyle.cs │ ├── InsertCheckEventArgs.cs │ ├── Lexer.cs │ ├── Line.cs │ ├── LineCollection.cs │ ├── LineEndType.cs │ ├── ListCompletionMethod.cs │ ├── Loader.cs │ ├── Margin.cs │ ├── MarginClickEventArgs.cs │ ├── MarginCollection.cs │ ├── MarginCursor.cs │ ├── MarginOptions.cs │ ├── MarginType.cs │ ├── Marker.cs │ ├── MarkerCollection.cs │ ├── MarkerHandle.cs │ ├── MarkerSymbol.cs │ ├── ModificationEventArgs.cs │ ├── ModificationSource.cs │ ├── MultiPaste.cs │ ├── NativeMemoryStream.cs │ ├── NativeMethods.cs │ ├── NeedShownEventArgs.cs │ ├── Order.cs │ ├── Phases.cs │ ├── PopupMode.cs │ ├── ProjectionEqualityComparer.cs │ ├── PropertyType.cs │ ├── SCNotificationEventArgs.cs │ ├── Scintilla.cs │ ├── ScintillaReader.cs │ ├── SearchFlags.cs │ ├── Selection.cs │ ├── SelectionCollection.cs │ ├── Status.cs │ ├── Style.cs │ ├── StyleCase.cs │ ├── StyleCollection.cs │ ├── StyleNeededEventArgs.cs │ ├── TabDrawMode.cs │ ├── Technology.cs │ ├── Tuple.cs │ ├── UpdateChange.cs │ ├── UpdateUIEventArgs.cs │ ├── VirtualSpace.cs │ ├── WhitespaceMode.cs │ ├── WrapIndentMode.cs │ ├── WrapMode.cs │ ├── WrapVisualFlagLocation.cs │ └── WrapVisualFlags.cs ├── WeifenLuo.WinFormsUI.Docking.dll └── discord-rpc.dll ├── RetroED.sln ├── RetroED ├── AboutForm.Designer.cs ├── AboutForm.cs ├── AboutForm.resx ├── App.config ├── Discord.cs ├── Extensions │ └── Map Editing Tools │ │ ├── Actions │ │ ├── ActionAddDeleteEntities.cs │ │ ├── ActionChangeTile.cs │ │ ├── ActionDummy.cs │ │ ├── ActionEntityPropertyChange.cs │ │ ├── ActionMoveEntities.cs │ │ ├── ActionsGroup.cs │ │ ├── ActionsGroupCloseMarker.cs │ │ └── IAction.cs │ │ ├── EntityToolbar.Designer.cs │ │ ├── EntityToolbar.cs │ │ ├── EntityToolbar.resx │ │ ├── FolderSelectDialog.cs │ │ ├── KeyBoardPanel.Designer.cs │ │ ├── KeyBoardPanel.cs │ │ ├── LocalProperty.cs │ │ ├── LocalPropertyGrid.cs │ │ ├── Reflector.cs │ │ ├── SceneSelect.Designer.cs │ │ ├── SceneSelect.cs │ │ └── SceneSelect.resx ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── ManiaFileList.txt ├── MapObjects List (EXAMPLE).txt ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RSDKvBFileList.txt ├── Resources │ ├── file.ico │ └── folder.ico ├── RetroED.csproj ├── Retro_Engine_logo.ico ├── Retro_Engine_logo.png ├── Retro_Engine_logo_Big.png ├── Retro_Formats.cs ├── SciLexer.dll ├── ScintillaNET.dll ├── SelectRSDKForm.Designer.cs ├── SelectRSDKForm.cs ├── SelectRSDKForm.resx ├── StartPage.Designer.cs ├── StartPage.cs ├── StartPage.resx ├── Tools │ ├── BackgroundEditor │ │ ├── AboutForm.Designer.cs │ │ ├── AboutForm.cs │ │ ├── AboutForm.resx │ │ ├── CD12_LayerPropertiesForm.Designer.cs │ │ ├── CD12_LayerPropertiesForm.cs │ │ ├── CD12_LayerPropertiesForm.resx │ │ ├── Extensions.cs │ │ ├── MainView.Designer.cs │ │ ├── MainView.cs │ │ ├── MainView.resx │ │ ├── ParallaxPropertiesForm.Designer.cs │ │ ├── ParallaxPropertiesForm.cs │ │ ├── ParallaxPropertiesForm.resx │ │ ├── PlaceHolderStamp - OBJ.png │ │ ├── PlaceHolderStamp.png │ │ ├── RSN_LayerPropertiesForm.Designer.cs │ │ ├── RSN_LayerPropertiesForm.cs │ │ ├── RSN_LayerPropertiesForm.resx │ │ ├── Resources.ico │ │ ├── SelectLayerForm.Designer.cs │ │ ├── SelectLayerForm.cs │ │ ├── SelectLayerForm.resx │ │ ├── StageChunksView.Designer.cs │ │ ├── StageChunksView.cs │ │ ├── StageChunksView.resx │ │ ├── StageMapView.Designer.cs │ │ ├── StageMapView.cs │ │ ├── StageMapView.resx │ │ ├── TileList.Designer.cs │ │ ├── TileList.cs │ │ ├── TileSelector.cs │ │ └── WeifenLuo.WinFormsUI.Docking.dll │ ├── ChunkEditor │ │ ├── AutoSetCollisionA.Designer.cs │ │ ├── AutoSetCollisionA.cs │ │ ├── AutoSetCollisionA.resx │ │ ├── AutoSetCollisionB.Designer.cs │ │ ├── AutoSetCollisionB.cs │ │ ├── AutoSetCollisionB.resx │ │ ├── AutoSetOrientation.Designer.cs │ │ ├── AutoSetOrientation.cs │ │ ├── AutoSetOrientation.resx │ │ ├── AutoSetTiles.Designer.cs │ │ ├── AutoSetTiles.cs │ │ ├── AutoSetTiles.resx │ │ ├── AutoSetVisualPlane.Designer.cs │ │ ├── AutoSetVisualPlane.cs │ │ ├── AutoSetVisualPlane.resx │ │ ├── CopyChunkForm.Designer.cs │ │ ├── CopyChunkForm.cs │ │ ├── CopyChunkForm.resx │ │ ├── Extensions.cs │ │ ├── Form1.Designer.cs │ │ ├── MainForm.cs │ │ ├── MainForm.resx │ │ ├── TileList.Designer.cs │ │ ├── TileList.cs │ │ └── TileSelector.cs │ ├── GFXTool │ │ ├── Form1.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ ├── GameconfigEditors │ │ ├── RSDKv1GameconfigEditor │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ └── MainForm.resx │ │ ├── RSDKv2GameconfigEditor │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ └── MainForm.resx │ │ ├── RSDKvBGameconfigEditor │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ └── MainForm.resx │ │ ├── RetroSonicCharListEditor │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ └── MainForm.resx │ │ └── RetroSonicStageListEditor │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ └── MainForm.resx │ ├── MapEditor │ │ ├── AboutForm.Designer.cs │ │ ├── AboutForm.cs │ │ ├── AboutForm.resx │ │ ├── Extensions.cs │ │ ├── MainView.Designer.cs │ │ ├── MainView.cs │ │ ├── MainView.resx │ │ ├── NewObjectForm.Designer.cs │ │ ├── NewObjectForm.cs │ │ ├── NewObjectForm.resx │ │ ├── OBJ.png │ │ ├── Object Definitions │ │ │ ├── MapObject.cs │ │ │ ├── ObjectDefinitions.cs │ │ │ ├── Retro-SonicGlobalObjects.cs │ │ │ ├── Sonic1GlobalObjects.cs │ │ │ ├── Sonic2GlobalObjects.cs │ │ │ ├── SonicCDGlobalObjects.cs │ │ │ └── SonicNexusGlobalObjects.cs │ │ ├── PlaceHolderStamp - OBJ.png │ │ ├── PlaceHolderStamp.png │ │ ├── PropertiesForm.Designer.cs │ │ ├── PropertiesForm.cs │ │ ├── PropertiesForm.resx │ │ ├── Resources.ico │ │ ├── StageChunksView.Designer.cs │ │ ├── StageChunksView.cs │ │ ├── StageChunksView.resx │ │ ├── StageMapView.Designer.cs │ │ ├── StageMapView.cs │ │ ├── StageMapView.resx │ │ ├── TileList.Designer.cs │ │ ├── TileList.cs │ │ ├── TileList.zip │ │ ├── TileSelector.cs │ │ └── WeifenLuo.WinFormsUI.Docking.dll │ ├── NexusDecrypt │ │ ├── Form1.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ ├── PaletteEditor │ │ ├── BaseForm.cs │ │ ├── ColorPreviewBox.cs │ │ ├── EventsListBox.cs │ │ ├── Extensions │ │ │ ├── AdobeColorTablePaletteSerializer.cs │ │ │ ├── AdobePhotoShopColorSwatchSerializer.cs │ │ │ ├── AdobePhotoshopColorSwatchColorSpace.cs │ │ │ ├── AdobePhotoshopColorSwatchFileVersion.cs │ │ │ ├── ColorBarStyle.cs │ │ │ ├── ColorCellBorderStyle.cs │ │ │ ├── ColorCollection.cs │ │ │ ├── ColorCollectionEventArgs.cs │ │ │ ├── ColorCollectionSortOrder.cs │ │ │ ├── ColorComparer.cs │ │ │ ├── ColorEditingMode.cs │ │ │ ├── ColorEditor.Designer.cs │ │ │ ├── ColorEditor.cs │ │ │ ├── ColorEditor.resx │ │ │ ├── ColorEditorManager.cs │ │ │ ├── ColorGrid.cs │ │ │ ├── ColorGridSelectedCellStyle.cs │ │ │ ├── ColorHitTestInfo.cs │ │ │ ├── ColorPalette.cs │ │ │ ├── ColorPalettes.cs │ │ │ ├── ColorPickerDialog.Designer.cs │ │ │ ├── ColorPickerDialog.cs │ │ │ ├── ColorPickerDialog.resx │ │ │ ├── ColorSlider.cs │ │ │ ├── ColorSliderNubStyle.cs │ │ │ ├── ColorSource.cs │ │ │ ├── ColorWheel.cs │ │ │ ├── Cyotek.Windows.Forms.ColorPicker.csproj │ │ │ ├── Cyotek.Windows.Forms.ColorPicker.nuspec │ │ │ ├── EditColorCancelEventArgs.cs │ │ │ ├── EditColorEventArgs.cs │ │ │ ├── GimpPaletteSerializer.cs │ │ │ ├── HslColor.cs │ │ │ ├── HsvColor.cs │ │ │ ├── HueColorSlider.cs │ │ │ ├── IColorEditor.cs │ │ │ ├── IPaletteSerializer.cs │ │ │ ├── InterleavedBitmapPaletteSerializer.cs │ │ │ ├── JascPaletteSerializer.cs │ │ │ ├── LightnessColorSlider.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── NavigationOrigin.cs │ │ │ ├── PaintNetPaletteSerializer.cs │ │ │ ├── PaletteSerializer.cs │ │ │ ├── RawPaletteSerializer.cs │ │ │ ├── RgbaChannel.cs │ │ │ ├── RgbaColorSlider.cs │ │ │ ├── SaturationColorSlider.cs │ │ │ ├── ScreenColorPicker.cs │ │ │ ├── cyopublic.snk │ │ │ └── obj │ │ │ │ ├── Debug │ │ │ │ ├── Cyotek.Windows.Forms.ColorPicker.csproj.CoreCompileInputs.cache │ │ │ │ └── Cyotek.Windows.Forms.ColorPicker.csprojAssemblyReference.cache │ │ │ │ └── Release │ │ │ │ ├── Cyotek.Windows.Forms.ColorPicker.csproj.CoreCompileInputs.cache │ │ │ │ └── Cyotek.Windows.Forms.ColorPicker.csprojAssemblyReference.cache │ │ ├── GroupBox.cs │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ ├── MainForm.resx │ │ ├── Resources │ │ │ ├── cellbackground.png │ │ │ ├── eyedropper.png │ │ │ ├── fill.png │ │ │ ├── icon.png │ │ │ ├── markdownpad-github.css │ │ │ ├── palette-load.png │ │ │ ├── palette-save.png │ │ │ └── text.png │ │ ├── ToolStripControllerHosts │ │ │ ├── ToolStripColorPickerDropDown.cs │ │ │ ├── ToolStripColorPickerDropDown.resx │ │ │ └── ToolStripColorPickerSplitButton.cs │ │ ├── ToolStripHostDemoForm.Designer.cs │ │ ├── ToolStripHostDemoForm.cs │ │ ├── ToolStripHostDemoForm.resx │ │ ├── app.config │ │ ├── app.manifest │ │ └── icon.ico │ ├── RSDKCollisionEditor │ │ ├── AboutForm.Designer.cs │ │ ├── AboutForm.cs │ │ ├── AboutForm.resx │ │ ├── Classic │ │ │ ├── Angles.cs │ │ │ ├── CollisionArray.cs │ │ │ └── StageCollisions.cs │ │ ├── Extensions.cs │ │ ├── Mainform.Designer.cs │ │ ├── Mainform.cs │ │ ├── Mainform.resx │ │ ├── Maniac.ico │ │ ├── Resources │ │ │ ├── 0.png │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 16.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ ├── 9.png │ │ │ ├── Green.png │ │ │ ├── Image1.bmp │ │ │ ├── Maniac.bmp │ │ │ ├── Maniac.ico │ │ │ ├── Maniac.png │ │ │ ├── Maniac2.png │ │ │ └── Red.png │ │ ├── TileList.Designer.cs │ │ ├── TileList.cs │ │ └── TileSelector.cs │ ├── RSVExtractor │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ ├── RSonicCollisionEditor │ │ ├── Mainform.Designer.cs │ │ ├── Mainform.cs │ │ ├── Mainform.resx │ │ ├── Maniac.ico │ │ └── Resources │ │ │ ├── 0.png │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 16.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ ├── 9.png │ │ │ ├── Green.png │ │ │ ├── Image1.bmp │ │ │ ├── Maniac.bmp │ │ │ ├── Maniac.ico │ │ │ ├── Maniac.png │ │ │ ├── Maniac2.png │ │ │ └── Red.png │ └── StageconfigEditors │ │ ├── RSDKv1StageconfigEditor │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ │ ├── RSDKv2StageconfigEditor │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ │ ├── RSDKvBStageconfigEditor │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx │ │ └── RSDKvRSZoneconfigEditor │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ └── MainForm.resx ├── WeifenLuo.WinFormsUI.Docking.dll └── discord-rpc.dll ├── StaticObjectNotes.txt └── build └── Data ├── DataFileUnpacker ├── RSDKv5FileList.txt ├── RSDKv5Objects.txt └── RSDKvBFileList.txt └── ScriptEditor ├── AutoCompletev1.txt ├── AutoCompletev2.txt └── AutoCompletevB.txt /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "RSDK-Reverse"] 2 | path = RSDK-Reverse 3 | url = https://github.com/rubberduckycooly/RSDK-Reverse 4 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Ducky_s_RSDK_Unpacker 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new RetroED.Tools.RSDKUnpacker.MainForm()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Ducky's RSDK Unpacker")] 9 | [assembly: AssemblyDescription("A tool to unpack and repack Data containers used by the Retro Engine")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Rubberduckycooly")] 12 | [assembly: AssemblyProduct("Ducky's RSDK Unpacker")] 13 | [assembly: AssemblyCopyright("Copyright © Rubberduckycooly 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("4f707d04-7c22-4b06-aac7-a33c1a2245e7")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RSDK_Unpacker.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RSDK_Unpacker.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RSDK_Unpacker.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/SelectRSDKForm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | using WeifenLuo.WinFormsUI.Docking; 11 | 12 | namespace RetroED 13 | { 14 | public partial class SelectRSDKForm : DockContent 15 | { 16 | public Retro_Formats.EngineType engineType = 0; 17 | 18 | public bool usingRSDKv5 = false; 19 | 20 | public SelectRSDKForm() 21 | { 22 | InitializeComponent(); 23 | } 24 | 25 | private void RSDKVerBox_SelectedIndexChanged(object sender, EventArgs e) 26 | { 27 | if (!usingRSDKv5) 28 | { 29 | switch (RSDKVerBox.SelectedIndex) 30 | { 31 | case 0: 32 | engineType = Retro_Formats.EngineType.RSDKvB; 33 | break; 34 | case 1: 35 | engineType = Retro_Formats.EngineType.RSDKv2; 36 | break; 37 | case 2: 38 | engineType = Retro_Formats.EngineType.RSDKv1; 39 | break; 40 | case 3: 41 | engineType = Retro_Formats.EngineType.RSDKvRS; 42 | break; 43 | } 44 | } 45 | else 46 | { 47 | switch (RSDKVerBox.SelectedIndex) 48 | { 49 | case 4: 50 | engineType = Retro_Formats.EngineType.RSDKv5; 51 | break; 52 | case 3: 53 | engineType = Retro_Formats.EngineType.RSDKvB; 54 | break; 55 | case 2: 56 | engineType = Retro_Formats.EngineType.RSDKv2; 57 | break; 58 | case 1: 59 | engineType = Retro_Formats.EngineType.RSDKv1; 60 | break; 61 | case 0: 62 | engineType = Retro_Formats.EngineType.RSDKvRS; 63 | break; 64 | } 65 | } 66 | } 67 | 68 | private void OKButton_Click(object sender, EventArgs e) 69 | { 70 | DialogResult = DialogResult.OK; 71 | Close(); 72 | } 73 | 74 | private void CancelButton_Click(object sender, EventArgs e) 75 | { 76 | DialogResult = DialogResult.Cancel; 77 | Close(); 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/WeifenLuo.WinFormsUI.Docking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rubberduckycooly/RetroED/9061d3408c1821a6664e01e20cfe211ea9f6c648/Ducky's RSDK Unpacker/WeifenLuo.WinFormsUI.Docking.dll -------------------------------------------------------------------------------- /Ducky's RSDK Unpacker/discord-rpc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rubberduckycooly/RetroED/9061d3408c1821a6664e01e20cfe211ea9f6c648/Ducky's RSDK Unpacker/discord-rpc.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RetroED 2 | a general purpose editor for all RSDK versions below RSDKv5 3 | -------------------------------------------------------------------------------- /RSDK Script Editor/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RSDK Script Editor/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace RSDK_Script_Editor 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new RetroED.Tools.ScriptEditor.MainForm()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /RSDK Script Editor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RSDK Script Editor")] 9 | [assembly: AssemblyDescription("A tool to edit the Script Files used by the Retro Engine")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Rubberduckycooly")] 12 | [assembly: AssemblyProduct("RSDK Script Editor")] 13 | [assembly: AssemblyCopyright("Copyright © Rubberduckycooly 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("da35c416-f6f4-4364-8b4f-6f3f40221fc7")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RSDK Script Editor/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RSDK_Script_Editor.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RSDK_Script_Editor.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /RSDK Script Editor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RSDK_Script_Editor.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /RSDK Script Editor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RSDK Script Editor/SciLexer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rubberduckycooly/RetroED/9061d3408c1821a6664e01e20cfe211ea9f6c648/RSDK Script Editor/SciLexer.dll -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rubberduckycooly/RetroED/9061d3408c1821a6664e01e20cfe211ea9f6c648/RSDK Script Editor/ScintillaNET.dll -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Annotation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Visibility and location of annotations in a control 10 | /// 11 | public enum Annotation 12 | { 13 | /// 14 | /// Annotations are not displayed. This is the default. 15 | /// 16 | Hidden = NativeMethods.ANNOTATION_HIDDEN, 17 | 18 | /// 19 | /// Annotations are drawn left justified with no adornment. 20 | /// 21 | Standard = NativeMethods.ANNOTATION_STANDARD, 22 | 23 | /// 24 | /// Annotations are indented to match the text and are surrounded by a box. 25 | /// 26 | Boxed = NativeMethods.ANNOTATION_BOXED, 27 | 28 | /// 29 | /// Annotations are indented to match the text. 30 | /// 31 | Indented = NativeMethods.ANNOTATION_INDENTED 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/AutomaticFold.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Configuration options for automatic code folding. 10 | /// 11 | /// This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. 12 | [Flags] 13 | public enum AutomaticFold 14 | { 15 | /// 16 | /// Automatic folding is disabled. This is the default. 17 | /// 18 | None = 0, 19 | 20 | /// 21 | /// Automatically show lines as needed. The event is not raised when this value is used. 22 | /// 23 | Show = NativeMethods.SC_AUTOMATICFOLD_SHOW, 24 | 25 | /// 26 | /// Handle clicks in fold margin automatically. The event is not raised for folding margins when this value is used. 27 | /// 28 | Click = NativeMethods.SC_AUTOMATICFOLD_CLICK, 29 | 30 | /// 31 | /// Show lines as needed when the fold structure is changed. 32 | /// 33 | Change = NativeMethods.SC_AUTOMATICFOLD_CHANGE 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/CaretStyle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The caret visual style. 10 | /// 11 | public enum CaretStyle 12 | { 13 | /// 14 | /// The caret is not displayed. 15 | /// 16 | Invisible = NativeMethods.CARETSTYLE_INVISIBLE, 17 | 18 | /// 19 | /// The caret is drawn as a vertical line. 20 | /// 21 | Line = NativeMethods.CARETSTYLE_LINE, 22 | 23 | /// 24 | /// The caret is drawn as a block. 25 | /// 26 | Block = NativeMethods.CARETSTYLE_BLOCK 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/ChangeAnnotationEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the event. 10 | /// 11 | public class ChangeAnnotationEventArgs : EventArgs 12 | { 13 | /// 14 | /// Gets the line index where the annotation changed. 15 | /// 16 | /// The zero-based line index where the annotation change occurred. 17 | public int Line { get; private set; } 18 | 19 | /// 20 | /// Initializes a new instance of the class. 21 | /// 22 | /// The zero-based line index of the annotation that changed. 23 | public ChangeAnnotationEventArgs(int line) 24 | { 25 | Line = line; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/CharAddedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the event. 10 | /// 11 | public class CharAddedEventArgs : EventArgs 12 | { 13 | /// 14 | /// Gets the text character added to a control. 15 | /// 16 | /// The character added. 17 | public int Char { get; private set; } 18 | 19 | /// 20 | /// Initializes a new instance of the class. 21 | /// 22 | /// The character added. 23 | public CharAddedEventArgs(int ch) 24 | { 25 | Char = ch; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/CopyFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Specifies the clipboard formats to copy. 10 | /// 11 | [Flags] 12 | public enum CopyFormat 13 | { 14 | /// 15 | /// Copies text to the clipboard in Unicode format. 16 | /// 17 | Text = 1 << 0, 18 | 19 | /// 20 | /// Copies text to the clipboard in Rich Text Format (RTF). 21 | /// 22 | Rtf = 1 << 1, 23 | 24 | /// 25 | /// Copies text to the clipboard in HyperText Markup Language (HTML) format. 26 | /// 27 | Html = 1 << 2 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Document.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// A document. 10 | /// 11 | /// 12 | /// This is an opaque type, meaning it can be used by a control but 13 | /// otherwise has no public members of its own. 14 | /// 15 | public struct Document 16 | { 17 | internal IntPtr Value; 18 | 19 | /// 20 | /// A read-only field that represents an uninitialized document. 21 | /// 22 | public static readonly Document Empty; 23 | 24 | /// 25 | /// Returns a value indicating whether this instance is equal to a specified object. 26 | /// 27 | /// An object to compare with this instance or null. 28 | /// true if is an instance of and equals the value of this instance; otherwise, false. 29 | public override bool Equals(object obj) 30 | { 31 | return (obj is IntPtr) && Value == ((Document)obj).Value; 32 | } 33 | 34 | /// 35 | /// Returns the hash code for this instance. 36 | /// 37 | /// A 32-bit signed integer hash code. 38 | public override int GetHashCode() 39 | { 40 | return Value.GetHashCode(); 41 | } 42 | 43 | /// 44 | /// Determines whether two specified instances of are equal. 45 | /// 46 | /// The first document to compare. 47 | /// The second document to compare. 48 | /// true if equals ; otherwise, false. 49 | public static bool operator ==(Document a, Document b) 50 | { 51 | return a.Value == b.Value; 52 | } 53 | 54 | /// 55 | /// Determines whether two specified instances of are not equal. 56 | /// 57 | /// The first document to compare. 58 | /// The second document to compare. 59 | /// true if does not equal ; otherwise, false. 60 | public static bool operator !=(Document a, Document b) 61 | { 62 | return a.Value != b.Value; 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/DoubleClickEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Provides data for the event. 11 | /// 12 | public class DoubleClickEventArgs : EventArgs 13 | { 14 | private readonly Scintilla scintilla; 15 | private readonly int bytePosition; 16 | private int? position; 17 | 18 | /// 19 | /// Gets the line double clicked. 20 | /// 21 | /// The zero-based index of the double clicked line. 22 | public int Line { get; private set; } 23 | 24 | /// 25 | /// Gets the modifier keys (SHIFT, CTRL, ALT) held down when double clicked. 26 | /// 27 | /// A bitwise combination of the Keys enumeration indicating the modifier keys. 28 | public Keys Modifiers { get; private set; } 29 | 30 | /// 31 | /// Gets the zero-based document position of the text double clicked. 32 | /// 33 | /// 34 | /// The zero-based character position within the document of the double clicked text; 35 | /// otherwise, -1 if not a document position. 36 | /// 37 | public int Position 38 | { 39 | get 40 | { 41 | if (position == null) 42 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 43 | 44 | return (int)position; 45 | } 46 | } 47 | 48 | /// 49 | /// Initializes a new instance of the class. 50 | /// 51 | /// The control that generated this event. 52 | /// The modifier keys that where held down at the time of the double click. 53 | /// The zero-based byte position of the double clicked text. 54 | /// The zero-based line index of the double clicked text. 55 | public DoubleClickEventArgs(Scintilla scintilla, Keys modifiers, int bytePosition, int line) 56 | { 57 | this.scintilla = scintilla; 58 | this.bytePosition = bytePosition; 59 | Modifiers = modifiers; 60 | Line = line; 61 | 62 | if (bytePosition == -1) 63 | position = -1; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/DwellEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the and events. 10 | /// 11 | public class DwellEventArgs : EventArgs 12 | { 13 | private readonly Scintilla scintilla; 14 | private readonly int bytePosition; 15 | private int? position; 16 | 17 | /// 18 | /// Gets the zero-based document position where the mouse pointer was lingering. 19 | /// 20 | /// The nearest zero-based document position to where the mouse pointer was lingering. 21 | public int Position 22 | { 23 | get 24 | { 25 | if (position == null) 26 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 27 | 28 | return (int)position; 29 | } 30 | } 31 | 32 | /// 33 | /// Gets the x-coordinate of the mouse pointer. 34 | /// 35 | /// The x-coordinate of the mouse pointer relative to the control. 36 | public int X { get; private set; } 37 | 38 | /// 39 | /// Gets the y-coordinate of the mouse pointer. 40 | /// 41 | /// The y-coordinate of the mouse pointer relative to the control. 42 | public int Y { get; private set; } 43 | 44 | /// 45 | /// Initializes a new instance of the class. 46 | /// 47 | /// The control that generated this event. 48 | /// The zero-based byte position within the document where the mouse pointer was lingering. 49 | /// The x-coordinate of the mouse pointer relative to the control. 50 | /// The y-coordinate of the mouse pointer relative to the control. 51 | public DwellEventArgs(Scintilla scintilla, int bytePosition, int x, int y) 52 | { 53 | this.scintilla = scintilla; 54 | this.bytePosition = bytePosition; 55 | X = x; 56 | Y = y; 57 | 58 | // The position is not over text 59 | if (bytePosition < 0) 60 | position = bytePosition; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/EdgeMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The long line edge display mode. 10 | /// 11 | public enum EdgeMode 12 | { 13 | /// 14 | /// Long lines are not indicated. This is the default. 15 | /// 16 | None = NativeMethods.EDGE_NONE, 17 | 18 | /// 19 | /// Long lines are indicated with a vertical line. 20 | /// 21 | Line = NativeMethods.EDGE_LINE, 22 | 23 | /// 24 | /// Long lines are indicated with a background color. 25 | /// 26 | Background = NativeMethods.EDGE_BACKGROUND, 27 | 28 | /// 29 | /// Similar to except allows for multiple vertical lines to be visible using the method. 30 | /// 31 | /// and are completely independant of this mode. 32 | MultiLine = NativeMethods.EDGE_MULTILINE 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Eol.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// End-of-line format. 10 | /// 11 | public enum Eol 12 | { 13 | /// 14 | /// Carriage Return, Line Feed pair "\r\n" (0x0D0A). 15 | /// 16 | CrLf = NativeMethods.SC_EOL_CRLF, 17 | 18 | /// 19 | /// Carriage Return '\r' (0x0D). 20 | /// 21 | Cr = NativeMethods.SC_EOL_CR, 22 | 23 | /// 24 | /// Line Feed '\n' (0x0A). 25 | /// 26 | Lf = NativeMethods.SC_EOL_LF 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/FoldAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Fold actions. 10 | /// 11 | public enum FoldAction 12 | { 13 | /// 14 | /// Contract the fold. 15 | /// 16 | Contract = NativeMethods.SC_FOLDACTION_CONTRACT, 17 | 18 | /// 19 | /// Expand the fold. 20 | /// 21 | Expand = NativeMethods.SC_FOLDACTION_EXPAND, 22 | 23 | /// 24 | /// Toggle between contracted and expanded. 25 | /// 26 | Toggle = NativeMethods.SC_FOLDACTION_TOGGLE 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/FoldDisplayText.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Display options for fold text tags. 10 | /// 11 | public enum FoldDisplayText 12 | { 13 | /// 14 | /// Do not display the text tags. This is the default. 15 | /// 16 | Hidden = NativeMethods.SC_FOLDDISPLAYTEXT_HIDDEN, 17 | 18 | /// 19 | /// Display the text tags. 20 | /// 21 | Standard = NativeMethods.SC_FOLDDISPLAYTEXT_STANDARD, 22 | 23 | /// 24 | /// Display the text tags with a box drawn around them. 25 | /// 26 | Boxed = NativeMethods.SC_FOLDDISPLAYTEXT_BOXED 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/FoldFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Additional display options for folds. 10 | /// 11 | [Flags] 12 | public enum FoldFlags 13 | { 14 | /// 15 | /// A line is drawn above if expanded. 16 | /// 17 | LineBeforeExpanded = NativeMethods.SC_FOLDFLAG_LINEBEFORE_EXPANDED, 18 | 19 | /// 20 | /// A line is drawn above if not expanded. 21 | /// 22 | LineBeforeContracted = NativeMethods.SC_FOLDFLAG_LINEBEFORE_CONTRACTED, 23 | 24 | /// 25 | /// A line is drawn below if expanded. 26 | /// 27 | LineAfterExpanded = NativeMethods.SC_FOLDFLAG_LINEAFTER_EXPANDED, 28 | 29 | /// 30 | /// A line is drawn below if not expanded. 31 | /// 32 | LineAfterContracted = NativeMethods.SC_FOLDFLAG_LINEAFTER_CONTRACTED, 33 | 34 | /// 35 | /// Displays the hexadecimal fold levels in the margin to aid with debugging. 36 | /// This feature may change in the future. 37 | /// 38 | LevelNumbers = NativeMethods.SC_FOLDFLAG_LEVELNUMBERS, 39 | 40 | /// 41 | /// Displays the hexadecimal line state in the margin to aid with debugging. This flag 42 | /// cannot be used at the same time as the flag. 43 | /// 44 | LineState = NativeMethods.SC_FOLDFLAG_LINESTATE 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/FoldLevelFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Flags for additional line fold level behavior. 10 | /// 11 | [Flags] 12 | public enum FoldLevelFlags 13 | { 14 | /// 15 | /// Indicates that the line is blank and should be treated slightly different than its level may indicate; 16 | /// otherwise, blank lines should generally not be fold points. 17 | /// 18 | White = NativeMethods.SC_FOLDLEVELWHITEFLAG, 19 | 20 | /// 21 | /// Indicates that the line is a header (fold point). 22 | /// 23 | Header = NativeMethods.SC_FOLDLEVELHEADERFLAG 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/FontQuality.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The font quality (antialiasing method) used to render text. 10 | /// 11 | public enum FontQuality 12 | { 13 | /// 14 | /// Specifies that the character quality of the font does not matter; so the lowest quality can be used. 15 | /// This is the default. 16 | /// 17 | Default = NativeMethods.SC_EFF_QUALITY_DEFAULT, 18 | 19 | /// 20 | /// Specifies that anti-aliasing should not be used when rendering text. 21 | /// 22 | NonAntiAliased = NativeMethods.SC_EFF_QUALITY_NON_ANTIALIASED, 23 | 24 | /// 25 | /// Specifies that anti-aliasing should be used when rendering text, if the font supports it. 26 | /// 27 | AntiAliased = NativeMethods.SC_EFF_QUALITY_ANTIALIASED, 28 | 29 | /// 30 | /// Specifies that ClearType anti-aliasing should be used when rendering text, if the font supports it. 31 | /// 32 | LcdOptimized = NativeMethods.SC_EFF_QUALITY_LCD_OPTIMIZED 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/HotspotClickEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Provides data for the , , 11 | /// and events. 12 | /// 13 | public class HotspotClickEventArgs : EventArgs 14 | { 15 | private readonly Scintilla scintilla; 16 | private readonly int bytePosition; 17 | private int? position; 18 | 19 | /// 20 | /// Gets the modifier keys (SHIFT, CTRL, ALT) held down when clicked. 21 | /// 22 | /// A bitwise combination of the Keys enumeration indicating the modifier keys. 23 | /// Only the state of the CTRL key is reported in the event. 24 | public Keys Modifiers { get; private set; } 25 | 26 | /// 27 | /// Gets the zero-based document position of the text clicked. 28 | /// 29 | /// The zero-based character position within the document of the clicked text. 30 | public int Position 31 | { 32 | get 33 | { 34 | if (position == null) 35 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 36 | 37 | return (int)position; 38 | } 39 | } 40 | 41 | /// 42 | /// Initializes a new instance of the class. 43 | /// 44 | /// The control that generated this event. 45 | /// The modifier keys that where held down at the time of the click. 46 | /// The zero-based byte position of the clicked text. 47 | public HotspotClickEventArgs(Scintilla scintilla, Keys modifiers, int bytePosition) 48 | { 49 | this.scintilla = scintilla; 50 | this.bytePosition = bytePosition; 51 | Modifiers = modifiers; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/ILoader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides methods for loading and creating a on a background (non-UI) thread. 10 | /// 11 | /// 12 | /// Internally an maintains a instance with a reference count of 1. 13 | /// You are responsible for ensuring the reference count eventually reaches 0 or memory leaks will occur. 14 | /// 15 | public interface ILoader 16 | { 17 | /// 18 | /// Adds the data specified to the internal document. 19 | /// 20 | /// The character buffer to copy to the new document. 21 | /// The number of characters in to copy. 22 | /// 23 | /// true if the data was added successfully; otherwise, false. 24 | /// A return value of false should be followed by a call to . 25 | /// 26 | bool AddData(char[] data, int length); 27 | 28 | /// 29 | /// Returns the internal document. 30 | /// 31 | /// A containing the added text. The document has a reference count of 1. 32 | Document ConvertToDocument(); 33 | 34 | /// 35 | /// Called to release the internal document when an error occurs using or to abandon loading. 36 | /// 37 | /// 38 | /// The internal document reference count. 39 | /// A return value of 0 indicates that the document has been destroyed and all associated memory released. 40 | /// 41 | int Release(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IdleStyling.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Possible strategies for styling text using application idle time. 10 | /// 11 | /// 12 | public enum IdleStyling 13 | { 14 | /// 15 | /// Syntax styling is performed for all the currently visible text before displaying it. 16 | /// This is the default. 17 | /// 18 | None = NativeMethods.SC_IDLESTYLING_NONE, 19 | 20 | /// 21 | /// A small amount of styling is performed before display and then further styling is performed incrementally in the background as an idle-time task. 22 | /// This can improve initial display/scroll performance, but may result in the text initially appearing uncolored and then, some time later, it is colored. 23 | /// 24 | ToVisible = NativeMethods.SC_IDLESTYLING_TOVISIBLE, 25 | 26 | /// 27 | /// Text after the currently visible portion may be styled as an idle-time task. 28 | /// This will not improve initial display/scroll performance, but may improve subsequent display/scroll performance. 29 | /// 30 | AfterVisible = NativeMethods.SC_IDLESTYLING_AFTERVISIBLE, 31 | 32 | /// 33 | /// Text before and after the current visible text. 34 | /// This is a combination of and . 35 | /// 36 | All = NativeMethods.SC_IDLESTYLING_ALL 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IndentView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Options for displaying indentation guides in a control. 10 | /// 11 | /// Indentation guides can be styled using the style. 12 | public enum IndentView 13 | { 14 | /// 15 | /// No indentation guides are shown. This is the default. 16 | /// 17 | None = NativeMethods.SC_IV_NONE, 18 | 19 | /// 20 | /// Indentation guides are shown inside real indentation whitespace. 21 | /// 22 | Real = NativeMethods.SC_IV_REAL, 23 | 24 | /// 25 | /// Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line. 26 | /// If the previous non-empty line was a fold header then indentation guides are shown for one more level of indent than that line. 27 | /// This setting is good for Python. 28 | /// 29 | LookForward = NativeMethods.SC_IV_LOOKFORWARD, 30 | 31 | /// 32 | /// Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line or previous non-empty line whichever is the greater. 33 | /// This setting is good for most languages. 34 | /// 35 | LookBoth = NativeMethods.SC_IV_LOOKBOTH 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IndicatorClickEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Provides data for the event. 11 | /// 12 | public class IndicatorClickEventArgs : IndicatorReleaseEventArgs 13 | { 14 | /// 15 | /// Gets the modifier keys (SHIFT, CTRL, ALT) held down when clicked. 16 | /// 17 | /// A bitwise combination of the Keys enumeration indicating the modifier keys. 18 | public Keys Modifiers { get; private set; } 19 | 20 | /// 21 | /// Initializes a new instance of the class. 22 | /// 23 | /// The control that generated this event. 24 | /// The modifier keys that where held down at the time of the click. 25 | /// The zero-based byte position of the clicked text. 26 | public IndicatorClickEventArgs(Scintilla scintilla, Keys modifiers, int bytePosition) : base(scintilla, bytePosition) 27 | { 28 | Modifiers = modifiers; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IndicatorCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Linq; 6 | using System.Text; 7 | 8 | namespace ScintillaNET 9 | { 10 | /// 11 | /// An immutable collection of indicators in a control. 12 | /// 13 | public class IndicatorCollection : IEnumerable 14 | { 15 | private readonly Scintilla scintilla; 16 | 17 | /// 18 | /// Provides an enumerator that iterates through the collection. 19 | /// 20 | /// An object that contains all objects within the . 21 | public IEnumerator GetEnumerator() 22 | { 23 | int count = Count; 24 | for (int i = 0; i < count; i++) 25 | yield return this[i]; 26 | 27 | yield break; 28 | } 29 | 30 | IEnumerator IEnumerable.GetEnumerator() 31 | { 32 | return this.GetEnumerator(); 33 | } 34 | 35 | /// 36 | /// Gets the number of indicators. 37 | /// 38 | /// The number of indicators in the . 39 | [Browsable(false)] 40 | [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 41 | public int Count 42 | { 43 | get 44 | { 45 | return (NativeMethods.INDIC_MAX + 1); 46 | } 47 | } 48 | 49 | /// 50 | /// Gets an object at the specified index. 51 | /// 52 | /// The indicator index. 53 | /// An object representing the indicator at the specified . 54 | /// 55 | /// Indicators 0 through 7 are used by lexers. 56 | /// Indicators 32 through 35 are used for IME. 57 | /// 58 | [Browsable(false)] 59 | [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 60 | public Indicator this[int index] 61 | { 62 | get 63 | { 64 | index = Helpers.Clamp(index, 0, Count - 1); 65 | return new Indicator(scintilla, index); 66 | } 67 | } 68 | 69 | /// 70 | /// Initializes a new instance of the class. 71 | /// 72 | /// The control that created this collection. 73 | public IndicatorCollection(Scintilla scintilla) 74 | { 75 | this.scintilla = scintilla; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IndicatorFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Flags associated with a . 10 | /// 11 | /// This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. 12 | [Flags] 13 | public enum IndicatorFlags 14 | { 15 | /// 16 | /// No flags. This is the default. 17 | /// 18 | None = 0, 19 | 20 | /// 21 | /// When set, will treat an indicator value as a RGB color that has been OR'd with 22 | /// and will use that instead of the value specified in the property. This allows 23 | /// an indicator to display more than one color. 24 | /// 25 | ValueFore = NativeMethods.SC_INDICFLAG_VALUEFORE 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/IndicatorReleaseEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Provides data for the event. 11 | /// 12 | public class IndicatorReleaseEventArgs : EventArgs 13 | { 14 | private readonly Scintilla scintilla; 15 | private readonly int bytePosition; 16 | private int? position; 17 | 18 | /// 19 | /// Gets the zero-based document position of the text clicked. 20 | /// 21 | /// The zero-based character position within the document of the clicked text. 22 | public int Position 23 | { 24 | get 25 | { 26 | if (position == null) 27 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 28 | 29 | return (int)position; 30 | } 31 | } 32 | 33 | /// 34 | /// Initializes a new instance of the class. 35 | /// 36 | /// The control that generated this event. 37 | /// The zero-based byte position of the clicked text. 38 | public IndicatorReleaseEventArgs(Scintilla scintilla, int bytePosition) 39 | { 40 | this.scintilla = scintilla; 41 | this.bytePosition = bytePosition; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/InsertCheckEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the event. 10 | /// 11 | public class InsertCheckEventArgs : EventArgs 12 | { 13 | private readonly Scintilla scintilla; 14 | private readonly int bytePosition; 15 | private readonly int byteLength; 16 | private readonly IntPtr textPtr; 17 | 18 | internal int? CachedPosition { get; set; } 19 | internal string CachedText { get; set; } 20 | 21 | /// 22 | /// Gets the zero-based document position where text will be inserted. 23 | /// 24 | /// The zero-based character position within the document where text will be inserted. 25 | public int Position 26 | { 27 | get 28 | { 29 | if (CachedPosition == null) 30 | CachedPosition = scintilla.Lines.ByteToCharPosition(bytePosition); 31 | 32 | return (int)CachedPosition; 33 | } 34 | } 35 | 36 | /// 37 | /// Gets or sets the text being inserted. 38 | /// 39 | /// The text being inserted into the document. 40 | public unsafe string Text 41 | { 42 | get 43 | { 44 | if (CachedText == null) 45 | CachedText = Helpers.GetString(textPtr, byteLength, scintilla.Encoding); 46 | 47 | return CachedText; 48 | } 49 | set 50 | { 51 | CachedText = value ?? string.Empty; 52 | 53 | var bytes = Helpers.GetBytes(CachedText, scintilla.Encoding, zeroTerminated: false); 54 | fixed (byte* bp = bytes) 55 | scintilla.DirectMessage(NativeMethods.SCI_CHANGEINSERTION, new IntPtr(bytes.Length), new IntPtr(bp)); 56 | } 57 | } 58 | 59 | /// 60 | /// Initializes a new instance of the class. 61 | /// 62 | /// The control that generated this event. 63 | /// The zero-based byte position within the document where text is being inserted. 64 | /// The length in bytes of the inserted text. 65 | /// A pointer to the text being inserted. 66 | public InsertCheckEventArgs(Scintilla scintilla, int bytePosition, int byteLength, IntPtr text) 67 | { 68 | this.scintilla = scintilla; 69 | this.bytePosition = bytePosition; 70 | this.byteLength = byteLength; 71 | this.textPtr = text; 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/LineEndType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Line endings types supported by lexers and allowed by a control. 10 | /// 11 | /// 12 | /// 13 | /// 14 | [Flags] 15 | public enum LineEndType 16 | { 17 | /// 18 | /// ASCII line endings. Carriage Return, Line Feed pair "\r\n" (0x0D0A); Carriage Return '\r' (0x0D); Line Feed '\n' (0x0A). 19 | /// 20 | Default = NativeMethods.SC_LINE_END_TYPE_DEFAULT, 21 | 22 | /// 23 | /// Unicode line endings. Next Line (0x0085); Line Separator (0x2028); Paragraph Separator (0x2029). 24 | /// 25 | Unicode = NativeMethods.SC_LINE_END_TYPE_UNICODE 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/ListCompletionMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Indicates how an autocompletion occurred. 10 | /// 11 | public enum ListCompletionMethod 12 | { 13 | /// 14 | /// A fillup character (see ) triggered the completion. 15 | /// The character used is indicated by the property. 16 | /// 17 | FillUp = NativeMethods.SC_AC_FILLUP, 18 | 19 | /// 20 | /// A double-click triggered the completion. 21 | /// 22 | DoubleClick = NativeMethods.SC_AC_DOUBLECLICK, 23 | 24 | /// 25 | /// A tab key or the command triggered the completion. 26 | /// 27 | Tab = NativeMethods.SC_AC_TAB, 28 | 29 | /// 30 | /// A new line or command triggered the completion. 31 | /// 32 | NewLine = NativeMethods.SC_AC_NEWLINE, 33 | 34 | /// 35 | /// The method triggered the completion. 36 | /// 37 | Command = NativeMethods.SC_AC_COMMAND 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarginClickEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Provides data for the event. 11 | /// 12 | public class MarginClickEventArgs : EventArgs 13 | { 14 | private readonly Scintilla scintilla; 15 | private readonly int bytePosition; 16 | private int? position; 17 | 18 | /// 19 | /// Gets the margin clicked. 20 | /// 21 | /// The zero-based index of the clicked margin. 22 | public int Margin { get; private set; } 23 | 24 | /// 25 | /// Gets the modifier keys (SHIFT, CTRL, ALT) held down when the margin was clicked. 26 | /// 27 | /// A bitwise combination of the Keys enumeration indicating the modifier keys. 28 | public Keys Modifiers { get; private set; } 29 | 30 | /// 31 | /// Gets the zero-based document position where the line ajacent to the clicked margin starts. 32 | /// 33 | /// The zero-based character position within the document of the start of the line adjacent to the margin clicked. 34 | public int Position 35 | { 36 | get 37 | { 38 | if (position == null) 39 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 40 | 41 | return (int)position; 42 | } 43 | } 44 | 45 | /// 46 | /// Initializes a new instance of the class. 47 | /// 48 | /// The control that generated this event. 49 | /// The modifier keys that where held down at the time of the margin click. 50 | /// The zero-based byte position within the document where the line adjacent to the clicked margin starts. 51 | /// The zero-based index of the clicked margin. 52 | public MarginClickEventArgs(Scintilla scintilla, Keys modifiers, int bytePosition, int margin) 53 | { 54 | this.scintilla = scintilla; 55 | this.bytePosition = bytePosition; 56 | Modifiers = modifiers; 57 | Margin = margin; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarginCursor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The display of a cursor when over a margin. 10 | /// 11 | public enum MarginCursor 12 | { 13 | /// 14 | /// A normal arrow. 15 | /// 16 | Arrow = NativeMethods.SC_CURSORARROW, 17 | 18 | /// 19 | /// A reversed arrow. 20 | /// 21 | ReverseArrow = NativeMethods.SC_CURSORREVERSEARROW 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarginOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Flags used to define margin options. 10 | /// 11 | /// This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. 12 | [Flags] 13 | public enum MarginOptions 14 | { 15 | /// 16 | /// No options. This is the default. 17 | /// 18 | None = NativeMethods.SC_MARGINOPTION_NONE, 19 | 20 | /// 21 | /// Lines selected by clicking on the margin will select only the subline of wrapped text. 22 | /// 23 | SublineSelect = NativeMethods.SC_MARGINOPTION_SUBLINESELECT 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarginType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The behavior and appearance of a margin. 10 | /// 11 | public enum MarginType 12 | { 13 | /// 14 | /// Margin can display symbols. 15 | /// 16 | Symbol = NativeMethods.SC_MARGIN_SYMBOL, 17 | 18 | /// 19 | /// Margin displays line numbers. 20 | /// 21 | Number = NativeMethods.SC_MARGIN_NUMBER, 22 | 23 | /// 24 | /// Margin can display symbols and has a background color equivalent to background color. 25 | /// 26 | BackColor = NativeMethods.SC_MARGIN_BACK, 27 | 28 | /// 29 | /// Margin can display symbols and has a background color equivalent to foreground color. 30 | /// 31 | ForeColor = NativeMethods.SC_MARGIN_FORE, 32 | 33 | /// 34 | /// Margin can display application defined text. 35 | /// 36 | Text = NativeMethods.SC_MARGIN_TEXT, 37 | 38 | /// 39 | /// Margin can display application defined text right-justified. 40 | /// 41 | RightText = NativeMethods.SC_MARGIN_RTEXT, 42 | 43 | /// 44 | /// Margin can display symbols and has a background color specified using the property. 45 | /// 46 | Color = NativeMethods.SC_MARGIN_COLOUR 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarkerCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// An immutable collection of markers in a control. 11 | /// 12 | public class MarkerCollection : IEnumerable 13 | { 14 | private readonly Scintilla scintilla; 15 | 16 | /// 17 | /// Provides an enumerator that iterates through the collection. 18 | /// 19 | /// An object for enumerating all objects within the . 20 | public IEnumerator GetEnumerator() 21 | { 22 | int count = Count; 23 | for (int i = 0; i < count; i++) 24 | yield return this[i]; 25 | 26 | yield break; 27 | } 28 | 29 | IEnumerator IEnumerable.GetEnumerator() 30 | { 31 | return this.GetEnumerator(); 32 | } 33 | 34 | /// 35 | /// Gets the number of markers in the . 36 | /// 37 | /// This property always returns 32. 38 | public int Count 39 | { 40 | get 41 | { 42 | return (NativeMethods.MARKER_MAX + 1); 43 | } 44 | } 45 | 46 | /// 47 | /// Gets a object at the specified index. 48 | /// 49 | /// The marker index. 50 | /// An object representing the marker at the specified . 51 | /// Markers 25 through 31 are used by Scintilla for folding. 52 | public Marker this[int index] 53 | { 54 | get 55 | { 56 | index = Helpers.Clamp(index, 0, Count - 1); 57 | return new Marker(scintilla, index); 58 | } 59 | } 60 | 61 | /// 62 | /// Initializes a new instance of the class. 63 | /// 64 | /// The control that created this collection. 65 | public MarkerCollection(Scintilla scintilla) 66 | { 67 | this.scintilla = scintilla; 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MarkerHandle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// A handle. 10 | /// 11 | /// 12 | /// This is an opaque type, meaning it can be used by a control but 13 | /// otherwise has no public members of its own. 14 | /// 15 | public struct MarkerHandle 16 | { 17 | internal IntPtr Value; 18 | 19 | /// 20 | /// A read-only field that represents an uninitialized handle. 21 | /// 22 | public static readonly MarkerHandle Zero; 23 | 24 | /// 25 | /// Returns a value indicating whether this instance is equal to a specified object. 26 | /// 27 | /// An object to compare with this instance or null. 28 | /// true if is an instance of and equals the value of this instance; otherwise, false. 29 | public override bool Equals(object obj) 30 | { 31 | return (obj is IntPtr) && Value == ((MarkerHandle)obj).Value; 32 | } 33 | 34 | /// 35 | /// Returns the hash code for this instance. 36 | /// 37 | /// A 32-bit signed integer hash code. 38 | public override int GetHashCode() 39 | { 40 | return Value.GetHashCode(); 41 | } 42 | 43 | /// 44 | /// Determines whether two specified instances of are equal. 45 | /// 46 | /// The first handle to compare. 47 | /// The second handle to compare. 48 | /// true if equals ; otherwise, false. 49 | public static bool operator ==(MarkerHandle a, MarkerHandle b) 50 | { 51 | return a.Value == b.Value; 52 | } 53 | 54 | /// 55 | /// Determines whether two specified instances of are not equal. 56 | /// 57 | /// The first handle to compare. 58 | /// The second handle to compare. 59 | /// true if does not equal ; otherwise, false. 60 | public static bool operator !=(MarkerHandle a, MarkerHandle b) 61 | { 62 | return a.Value != b.Value; 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/ModificationEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the and events. 10 | /// 11 | public class ModificationEventArgs : BeforeModificationEventArgs 12 | { 13 | private readonly Scintilla scintilla; 14 | private readonly int bytePosition; 15 | private readonly int byteLength; 16 | private readonly IntPtr textPtr; 17 | 18 | /// 19 | /// Gets the number of lines added or removed. 20 | /// 21 | /// The number of lines added to the document when text is inserted, or the number of lines removed from the document when text is deleted. 22 | /// When lines are deleted the return value will be negative. 23 | public int LinesAdded { get; private set; } 24 | 25 | /// 26 | /// Gets the text that was inserted or deleted. 27 | /// 28 | /// The text inserted or deleted from the document. 29 | public override unsafe string Text 30 | { 31 | get 32 | { 33 | if (CachedText == null) 34 | CachedText = Helpers.GetString(textPtr, byteLength, scintilla.Encoding); 35 | 36 | return CachedText; 37 | } 38 | } 39 | 40 | /// 41 | /// Initializes a new instance of the class. 42 | /// 43 | /// The control that generated this event. 44 | /// The source of the modification. 45 | /// The zero-based byte position within the document where text was modified. 46 | /// The length in bytes of the inserted or deleted text. 47 | /// >A pointer to the text inserted or deleted. 48 | /// The number of lines added or removed (delta). 49 | public ModificationEventArgs(Scintilla scintilla, ModificationSource source, int bytePosition, int byteLength, IntPtr text, int linesAdded) : base(scintilla, source, bytePosition, byteLength, text) 50 | { 51 | this.scintilla = scintilla; 52 | this.bytePosition = bytePosition; 53 | this.byteLength = byteLength; 54 | this.textPtr = text; 55 | 56 | LinesAdded = linesAdded; 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/ModificationSource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The source of a modification 10 | /// 11 | public enum ModificationSource 12 | { 13 | /// 14 | /// Modification is the result of a user operation. 15 | /// 16 | User = NativeMethods.SC_PERFORMED_USER, 17 | 18 | /// 19 | /// Modification is the result of an undo operation. 20 | /// 21 | Undo = NativeMethods.SC_PERFORMED_UNDO, 22 | 23 | /// 24 | /// Modification is the result of a redo operation. 25 | /// 26 | Redo = NativeMethods.SC_PERFORMED_REDO 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/MultiPaste.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Specifies the behavior of pasting into multiple selections. 10 | /// 11 | public enum MultiPaste 12 | { 13 | /// 14 | /// Pasting into multiple selections only pastes to the main selection. This is the default. 15 | /// 16 | Once = NativeMethods.SC_MULTIPASTE_ONCE, 17 | 18 | /// 19 | /// Pasting into multiple selections pastes into each selection. 20 | /// 21 | Each = NativeMethods.SC_MULTIPASTE_EACH 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/NeedShownEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Provides data for the event. 10 | /// 11 | public class NeedShownEventArgs : EventArgs 12 | { 13 | private readonly Scintilla scintilla; 14 | private readonly int bytePosition; 15 | private readonly int byteLength; 16 | private int? position; 17 | private int? length; 18 | 19 | /// 20 | /// Gets the length of the text that needs to be shown. 21 | /// 22 | /// The length of text starting at that needs to be shown. 23 | public int Length 24 | { 25 | get 26 | { 27 | if (length == null) 28 | { 29 | var endBytePosition = (bytePosition + byteLength); 30 | var endPosition = scintilla.Lines.ByteToCharPosition(endBytePosition); 31 | length = (endPosition - Position); 32 | } 33 | 34 | return (int)length; 35 | } 36 | } 37 | 38 | /// 39 | /// Gets the zero-based document position where text needs to be shown. 40 | /// 41 | /// The zero-based document position where the range of text to be shown starts. 42 | public int Position 43 | { 44 | get 45 | { 46 | if (position == null) 47 | position = scintilla.Lines.ByteToCharPosition(bytePosition); 48 | 49 | return (int)position; 50 | } 51 | } 52 | 53 | /// 54 | /// Initializes a new instance of the class. 55 | /// 56 | /// The control that generated this event. 57 | /// The zero-based byte position within the document where text needs to be shown. 58 | /// The length in bytes of the text that needs to be shown. 59 | public NeedShownEventArgs(Scintilla scintilla, int bytePosition, int byteLength) 60 | { 61 | this.scintilla = scintilla; 62 | this.bytePosition = bytePosition; 63 | this.byteLength = byteLength; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The sorting order for autocompletion lists. 10 | /// 11 | public enum Order 12 | { 13 | /// 14 | /// Requires that an autocompletion lists be sorted in alphabetical order. This is the default. 15 | /// 16 | Presorted = NativeMethods.SC_ORDER_PRESORTED, 17 | 18 | /// 19 | /// Instructs a control to perform an alphabetical sort of autocompletion lists. 20 | /// 21 | PerformSort = NativeMethods.SC_ORDER_PERFORMSORT, 22 | 23 | /// 24 | /// User-defined order. 25 | /// 26 | Custom = NativeMethods.SC_ORDER_CUSTOM 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Phases.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The number of phases used when drawing. 10 | /// 11 | public enum Phases 12 | { 13 | /// 14 | /// Drawing is done in a single phase. This is the fastest but provides no support for kerning. 15 | /// 16 | One = NativeMethods.SC_PHASES_ONE, 17 | 18 | /// 19 | /// Drawing is done in two phases; the background first and then the text. This is the default. 20 | /// 21 | Two = NativeMethods.SC_PHASES_TWO, 22 | 23 | /// 24 | /// Drawing is done in multiple phases; once for each feature. This is the slowest but allows 25 | /// extreme ascenders and descenders to overflow into adjacent lines. 26 | /// 27 | Multiple = NativeMethods.SC_PHASES_MULTIPLE 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/PopupMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Behavior of the standard edit control context menu. 10 | /// 11 | /// 12 | public enum PopupMode 13 | { 14 | /// 15 | /// Never show the default editing menu. 16 | /// 17 | Never = NativeMethods.SC_POPUP_NEVER, 18 | 19 | /// 20 | /// Show default editing menu if clicking on the control. 21 | /// 22 | All = NativeMethods.SC_POPUP_ALL, 23 | 24 | /// 25 | /// Show default editing menu only if clicking on text area. 26 | /// 27 | /// To receive the event, this value must be used. 28 | /// 29 | Text = NativeMethods.SC_POPUP_TEXT 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/PropertyType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Lexer property types. 10 | /// 11 | public enum PropertyType 12 | { 13 | /// 14 | /// A Boolean property. This is the default. 15 | /// 16 | Boolean = NativeMethods.SC_TYPE_BOOLEAN, 17 | 18 | /// 19 | /// An integer property. 20 | /// 21 | Integer = NativeMethods.SC_TYPE_INTEGER, 22 | 23 | /// 24 | /// A string property. 25 | /// 26 | String = NativeMethods.SC_TYPE_STRING 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/SCNotificationEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | // For internal use only 9 | internal sealed class SCNotificationEventArgs : EventArgs 10 | { 11 | public NativeMethods.SCNotification SCNotification { get; private set; } 12 | 13 | public SCNotificationEventArgs(NativeMethods.SCNotification scn) 14 | { 15 | this.SCNotification = scn; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/SearchFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// Specifies the how patterns are matched when performing a search in a control. 11 | /// 12 | /// This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. 13 | [Flags] 14 | public enum SearchFlags 15 | { 16 | /// 17 | /// Matches every instance of the search string. 18 | /// 19 | None = 0, 20 | 21 | /// 22 | /// A match only occurs with text that matches the case of the search string. 23 | /// 24 | MatchCase = NativeMethods.SCFIND_MATCHCASE, 25 | 26 | /// 27 | /// A match only occurs if the characters before and after are not word characters. 28 | /// 29 | WholeWord = NativeMethods.SCFIND_WHOLEWORD, 30 | 31 | /// 32 | /// A match only occurs if the character before is not a word character. 33 | /// 34 | WordStart = NativeMethods.SCFIND_WORDSTART, 35 | 36 | /// 37 | /// The search string should be interpreted as a regular expression. 38 | /// Regular expressions will only match ranges within a single line, never matching over multiple lines. 39 | /// 40 | Regex = NativeMethods.SCFIND_REGEXP, 41 | 42 | /// 43 | /// Treat regular expression in a more POSIX compatible manner by interpreting bare '(' and ')' for tagged sections rather than "\(" and "\)". 44 | /// 45 | Posix = NativeMethods.SCFIND_POSIX, 46 | 47 | /// 48 | /// The search string should be interpreted as a regular expression and use the C++11 <regex> standard library engine. 49 | /// The property can queried to determine if the regular expression is invalid. 50 | /// The ECMAScript flag is set on the regex object and documents will exhibit Unicode-compliant behaviour. 51 | /// Regular expressions will only match ranges within a single line, never matching over multiple lines. 52 | /// 53 | Cxx11Regex = NativeMethods.SCFIND_CXX11REGEX 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/SelectionCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// A multiple selection collection. 11 | /// 12 | public class SelectionCollection : IEnumerable 13 | { 14 | private readonly Scintilla scintilla; 15 | 16 | /// 17 | /// Provides an enumerator that iterates through the collection. 18 | /// 19 | /// An object that contains all objects within the . 20 | public IEnumerator GetEnumerator() 21 | { 22 | int count = Count; 23 | for (int i = 0; i < count; i++) 24 | yield return this[i]; 25 | 26 | yield break; 27 | } 28 | 29 | IEnumerator IEnumerable.GetEnumerator() 30 | { 31 | return this.GetEnumerator(); 32 | } 33 | 34 | /// 35 | /// Gets the number of active selections. 36 | /// 37 | /// The number of selections in the . 38 | public int Count 39 | { 40 | get 41 | { 42 | return scintilla.DirectMessage(NativeMethods.SCI_GETSELECTIONS).ToInt32(); 43 | } 44 | } 45 | 46 | /// 47 | /// Gets a value indicating whether all selection ranges are empty. 48 | /// 49 | /// true if all selection ranges are empty; otherwise, false. 50 | public bool IsEmpty 51 | { 52 | get 53 | { 54 | return scintilla.DirectMessage(NativeMethods.SCI_GETSELECTIONEMPTY) != IntPtr.Zero; 55 | } 56 | } 57 | 58 | /// 59 | /// Gets the at the specified zero-based index. 60 | /// 61 | /// The zero-based index of the to get. 62 | /// The at the specified index. 63 | public Selection this[int index] 64 | { 65 | get 66 | { 67 | index = Helpers.Clamp(index, 0, Count - 1); 68 | return new Selection(scintilla, index); 69 | } 70 | } 71 | 72 | /// 73 | /// Initializes a new instance of the class. 74 | /// 75 | /// 76 | public SelectionCollection(Scintilla scintilla) 77 | { 78 | this.scintilla = scintilla; 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/Status.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// Possible status codes returned by the property. 10 | /// 11 | public enum Status 12 | { 13 | /// 14 | /// No failures. 15 | /// 16 | Ok = NativeMethods.SC_STATUS_OK, 17 | 18 | /// 19 | /// Generic failure. 20 | /// 21 | Failure = NativeMethods.SC_STATUS_FAILURE, 22 | 23 | /// 24 | /// Memory is exhausted. 25 | /// 26 | BadAlloc = NativeMethods.SC_STATUS_BADALLOC, 27 | 28 | /// 29 | /// Regular expression is invalid. 30 | /// 31 | WarnRegex = NativeMethods.SC_STATUS_WARN_REGEX 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/StyleCase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ScintillaNET 7 | { 8 | /// 9 | /// The possible casing styles of a style. 10 | /// 11 | public enum StyleCase 12 | { 13 | /// 14 | /// Display the text normally. 15 | /// 16 | Mixed = NativeMethods.SC_CASE_MIXED, 17 | 18 | /// 19 | /// Display the text in upper case. 20 | /// 21 | Upper = NativeMethods.SC_CASE_UPPER, 22 | 23 | /// 24 | /// Display the text in lower case. 25 | /// 26 | Lower = NativeMethods.SC_CASE_LOWER, 27 | 28 | /// 29 | /// Display the text in camel case. 30 | /// 31 | Camel = NativeMethods.SC_CASE_CAMEL 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /RSDK Script Editor/ScintillaNET/StyleCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace ScintillaNET 8 | { 9 | /// 10 | /// An immutable collection of style definitions in a control. 11 | /// 12 | public class StyleCollection : IEnumerable