├── Application
├── Application.csproj
├── Lang
│ ├── ResGen.exe
│ ├── resource.fr-FR.resx
│ └── resource.resx
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ ├── Settings.cs
│ └── Settings.settings
├── Resources
│ ├── 14_layer_deletelayer.png
│ ├── 420__Pixel_Art__Icons_for_RPG_by_Ails.png
│ ├── Copy.bmp
│ ├── Copy.png
│ ├── CreateWall.png
│ ├── Cut.png
│ ├── Delete_.png
│ ├── EditTable.bmp
│ ├── Edit_UndoHS.bmp
│ ├── Find.bmp
│ ├── LoadWarning.rtf
│ ├── Open.bmp
│ ├── Open.png
│ ├── Paste.bmp
│ ├── Paste.png
│ ├── Python.xshd
│ ├── PythonConsole16x16.png
│ ├── PythonConsole32x32.png
│ ├── PythonScript16x16.png
│ ├── PythonScript32x32.png
│ ├── Redo.png
│ ├── Revert.png
│ ├── RolledBack.bmp
│ ├── Run.png
│ ├── Save.bmp
│ ├── Save.png
│ ├── Undo.png
│ ├── WordWrap.png
│ ├── agt_back.png
│ ├── agt_forward.png
│ ├── agt_stop.png
│ ├── bookmark_add.png
│ ├── cancel.png
│ ├── checkedbox.png
│ ├── checkedbox1.png
│ ├── clear-filter.png
│ ├── configure_toolbars.png
│ ├── cut-2.bmp
│ ├── delete.png
│ ├── deletecell.png
│ ├── down.png
│ ├── edit_add.png
│ ├── edit_remove.png
│ ├── editclear.png
│ ├── emptybox.png
│ ├── fileexport.png
│ ├── filter-icons3.png
│ ├── filter.png
│ ├── find.png
│ ├── insertcell.png
│ ├── insertcell1.png
│ ├── ipy.ico
│ ├── move_task_down.png
│ ├── move_task_up.png
│ ├── next.png
│ ├── py.ico
│ ├── pycon.ico
│ ├── quick_restart.png
│ ├── reload_all_tabs.png
│ ├── search.png
│ ├── sort-ascending.png
│ ├── sort-descending.png
│ ├── special_paste.png
│ ├── tesv_ico.ico
│ ├── up.png
│ ├── warning.ico
│ └── xdays.png
├── TranslateUI
│ ├── Localization.cs
│ ├── Tools
│ │ ├── ResEx
│ │ │ ├── Extended.Common.dll
│ │ │ ├── ResEx.chm
│ │ │ ├── ResEx.exe
│ │ │ ├── ResEx.exe.config
│ │ │ ├── ResExSetup1.2.exe
│ │ │ └── ResExSetup1.5Beta.exe
│ │ └── xmlDbEditor
│ │ │ ├── xmlDbEditor.exe
│ │ │ └── xmlDbEditor.pdb
│ └── TranslateUIGlobalization.cs
├── UI
│ ├── Controls
│ │ └── CustomTreeView.cs
│ ├── Docking
│ │ ├── BaseDockContent.Designer.cs
│ │ ├── BaseDockContent.cs
│ │ ├── BaseDockContent.resx
│ │ ├── FullRecordEditor.Designer.cs
│ │ ├── FullRecordEditor.cs
│ │ ├── FullRecordEditor.resx
│ │ ├── HtmlContent.Designer.cs
│ │ ├── HtmlContent.cs
│ │ ├── HtmlContent.resx
│ │ ├── InterpreterConsole.Designer.cs
│ │ ├── InterpreterConsole.cs
│ │ ├── InterpreterConsole.resx
│ │ ├── OutputTextContent.Designer.cs
│ │ ├── OutputTextContent.cs
│ │ ├── OutputTextContent.resx
│ │ ├── PluginTreeContent.Designer.cs
│ │ ├── PluginTreeContent.cs
│ │ ├── PluginTreeContent.resx
│ │ ├── RecordSearchForm.Designer.cs
│ │ ├── RecordSearchForm.cs
│ │ ├── RecordSearchForm.resx
│ │ ├── RichTextContent.Designer.cs
│ │ ├── RichTextContent.cs
│ │ ├── RichTextContent.resx
│ │ ├── SubrecordListContent.Designer.cs
│ │ ├── SubrecordListContent.cs
│ │ └── SubrecordListContent.resx
│ ├── Forms
│ │ ├── AddMasterForm.cs
│ │ ├── AddMasterForm.designer.cs
│ │ ├── AddMasterForm.resx
│ │ ├── BatchEditRecords.Designer.cs
│ │ ├── BatchEditRecords.cs
│ │ ├── BatchEditRecords.resx
│ │ ├── CompressSettings.Designer.cs
│ │ ├── CompressSettings.cs
│ │ ├── CompressSettings.resx
│ │ ├── DataEdit.cs
│ │ ├── DataEdit.designer.cs
│ │ ├── DataEdit.resx
│ │ ├── GroupEditor.cs
│ │ ├── GroupEditor.designer.cs
│ │ ├── GroupEditor.resx
│ │ ├── HeaderEditor.cs
│ │ ├── HeaderEditor.designer.cs
│ │ ├── HeaderEditor.resx
│ │ ├── HexDataEdit.cs
│ │ ├── HexDataEdit.designer.cs
│ │ ├── HexDataEdit.resx
│ │ ├── InputBox.Designer.cs
│ │ ├── InputBox.cs
│ │ ├── InputBox.resx
│ │ ├── LoadSettings.Designer.cs
│ │ ├── LoadSettings.cs
│ │ ├── LoadSettings.resx
│ │ ├── MainView.Search.cs
│ │ ├── MainView.Spells.cs
│ │ ├── MainView.cs
│ │ ├── MainView.designer.cs
│ │ ├── MainView.resx
│ │ ├── MediumLevelRecordEditor.cs
│ │ ├── MediumLevelRecordEditor.designer.cs
│ │ ├── MediumLevelRecordEditor.resx
│ │ ├── MultilineStringEditor.Designer.cs
│ │ ├── MultilineStringEditor.cs
│ │ ├── MultilineStringEditor.resx
│ │ ├── NewMediumLevelRecordEditor.cs
│ │ ├── NewMediumLevelRecordEditor.designer.cs
│ │ ├── NewMediumLevelRecordEditor.resx
│ │ ├── RecordColumnSelect.Designer.cs
│ │ ├── RecordColumnSelect.cs
│ │ ├── RecordColumnSelect.resx
│ │ ├── SearchFilterAdvanced.Designer.cs
│ │ ├── SearchFilterAdvanced.cs
│ │ ├── SearchFilterAdvanced.resx
│ │ ├── SearchFilterBasic.Designer.cs
│ │ ├── SearchFilterBasic.cs
│ │ ├── SearchFilterBasic.resx
│ │ ├── SearchForm.cs
│ │ ├── SearchForm.designer.cs
│ │ ├── SearchForm.resx
│ │ ├── StringsEditor.Designer.cs
│ │ ├── StringsEditor.cs
│ │ └── StringsEditor.resx
│ ├── Hosting
│ │ ├── ConsoleOptions.cs
│ │ ├── IronPythonConsole.xaml
│ │ ├── IronPythonConsole.xaml.cs
│ │ └── ScriptSupport.cs
│ ├── MruStripMenu.cs
│ ├── ObjectControls
│ │ ├── PluginTreeView.Designer.cs
│ │ ├── PluginTreeView.cs
│ │ ├── PluginTreeView.resx
│ │ ├── RecordEditor.Designer.cs
│ │ ├── RecordEditor.cs
│ │ ├── RecordEditor.resx
│ │ ├── RecordSearch.Designer.cs
│ │ ├── RecordSearch.cs
│ │ ├── RecordSearch.resx
│ │ ├── SubrecordEditor.Designer.cs
│ │ ├── SubrecordEditor.cs
│ │ ├── SubrecordEditor.resx
│ │ ├── SubrecordListEditor.Designer.cs
│ │ ├── SubrecordListEditor.cs
│ │ └── SubrecordListEditor.resx
│ ├── RecordBuilder.cs
│ ├── RecordControls
│ │ ├── BaseElement.Designer.cs
│ │ ├── BaseElement.cs
│ │ ├── BaseElement.resx
│ │ ├── FlagsElement.Designer.cs
│ │ ├── FlagsElement.cs
│ │ ├── FlagsElement.resx
│ │ ├── FormIDElement.Designer.cs
│ │ ├── FormIDElement.cs
│ │ ├── FormIDElement.resx
│ │ ├── HexElement.Designer.cs
│ │ ├── HexElement.cs
│ │ ├── HexElement.resx
│ │ ├── IElementControl.cs
│ │ ├── IGroupedElementControl.cs
│ │ ├── IOuterElementControl.cs
│ │ ├── ITextElementControl.cs
│ │ ├── LStringElement.Designer.cs
│ │ ├── LStringElement.cs
│ │ ├── LStringElement.resx
│ │ ├── OptionalElement.Designer.cs
│ │ ├── OptionalElement.cs
│ │ ├── OptionalElement.resx
│ │ ├── OptionsElement.Designer.cs
│ │ ├── OptionsElement.cs
│ │ ├── OptionsElement.resx
│ │ ├── RepeatingElement.Designer.cs
│ │ ├── RepeatingElement.cs
│ │ ├── RepeatingElement.resx
│ │ ├── TextElement.Designer.cs
│ │ ├── TextElement.cs
│ │ └── TextElement.resx
│ ├── Rendering
│ │ ├── HtmlRenderer.cs
│ │ ├── RTFRenderer.cs
│ │ └── StringRenderer.cs
│ ├── SelectionContext.cs
│ ├── Services
│ │ ├── Options.cs
│ │ ├── PluginBase.cs
│ │ ├── PluginEngine.cs
│ │ ├── PluginStore.cs
│ │ ├── Scripting.cs
│ │ └── Settings.cs
│ └── Spells.cs
├── Vendor
│ ├── Controls
│ │ ├── CheckedComboBox.cs
│ │ ├── CustomComboBox.cs
│ │ ├── CustomComboBox.resx
│ │ ├── FlagComboBox.Designer.cs
│ │ ├── FlagComboBox.cs
│ │ ├── History.cs
│ │ ├── OldNewEvent.cs
│ │ ├── PopupControl.cs
│ │ ├── RichTextBoxEx.cs
│ │ ├── ballontooltip.cs
│ │ ├── ballontooltip.resx
│ │ ├── bindinglistview.cs
│ │ ├── bindinglistview.resx
│ │ ├── nativemethods.cs
│ │ ├── objectbindinglistview.cs
│ │ ├── objectbindinglistview.resx
│ │ ├── virtuallistview.cs
│ │ └── virtuallistview.resx
│ ├── HexBox
│ │ ├── ByteCollection.cs
│ │ ├── DataBlock.cs
│ │ ├── DataMap.cs
│ │ ├── Design
│ │ │ └── HexFontEditor.cs
│ │ ├── DynamicByteProvider.cs
│ │ ├── FileByteProvider.cs
│ │ ├── HexBox.cs
│ │ ├── IByteProvider.cs
│ │ └── NativeMethods.cs
│ ├── ObjectListView
│ │ ├── CellEditing
│ │ │ ├── CellEditKeyEngine.cs
│ │ │ ├── CellEditors.cs
│ │ │ └── EditorRegistry.cs
│ │ ├── CustomDictionary.xml
│ │ ├── DataListView.cs
│ │ ├── DataTreeListView.cs
│ │ ├── DragDrop
│ │ │ ├── DragSource.cs
│ │ │ ├── DropSink.cs
│ │ │ └── OLVDataObject.cs
│ │ ├── FastDataListView.cs
│ │ ├── FastObjectListView.cs
│ │ ├── Filtering
│ │ │ ├── Cluster.cs
│ │ │ ├── ClusteringStrategy.cs
│ │ │ ├── ClustersFromGroupsStrategy.cs
│ │ │ ├── DateTimeClusteringStrategy.cs
│ │ │ ├── FilterMenuBuilder.cs
│ │ │ ├── Filters.cs
│ │ │ ├── FlagClusteringStrategy.cs
│ │ │ ├── ICluster.cs
│ │ │ ├── IClusteringStrategy.cs
│ │ │ └── TextMatchFilter.cs
│ │ ├── FullClassDiagram.cd
│ │ ├── Implementation
│ │ │ ├── Attributes.cs
│ │ │ ├── Comparers.cs
│ │ │ ├── DataSourceAdapter.cs
│ │ │ ├── Delegates.cs
│ │ │ ├── Enums.cs
│ │ │ ├── Events.cs
│ │ │ ├── GroupingParameters.cs
│ │ │ ├── Groups.cs
│ │ │ ├── Munger.cs
│ │ │ ├── NativeMethods.cs
│ │ │ ├── NullableDictionary.cs
│ │ │ ├── OLVListItem.cs
│ │ │ ├── OLVListSubItem.cs
│ │ │ ├── OlvListViewHitTestInfo.cs
│ │ │ ├── TreeDataSourceAdapter.cs
│ │ │ ├── VirtualGroups.cs
│ │ │ └── VirtualListDataSource.cs
│ │ ├── OLVColumn.cs
│ │ ├── ObjectListView.DesignTime.cs
│ │ ├── ObjectListView.FxCop
│ │ ├── ObjectListView.cs
│ │ ├── ObjectListView.cs.bak
│ │ ├── ObjectListView.shfb
│ │ ├── ObjectListView2005.csproj
│ │ ├── ObjectListView2008.csproj
│ │ ├── ObjectListView2010.csproj
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Rendering
│ │ │ ├── Adornments.cs
│ │ │ ├── Decorations.cs
│ │ │ ├── Overlays.cs
│ │ │ ├── Renderers.cs
│ │ │ ├── Styles.cs
│ │ │ └── TreeRenderer.cs
│ │ ├── Resources
│ │ │ ├── clear-filter.png
│ │ │ ├── clear-filter1.png
│ │ │ ├── coffee.jpg
│ │ │ ├── filter-icons3.png
│ │ │ ├── filter-icons31.png
│ │ │ ├── filter.png
│ │ │ ├── filter1.png
│ │ │ ├── sort-ascending.png
│ │ │ ├── sort-ascending1.png
│ │ │ ├── sort-descending.png
│ │ │ └── sort-descending1.png
│ │ ├── SubControls
│ │ │ ├── GlassPanelForm.cs
│ │ │ ├── HeaderControl.cs
│ │ │ ├── ToolStripCheckedListBox.cs
│ │ │ └── ToolTipControl.cs
│ │ ├── TreeListView.cs
│ │ ├── Utilities
│ │ │ ├── ColumnSelectionForm.Designer.cs
│ │ │ ├── ColumnSelectionForm.cs
│ │ │ ├── ColumnSelectionForm.resx
│ │ │ ├── Generator.cs
│ │ │ ├── OLVExporter.cs
│ │ │ └── TypedObjectListView.cs
│ │ ├── VirtualObjectListView.cs
│ │ └── olv-keyfile.snk
│ └── RTFLib
│ │ ├── GDF
│ │ ├── GDFBuilder.UnWrapped.cs
│ │ ├── GDFBuilder.cs
│ │ ├── GDFCell.cs
│ │ ├── GDFDisplayBox.cs
│ │ ├── GDFDisplayBox.designer.cs
│ │ ├── GDFDisplayBox.resx
│ │ ├── GDFPage.cs
│ │ ├── GDFPageManager.cs
│ │ ├── GDFRow.cs
│ │ └── Tokenizer
│ │ │ └── RTFBuilderParser.cs
│ │ └── RTF
│ │ ├── IRTFCell.cs
│ │ ├── IRTFRow.cs
│ │ ├── IRtfProcessor.cs
│ │ ├── RTFAlignment.cs
│ │ ├── RTFBorderSide.cs
│ │ ├── RTFBuilder.RTFFonts.cs
│ │ ├── RTFBuilder.RTFFormatWrap.cs
│ │ ├── RTFBuilder.RTFParaWrap.cs
│ │ ├── RTFBuilder.UnWrapped.cs
│ │ ├── RTFBuilder.cs
│ │ ├── RTFBuilderbase.cs
│ │ ├── RTFCell.cs
│ │ ├── RTFCellDefinition.cs
│ │ ├── RTFCellDefinitionBuilder.cs
│ │ ├── RTFFont.cs
│ │ ├── RTFImage.cs
│ │ ├── RTFRow.cs
│ │ ├── RTFRowDefinition.cs
│ │ └── RTFUtil.cs
└── app.config
├── Domain
├── Data
│ ├── DomainDefinition.cs
│ ├── RecordStructure.xsc
│ ├── RecordStructure.xsd
│ ├── RecordStructure.xss
│ ├── Strings
│ │ ├── LocalizedString.cs
│ │ ├── LocalizedStringDict.cs
│ │ ├── LocalizedStringFormat.cs
│ │ └── LocalizedStrings.cs
│ └── Structure
│ │ ├── CondType.cs
│ │ ├── Conditional.cs
│ │ ├── ElementBase.cs
│ │ ├── ElementGroup.cs
│ │ ├── ElementStructure.cs
│ │ ├── ElementValueType.cs
│ │ ├── RecordStructure.cs
│ │ ├── SubrecordBase.cs
│ │ ├── SubrecordGroup.cs
│ │ ├── SubrecordStructure.cs
│ │ └── Xml
│ │ ├── ElementBase.cs
│ │ ├── ElementGroup.cs
│ │ ├── Group.cs
│ │ ├── RecordXmlException.cs
│ │ ├── Records.cs
│ │ ├── RecordsRecord.cs
│ │ ├── Subrecord.cs
│ │ └── SubrecordElement.cs
├── Domain.csproj
├── Model
│ ├── BaseRecord.cs
│ ├── BatchCondElementType.cs
│ ├── BatchCondRecordType.cs
│ ├── BatchCriteria.cs
│ ├── BatchCriteriaSettings.cs
│ ├── BatchElement.cs
│ ├── BatchSubrecord.cs
│ ├── ColumnCriteria.cs
│ ├── ColumnElement.cs
│ ├── ColumnSettings.cs
│ ├── ColumnSubrecord.cs
│ ├── Delegates.cs
│ ├── Element.cs
│ ├── ElementAssignmentType.cs
│ ├── FlagDefs.cs
│ ├── GroupRecord.cs
│ ├── IGroupRecord.cs
│ ├── IRecord.cs
│ ├── ISelectionContext.cs
│ ├── Plugin.cs
│ ├── PluginList.cs
│ ├── Rec.cs
│ ├── Record.cs
│ ├── RecordChangeEventArgs.cs
│ ├── SearchCondElementType.cs
│ ├── SearchCondRecordType.cs
│ ├── SearchCriteria.cs
│ ├── SearchCriteriaList.cs
│ ├── SearchCriteriaSettings.cs
│ ├── SearchCriteriaXmlSettings.cs
│ ├── SearchElement.cs
│ ├── SearchElementXml.cs
│ ├── SearchSubrecord.cs
│ ├── SearchSubrecordXml.cs
│ ├── SubRecord.cs
│ └── TESParserException.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Rendering
│ └── IRenderer.cs
├── Scripts
│ ├── Keywords.cs
│ ├── PyInterpreter.cs
│ ├── ScriptCompiler.cs
│ ├── Token.cs
│ ├── TokenStream.cs
│ └── TokenType.cs
├── Services
│ ├── Alerts.cs
│ ├── CloneTool.cs
│ ├── Compressor.cs
│ ├── Folders.cs
│ ├── RecordLayout.cs
│ ├── RecordsTrace.cs
│ ├── SaveReadStream.cs
│ └── Spells.cs
├── Settings.cs
└── app.config
├── Framework
├── Collections
│ ├── AdvancedList.cs
│ ├── PropertyComparer.cs
│ ├── PropertyComparerCollection.cs
│ ├── ValueComparer.cs
│ └── ordereddictionary.cs
├── EnumerableExtensions.cs
├── Extensions.cs
├── Framework.csproj
├── ICloneable.cs
├── IO
│ └── inifile.cs
├── Pair.cs
├── Persistence
│ ├── IPostSerializationCallback.cs
│ ├── PersistContext.cs
│ ├── PersistContextStates.cs
│ ├── PersistObject.cs
│ ├── PersistSurrogate.cs
│ ├── PersistType.cs
│ ├── PersistableAttribute.cs
│ ├── SerializationInfoCache.cs
│ ├── persistassist.cs
│ └── serializationinfocachelist.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Services
│ ├── Encoding.cs
│ ├── FontLangInfo.cs
│ ├── Platform.cs
│ └── PluginStore.cs
├── TypeConverter.cs
└── app.config
├── Platform
├── x64
│ ├── ZLibMC.dll
│ └── zlib1.dll
└── x86
│ ├── ZLibMC.dll
│ └── zlib1.dll
├── README.md
├── TESVsnip_LICENSE
├── TESVsnip_README.TXT
├── Vendor
├── IronPython-2.7.4
│ ├── IronPython.Modules.dll
│ ├── IronPython.Modules.xml
│ ├── IronPython.dll
│ ├── IronPython.xml
│ ├── License.StdLib.txt
│ ├── License.html
│ ├── License.rtf
│ ├── License.txt
│ ├── Microsoft.Dynamic.dll
│ ├── Microsoft.Dynamic.xml
│ ├── Microsoft.Scripting.Metadata.dll
│ ├── Microsoft.Scripting.Metadata.xml
│ ├── Microsoft.Scripting.dll
│ ├── Microsoft.Scripting.xml
│ └── Readme.html
├── ZLibMC
│ ├── AssemblyInfo.cpp
│ ├── ReadMe.txt
│ ├── Stdafx.cpp
│ ├── Stdafx.h
│ ├── ZLibMC.cpp
│ ├── ZLibMC.h
│ ├── ZLibMC.vcxproj
│ ├── ZLibMC.vcxproj.filters
│ ├── app.ico
│ ├── app.rc
│ └── resource.h
└── zlib-1.2.8
│ ├── CMakeLists.txt
│ ├── ChangeLog
│ ├── FAQ
│ ├── INDEX
│ ├── Makefile
│ ├── Makefile.in
│ ├── README
│ ├── adler32.c
│ ├── compress.c
│ ├── configure
│ ├── contrib
│ ├── README.contrib
│ ├── amd64
│ │ └── amd64-match.S
│ ├── infback9
│ │ ├── README
│ │ ├── infback9.c
│ │ ├── infback9.h
│ │ ├── inffix9.h
│ │ ├── inflate9.h
│ │ ├── inftree9.c
│ │ └── inftree9.h
│ ├── inflate86
│ │ ├── inffas86.c
│ │ └── inffast.S
│ ├── masmx64
│ │ ├── bld_ml64.bat
│ │ ├── gvmat64.asm
│ │ ├── inffas8664.c
│ │ ├── inffasx64.asm
│ │ └── readme.txt
│ └── masmx86
│ │ ├── bld_ml32.bat
│ │ ├── inffas32.asm
│ │ ├── match686.asm
│ │ └── readme.txt
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── doc
│ ├── algorithm.txt
│ ├── rfc1950.txt
│ ├── rfc1951.txt
│ ├── rfc1952.txt
│ └── txtvsbin.txt
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── treebuild.xml
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── win32
│ ├── DLL_FAQ.txt
│ ├── Makefile.bor
│ ├── Makefile.gcc
│ ├── Makefile.msc
│ ├── README-WIN32.txt
│ ├── VisualC.txt
│ ├── visualc9-x64
│ │ ├── README.txt
│ │ ├── zlib-x64.vcxproj
│ │ └── zlib.vcxproj.filters
│ ├── visualc9-x86
│ │ ├── README.txt
│ │ ├── zlib-x86.vcxproj
│ │ └── zlib.vcxproj.filters
│ ├── zlib.def
│ └── zlib1.rc
│ ├── zconf.h
│ ├── zconf.h.cmakein
│ ├── zconf.h.in
│ ├── zlib.3
│ ├── zlib.3.pdf
│ ├── zlib.h
│ ├── zlib.map
│ ├── zlib.pc.cmakein
│ ├── zlib.pc.in
│ ├── zlib2ansi
│ ├── zutil.c
│ └── zutil.h
├── build.bat
├── build.proj
├── build
├── assemblyinfo.cs
├── buildver.txt
├── tasks
│ └── BuildTasks
│ │ ├── BuildTasks.csproj
│ │ ├── BuildTasks.sln
│ │ ├── Main.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
├── tesvsnip.buildtasks.dll
├── tesvsnip.common.targets
└── tesvsnip.snk
├── changelog.rtf
├── conf
├── DockPanel.config
├── Domains.ini
├── Fallout3
│ └── RecordStructure.xml
├── FalloutNV
│ └── RecordStructure.xml
├── Morrowind
│ └── RecordStructure.xml
├── Oblivion
│ └── RecordStructure.xml
├── RecordStructureFormat.txt
├── ScriptFunctions.xml
├── ScriptFunctionsFormat.txt
├── Skyrim
│ └── RecordStructure.xml
└── settings.xml
├── scripts
├── lib
│ ├── HTML.py
│ ├── Licence_CeCILL_V2-en.html
│ ├── Licence_CeCILL_V2-fr.html
│ └── markup.py
├── plugins
│ ├── CopyTo.py
│ ├── ExtractNPCs.py
│ ├── ListItems.py
│ ├── ModWeight.py
│ └── shared
│ │ ├── SelectItem.py
│ │ ├── __init__.py
│ │ ├── required.py
│ │ └── util.py
├── renderer.css
├── renderer.py
└── scripts.py
├── test
├── ipy.bat
├── startup.py
├── test1.py
├── test2.py
├── test3.py
├── test4.py
├── viewhtml.bat
└── viewhtml
│ ├── DualForm.Designer.cs
│ ├── DualForm.cs
│ ├── DualForm.resx
│ ├── HtmlForm.Designer.cs
│ ├── HtmlForm.cs
│ ├── HtmlForm.resx
│ ├── IBrowser.cs
│ ├── MSHTMLView.Designer.cs
│ ├── MSHTMLView.cs
│ ├── MSHTMLView.resx
│ ├── Program.cs
│ ├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
│ ├── viewhtml.csproj
│ └── viewhtml.csproj.user
├── tesvsnip.sln
└── thirdparty
├── HtmlRenderer.dll
├── ICSharpCode.AvalonEdit.dll
├── Ionic.Zlib.dll
├── MagicLibrary.dll
├── PythonConsoleControl.dll
├── WeifenLuo.WinFormsUI.Docking.dll
└── msbuild.community.tasks.v1.3.0.528
├── MSBuild.Community.Tasks.Targets
├── MSBuild.Community.Tasks.dll
├── MSBuild.Community.Tasks.pdb
├── MSBuild.Community.Tasks.xml
└── MSBuild.Community.Tasks.xsd
/Application/Lang/ResGen.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Lang/ResGen.exe
--------------------------------------------------------------------------------
/Application/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // Setting ComVisible to false makes the types in this assembly not visible
5 | // to COM components. If you need to access a type in this assembly from
6 | // COM, set the ComVisible attribute to true on that type.
7 |
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 |
12 | [assembly: Guid("d27c32fe-f8b5-4e6e-becf-558e5d7524bb")]
13 | [assembly: AssemblyDescription("Low level plugin editor for Skyrim")]
--------------------------------------------------------------------------------
/Application/Properties/Settings.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using System.Configuration;
3 |
4 | namespace TESVSnip.Properties
5 | {
6 | // This class allows you to handle specific events on the settings class:
7 | // The SettingChanging event is raised before a setting's value is changed.
8 | // The PropertyChanged event is raised after a setting's value is changed.
9 | // The SettingsLoaded event is raised after the setting values are loaded.
10 | // The SettingsSaving event is raised before the setting values are saved.
11 | internal sealed partial class Settings
12 | {
13 | private void SettingChangingEventHandler(object sender, SettingChangingEventArgs e)
14 | {
15 | // Add code to handle the SettingChangingEvent event here.
16 | }
17 |
18 | private void SettingsSavingEventHandler(object sender, CancelEventArgs e)
19 | {
20 | // Add code to handle the SettingsSaving event here.
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Application/Resources/14_layer_deletelayer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/14_layer_deletelayer.png
--------------------------------------------------------------------------------
/Application/Resources/420__Pixel_Art__Icons_for_RPG_by_Ails.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/420__Pixel_Art__Icons_for_RPG_by_Ails.png
--------------------------------------------------------------------------------
/Application/Resources/Copy.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Copy.bmp
--------------------------------------------------------------------------------
/Application/Resources/Copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Copy.png
--------------------------------------------------------------------------------
/Application/Resources/CreateWall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/CreateWall.png
--------------------------------------------------------------------------------
/Application/Resources/Cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Cut.png
--------------------------------------------------------------------------------
/Application/Resources/Delete_.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Delete_.png
--------------------------------------------------------------------------------
/Application/Resources/EditTable.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/EditTable.bmp
--------------------------------------------------------------------------------
/Application/Resources/Edit_UndoHS.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Edit_UndoHS.bmp
--------------------------------------------------------------------------------
/Application/Resources/Find.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Find.bmp
--------------------------------------------------------------------------------
/Application/Resources/Open.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Open.bmp
--------------------------------------------------------------------------------
/Application/Resources/Open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Open.png
--------------------------------------------------------------------------------
/Application/Resources/Paste.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Paste.bmp
--------------------------------------------------------------------------------
/Application/Resources/Paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Paste.png
--------------------------------------------------------------------------------
/Application/Resources/PythonConsole16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/PythonConsole16x16.png
--------------------------------------------------------------------------------
/Application/Resources/PythonConsole32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/PythonConsole32x32.png
--------------------------------------------------------------------------------
/Application/Resources/PythonScript16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/PythonScript16x16.png
--------------------------------------------------------------------------------
/Application/Resources/PythonScript32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/PythonScript32x32.png
--------------------------------------------------------------------------------
/Application/Resources/Redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Redo.png
--------------------------------------------------------------------------------
/Application/Resources/Revert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Revert.png
--------------------------------------------------------------------------------
/Application/Resources/RolledBack.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/RolledBack.bmp
--------------------------------------------------------------------------------
/Application/Resources/Run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Run.png
--------------------------------------------------------------------------------
/Application/Resources/Save.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Save.bmp
--------------------------------------------------------------------------------
/Application/Resources/Save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Save.png
--------------------------------------------------------------------------------
/Application/Resources/Undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/Undo.png
--------------------------------------------------------------------------------
/Application/Resources/WordWrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/WordWrap.png
--------------------------------------------------------------------------------
/Application/Resources/agt_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/agt_back.png
--------------------------------------------------------------------------------
/Application/Resources/agt_forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/agt_forward.png
--------------------------------------------------------------------------------
/Application/Resources/agt_stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/agt_stop.png
--------------------------------------------------------------------------------
/Application/Resources/bookmark_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/bookmark_add.png
--------------------------------------------------------------------------------
/Application/Resources/cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/cancel.png
--------------------------------------------------------------------------------
/Application/Resources/checkedbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/checkedbox.png
--------------------------------------------------------------------------------
/Application/Resources/checkedbox1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/checkedbox1.png
--------------------------------------------------------------------------------
/Application/Resources/clear-filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/clear-filter.png
--------------------------------------------------------------------------------
/Application/Resources/configure_toolbars.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/configure_toolbars.png
--------------------------------------------------------------------------------
/Application/Resources/cut-2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/cut-2.bmp
--------------------------------------------------------------------------------
/Application/Resources/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/delete.png
--------------------------------------------------------------------------------
/Application/Resources/deletecell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/deletecell.png
--------------------------------------------------------------------------------
/Application/Resources/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/down.png
--------------------------------------------------------------------------------
/Application/Resources/edit_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/edit_add.png
--------------------------------------------------------------------------------
/Application/Resources/edit_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/edit_remove.png
--------------------------------------------------------------------------------
/Application/Resources/editclear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/editclear.png
--------------------------------------------------------------------------------
/Application/Resources/emptybox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/emptybox.png
--------------------------------------------------------------------------------
/Application/Resources/fileexport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/fileexport.png
--------------------------------------------------------------------------------
/Application/Resources/filter-icons3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/filter-icons3.png
--------------------------------------------------------------------------------
/Application/Resources/filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/filter.png
--------------------------------------------------------------------------------
/Application/Resources/find.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/find.png
--------------------------------------------------------------------------------
/Application/Resources/insertcell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/insertcell.png
--------------------------------------------------------------------------------
/Application/Resources/insertcell1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/insertcell1.png
--------------------------------------------------------------------------------
/Application/Resources/ipy.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/ipy.ico
--------------------------------------------------------------------------------
/Application/Resources/move_task_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/move_task_down.png
--------------------------------------------------------------------------------
/Application/Resources/move_task_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/move_task_up.png
--------------------------------------------------------------------------------
/Application/Resources/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/next.png
--------------------------------------------------------------------------------
/Application/Resources/py.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/py.ico
--------------------------------------------------------------------------------
/Application/Resources/pycon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/pycon.ico
--------------------------------------------------------------------------------
/Application/Resources/quick_restart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/quick_restart.png
--------------------------------------------------------------------------------
/Application/Resources/reload_all_tabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/reload_all_tabs.png
--------------------------------------------------------------------------------
/Application/Resources/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/search.png
--------------------------------------------------------------------------------
/Application/Resources/sort-ascending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/sort-ascending.png
--------------------------------------------------------------------------------
/Application/Resources/sort-descending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/sort-descending.png
--------------------------------------------------------------------------------
/Application/Resources/special_paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/special_paste.png
--------------------------------------------------------------------------------
/Application/Resources/tesv_ico.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/tesv_ico.ico
--------------------------------------------------------------------------------
/Application/Resources/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/up.png
--------------------------------------------------------------------------------
/Application/Resources/warning.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/warning.ico
--------------------------------------------------------------------------------
/Application/Resources/xdays.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Resources/xdays.png
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/ResEx/Extended.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/ResEx/Extended.Common.dll
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/ResEx/ResEx.chm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/ResEx/ResEx.chm
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/ResEx/ResEx.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/ResEx/ResEx.exe
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/ResEx/ResExSetup1.2.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/ResEx/ResExSetup1.2.exe
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/ResEx/ResExSetup1.5Beta.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/ResEx/ResExSetup1.5Beta.exe
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.exe
--------------------------------------------------------------------------------
/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.pdb
--------------------------------------------------------------------------------
/Application/TranslateUI/TranslateUIGlobalization.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.TranslateUI
2 | {
3 | using System.Globalization;
4 | using System.Resources;
5 | using System.Threading;
6 | using System.Windows.Forms;
7 |
8 | public static class TranslateUiGlobalization
9 | {
10 | public static string CultureCode = string.Empty;
11 |
12 | private static string resourcesPath = string.Empty;
13 |
14 | public static ResourceManager ResManager { get; private set; }
15 |
16 | ///
17 | /// Globalize Application
18 | ///
19 | public static void GlobalizeApp()
20 | {
21 | SetCulture();
22 | SetResource();
23 | }
24 |
25 | ///
26 | /// Set Culture
27 | ///
28 | private static void SetCulture()
29 | {
30 | CultureInfo objCi = new CultureInfo(CultureCode);
31 | Thread.CurrentThread.CurrentCulture = objCi;
32 | Thread.CurrentThread.CurrentUICulture = objCi;
33 | }
34 |
35 | ///
36 | /// Set Resource from file
37 | ///
38 | private static void SetResource()
39 | {
40 | resourcesPath = System.IO.Path.Combine(Application.StartupPath, "Lang");
41 | ResManager = null;
42 | ResManager = ResourceManager.CreateFileBasedResourceManager("resource", resourcesPath, null);
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/Application/UI/Docking/BaseDockContent.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using System;
4 | using System.ComponentModel;
5 |
6 | using WeifenLuo.WinFormsUI.Docking;
7 |
8 | public partial class BaseDockContent : DockContent
9 | {
10 | public BaseDockContent()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | private void closeToolStripMenuItem_Click(object sender, EventArgs e)
16 | {
17 | Close();
18 | }
19 |
20 | private void closeToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
21 | {
22 | }
23 |
24 | private void dockAsTabbedDocumentToolStripMenuItem_Click(object sender, EventArgs e)
25 | {
26 | DockState = DockState.Document;
27 | }
28 |
29 | private void dockingMenuStrip_Opening(object sender, CancelEventArgs e)
30 | {
31 | this.closeToolStripMenuItem.Enabled = CloseButton;
32 | this.floatToolStripMenuItem.Enabled = DockState != DockState.Float && IsDockStateValid(DockState.Float);
33 | this.dockAsTabbedDocumentToolStripMenuItem.Enabled = DockState == DockState.Float && IsDockStateValid(DockState.Document);
34 | }
35 |
36 | private void floatToolStripMenuItem_Click(object sender, EventArgs e)
37 | {
38 | DockState = DockState.Float;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Application/UI/Docking/FullRecordEditor.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using TESVSnip.UI.ObjectControls;
4 |
5 | partial class FullRecordEditor
6 | {
7 | ///
8 | /// Required designer variable.
9 | ///
10 | private System.ComponentModel.IContainer components = null;
11 |
12 | ///
13 | /// Clean up any resources being used.
14 | ///
15 | /// true if managed resources should be disposed; otherwise, false.
16 | protected override void Dispose(bool disposing)
17 | {
18 | if (disposing && (this.components != null))
19 | {
20 | this.components.Dispose();
21 | }
22 | base.Dispose(disposing);
23 | }
24 |
25 | #region Windows Form Designer generated code
26 |
27 | ///
28 | /// Required method for Designer support - do not modify
29 | /// the contents of this method with the code editor.
30 | ///
31 | private void InitializeComponent()
32 | {
33 | this.panelRecordEditor = new RecordEditor();
34 | this.SuspendLayout();
35 | //
36 | // panelRecordEditor
37 | //
38 | this.panelRecordEditor.Dock = System.Windows.Forms.DockStyle.Fill;
39 | this.panelRecordEditor.Location = new System.Drawing.Point(0, 0);
40 | this.panelRecordEditor.Name = "panelRecordEditor";
41 | this.panelRecordEditor.Record = null;
42 | this.panelRecordEditor.Size = new System.Drawing.Size(692, 384);
43 | this.panelRecordEditor.TabIndex = 0;
44 | //
45 | // FullRecordEditor
46 | //
47 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
48 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
49 | this.ClientSize = new System.Drawing.Size(692, 384);
50 | this.Controls.Add(this.panelRecordEditor);
51 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
52 | this.Name = "FullRecordEditor";
53 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
54 | this.Text = "Full Record Editor";
55 | this.DockStateChanged += new System.EventHandler(this.FullRecordEditor_DockStateChanged);
56 | this.ResumeLayout(false);
57 |
58 | }
59 |
60 | #endregion
61 |
62 | private RecordEditor panelRecordEditor;
63 | }
64 | }
--------------------------------------------------------------------------------
/Application/UI/Docking/FullRecordEditor.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using System;
4 |
5 | using TESVSnip.Domain.Model;
6 | using TESVSnip.Properties;
7 |
8 | public partial class FullRecordEditor : BaseDockContent
9 | {
10 | public FullRecordEditor()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | public FullRecordEditor(Record rec)
16 | : this()
17 | {
18 | this.Record = rec;
19 | }
20 |
21 | public Record Record
22 | {
23 | get
24 | {
25 | return this.panelRecordEditor.Record;
26 | }
27 |
28 | set
29 | {
30 | this.panelRecordEditor.Record = value;
31 | this.UpdateTitle();
32 | }
33 | }
34 |
35 | private void FullRecordEditor_DockStateChanged(object sender, EventArgs e)
36 | {
37 | this.UpdateTitle();
38 | }
39 |
40 | private void UpdateTitle()
41 | {
42 | if (this.panelRecordEditor.Record != null)
43 | {
44 | if (Pane == null || Pane.IsFloat)
45 | {
46 | Text = string.Format("{0} - [{1:X8}] {2}", Resources.FullRecordEditorTitle, this.panelRecordEditor.Record.FormID, this.panelRecordEditor.Record.DescriptiveName);
47 | }
48 | else
49 | {
50 | Text = string.Format("[{0:X8}] {1}", this.panelRecordEditor.Record.FormID, this.panelRecordEditor.Record.DescriptiveName);
51 | }
52 | }
53 | else
54 | {
55 | Text = Resources.FullRecordEditorTitle;
56 | }
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Application/UI/Docking/InterpreterConsole.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Windows.Forms;
3 | using PythonConsoleControl;
4 | using TESVSnip.UI.Hosting;
5 |
6 | namespace TESVSnip.UI.Docking
7 | {
8 | using System;
9 |
10 | using TESVSnip.Domain.Model;
11 |
12 | public partial class InterpreterConsole : BaseDockContent
13 | {
14 | private TESVSnip.UI.Hosting.IronPythonConsole pythonConsole;
15 | public InterpreterConsole()
16 | {
17 | pythonConsole = new IronPythonConsole();
18 | this.InitializeComponent();
19 | this.elementHost1.Child = pythonConsole;
20 | }
21 |
22 | public IronPythonConsole InnerView
23 | {
24 | get { return pythonConsole; }
25 | }
26 |
27 | public PythonConsole Console
28 | {
29 | get { return pythonConsole.consoleControl.Console; }
30 | }
31 |
32 |
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Application/UI/Docking/OutputTextContent.cs:
--------------------------------------------------------------------------------
1 | using System.Text.RegularExpressions;
2 |
3 | namespace TESVSnip.UI.Docking
4 | {
5 | using System.Windows.Forms;
6 |
7 | using TESVSnip.Domain.Model;
8 | using TESVSnip.Framework.Services;
9 | using TESVSnip.Properties;
10 |
11 | public partial class OutputTextContent : BaseDockContent
12 | {
13 | System.Text.RegularExpressions.Regex reWhiteSpace = new Regex("\r?\n");
14 | public OutputTextContent()
15 | {
16 | this.InitializeComponent();
17 | }
18 |
19 | public System.Windows.Forms.TextBox TextBox
20 | {
21 | get
22 | {
23 | return this.textBox;
24 | }
25 | }
26 |
27 | public void UpdateText(string text)
28 | {
29 | this.textBox.Text = reWhiteSpace.Replace(text, "\r\n");
30 | }
31 |
32 | public void SetText(string text)
33 | {
34 | this.textBox.Text = reWhiteSpace.Replace(text, "\r\n");
35 | }
36 |
37 | public void ClearText()
38 | {
39 | this.textBox.Text = "";
40 | }
41 |
42 | public void AppendText(string text)
43 | {
44 | this.textBox.AppendText( reWhiteSpace.Replace(text, "\r\n") );
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Application/UI/Docking/PluginTreeContent.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using TESVSnip.UI.ObjectControls;
4 |
5 | using WeifenLuo.WinFormsUI.Docking;
6 |
7 | public partial class PluginTreeContent : DockContent
8 | {
9 | public PluginTreeContent()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | public PluginTreeView PluginTree
15 | {
16 | get
17 | {
18 | return this.pluginTreeControl;
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Application/UI/Docking/RecordSearchForm.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using System;
4 |
5 | using TESVSnip.Domain.Model;
6 |
7 | public partial class RecordSearchForm : BaseDockContent
8 | {
9 | public RecordSearchForm()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | internal void ReferenceSearch(uint formid)
15 | {
16 | this.subrecordPanel.ReferenceSearch(formid);
17 | }
18 |
19 | internal void SetSearchCriteria(SearchCriteriaSettings settings, bool doSearch)
20 | {
21 | this.subrecordPanel.SetSearchCriteria(settings, doSearch);
22 | }
23 |
24 | private void RecordSearchForm_Load(object sender, EventArgs e)
25 | {
26 | }
27 |
28 | private void RecordSearchForm_Shown(object sender, EventArgs e)
29 | {
30 | this.subrecordPanel.FocusText();
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Application/UI/Docking/RichTextContent.cs:
--------------------------------------------------------------------------------
1 | using TESVSnip.UI.Rendering.Extensions;
2 |
3 | namespace TESVSnip.UI.Docking
4 | {
5 | using System.Windows.Forms;
6 |
7 | using RTF;
8 |
9 | using TESVSnip.Domain.Model;
10 | using TESVSnip.Framework.Services;
11 | using TESVSnip.Properties;
12 |
13 | public partial class RichTextContent : BaseDockContent
14 | {
15 | public RichTextContent()
16 | {
17 | this.InitializeComponent();
18 | }
19 |
20 | public RichTextBox RtfInfo
21 | {
22 | get
23 | {
24 | return this.rtfInfo;
25 | }
26 | }
27 |
28 | public void UpdateRecord(BaseRecord sc)
29 | {
30 | if (sc == null)
31 | {
32 | this.UpdateText(string.Empty);
33 | return;
34 | }
35 |
36 | FontLangInfo defLang;
37 | if (!Encoding.TryGetFontInfo(Domain.Properties.Settings.Default.LocalizationName, out defLang))
38 | {
39 | defLang = new FontLangInfo(1252, 1033, 0);
40 | }
41 |
42 | var rb = new RTFBuilder(RTFFont.Arial, 16, defLang.lcid, defLang.charset);
43 | sc.GetFormattedHeader(rb);
44 | sc.GetFormattedData(rb);
45 | this.rtfInfo.Rtf = rb.ToString();
46 | }
47 |
48 | public void UpdateRtf(string rtfText)
49 | {
50 | this.rtfInfo.Rtf = rtfText;
51 | }
52 |
53 | public void UpdateText(string text)
54 | {
55 | this.rtfInfo.Text = text;
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/Application/UI/Docking/SubrecordListContent.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Docking
2 | {
3 | using TESVSnip.UI.ObjectControls;
4 |
5 | using WeifenLuo.WinFormsUI.Docking;
6 |
7 | public partial class SubrecordListContent : DockContent
8 | {
9 | public SubrecordListContent()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | public SubrecordListEditor SubrecordList
15 | {
16 | get
17 | {
18 | return this.subrecordPanel;
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Application/UI/Forms/AddMasterForm.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Forms
2 | {
3 | using System;
4 | using System.IO;
5 | using System.Windows.Forms;
6 |
7 | public partial class AddMasterForm : Form
8 | {
9 | public AddMasterForm()
10 | {
11 | this.InitializeComponent();
12 | this.ofdChooseMaster.InitialDirectory = Path.GetFullPath("data");
13 | this.ofdChooseMaster.FileName = "skyrim.esm";
14 | this.ofdChooseMaster.Filter = "Masters or Plugins (*.esm,*.esp)|*.esm;*.esp|Masters(*.esm)|*.esm|Plugins (*.esp)|*.esp";
15 | }
16 |
17 | public string MasterName
18 | {
19 | get
20 | {
21 | return this.tbxMaster.Text;
22 | }
23 | }
24 |
25 | private void butChooseMaster_Click(object sender, EventArgs e)
26 | {
27 | if (this.ofdChooseMaster.ShowDialog() == DialogResult.OK)
28 | {
29 | this.tbxMaster.Text = Path.GetFileName(this.ofdChooseMaster.FileName);
30 | }
31 | }
32 |
33 | private void butOK_Click(object sender, EventArgs e)
34 | {
35 | DialogResult = DialogResult.OK;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Application/UI/Forms/DataEdit.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Forms
2 | {
3 | using System;
4 | using System.Windows.Forms;
5 |
6 | using TESVSnip.Properties;
7 |
8 | internal partial class DataEdit : Form
9 | {
10 | public static bool Canceled;
11 |
12 | public static byte[] result;
13 |
14 | public static string resultName;
15 |
16 | public DataEdit(string RecName, byte[] data)
17 | {
18 | this.InitializeComponent();
19 | Icon = Resources.tesv_ico;
20 | Text += RecName;
21 | this.tbName.Text = RecName;
22 | Text += " (string mode)";
23 | string s = string.Empty;
24 | foreach (byte b in data)
25 | {
26 | s += (char)b;
27 | }
28 |
29 | this.tbEdit.Text = s;
30 | Canceled = true;
31 | }
32 |
33 | private void bCancel_Click(object sender, EventArgs e)
34 | {
35 | Canceled = true;
36 | Close();
37 | }
38 |
39 | private void bSave_Click(object sender, EventArgs e)
40 | {
41 | Canceled = false;
42 | result = new byte[this.tbEdit.Text.Length + 1];
43 | for (int i = 0; i < this.tbEdit.Text.Length; i++)
44 | {
45 | result[i] = (byte)this.tbEdit.Text[i];
46 | }
47 |
48 | result[this.tbEdit.Text.Length] = 0;
49 | resultName = this.tbName.Text;
50 | Close();
51 | }
52 |
53 | private void tbName_KeyPress(object sender, KeyPressEventArgs e)
54 | {
55 | if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && !char.IsLetter(e.KeyChar) && e.KeyChar != '_')
56 | {
57 | e.Handled = true;
58 | }
59 | }
60 |
61 | private void tbName_Leave(object sender, EventArgs e)
62 | {
63 | if (this.tbName.Text.Length < 4)
64 | {
65 | this.tbName.Text = this.tbName.Text.PadRight(4, '_');
66 | }
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/Application/UI/Forms/InputBox.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Forms
2 | {
3 | using System.Windows.Forms;
4 |
5 | public partial class InputBox : Form
6 | {
7 | public InputBox()
8 | {
9 | this.InitializeComponent();
10 | }
11 |
12 | public InputBox(string label)
13 | : this()
14 | {
15 | this.Label = label;
16 | }
17 |
18 | public InputBox(string label, string caption)
19 | : this(label)
20 | {
21 | Text = caption;
22 | }
23 |
24 | public InputBox(string label, string value, string caption)
25 | : this(label, caption)
26 | {
27 | this.Value = value;
28 | }
29 |
30 | public string Caption
31 | {
32 | get
33 | {
34 | return Text;
35 | }
36 |
37 | set
38 | {
39 | Text = value;
40 | }
41 | }
42 |
43 | public string Label
44 | {
45 | get
46 | {
47 | return this.label1.Text;
48 | }
49 |
50 | set
51 | {
52 | this.label1.Text = value;
53 | }
54 | }
55 |
56 | public string Value
57 | {
58 | get
59 | {
60 | return this.textBox1.Text;
61 | }
62 |
63 | set
64 | {
65 | this.textBox1.Text = value;
66 | }
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/Application/UI/Forms/MultilineStringEditor.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.Forms
2 | {
3 | using System;
4 | using System.Windows.Forms;
5 |
6 | public partial class MultilineStringEditor : Form
7 | {
8 | public MultilineStringEditor()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | public MultilineStringEditor(string text)
14 | {
15 | this.Text = text;
16 | this.InitializeComponent();
17 | }
18 |
19 | public new string Text { get; set; }
20 |
21 | private void MultilineStringEditor_Load(object sender, EventArgs e)
22 | {
23 | this.textBox1.Text = this.Text;
24 | }
25 |
26 | private void btnClose_Click(object sender, EventArgs e)
27 | {
28 | DialogResult = DialogResult.Cancel;
29 | Close();
30 | }
31 |
32 | private void btnOK_Click(object sender, EventArgs e)
33 | {
34 | this.Text = this.textBox1.Text;
35 | DialogResult = DialogResult.OK;
36 | Close();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Application/UI/Hosting/ConsoleOptions.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2010 Joe Moorhouse
2 |
3 | using System.ComponentModel;
4 | using System.Windows.Media;
5 | using ICSharpCode.AvalonEdit;
6 | using PythonConsoleControl;
7 |
8 | namespace TESVSnip.UI.Hosting
9 | {
10 | public class ConsoleOptions
11 | {
12 | TextEditor textEditor;
13 | PythonConsolePad pad;
14 |
15 | public ConsoleOptions(PythonConsolePad pad)
16 | {
17 | this.textEditor = pad.Control;
18 | this.pad = pad;
19 | }
20 |
21 | [DefaultValue(false)]
22 | public bool ShowSpaces
23 | {
24 | get { return textEditor.TextArea.Options.ShowSpaces; }
25 | set { textEditor.TextArea.Options.ShowSpaces = value; }
26 | }
27 |
28 | [DefaultValue(false)]
29 | public bool ShowTabs
30 | {
31 | get { return textEditor.TextArea.Options.ShowTabs; }
32 | set { textEditor.TextArea.Options.ShowTabs = value; }
33 | }
34 |
35 | [DefaultValue(false)]
36 | public bool AllowScrollBelowDocument
37 | {
38 | get { return textEditor.TextArea.Options.AllowScrollBelowDocument; }
39 | set { textEditor.TextArea.Options.AllowScrollBelowDocument = value; }
40 | }
41 |
42 | [DefaultValue("Consolas")]
43 | public string FontFamily
44 | {
45 | get { return textEditor.TextArea.FontFamily.ToString(); }
46 | set { textEditor.TextArea.FontFamily = new FontFamily(value); }
47 | }
48 |
49 | [DefaultValue(12.0)]
50 | public double FontSize
51 | {
52 | get { return textEditor.TextArea.FontSize; }
53 | set { textEditor.TextArea.FontSize = value; }
54 | }
55 |
56 | [DefaultValue(false)]
57 | public bool FullAutocompletion
58 | {
59 | get { return pad.Console.AllowFullAutocompletion; }
60 | set { pad.Console.AllowFullAutocompletion = value; }
61 | }
62 |
63 | [DefaultValue(true)]
64 | public bool CtrlSpaceAutocompletion
65 | {
66 | get { return pad.Console.AllowCtrlSpaceAutocompletion; }
67 | set { pad.Console.AllowCtrlSpaceAutocompletion = value; }
68 | }
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/Application/UI/Hosting/ScriptSupport.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Windows.Forms;
7 | using TESVSnip.UI.Docking;
8 | using TESVSnip.UI.Forms;
9 |
10 | namespace TESVSnip.UI.Hosting
11 | {
12 | public static class ScriptSupport
13 | {
14 | public static void SendStatusText(string text)
15 | {
16 | TESVSnip.UI.Forms.MainView.PostStatusText(text);
17 | }
18 |
19 | public static void SendStatusText(string text, Color color)
20 | {
21 | TESVSnip.UI.Forms.MainView.PostStatusText(text, color);
22 | }
23 |
24 | public static OutputTextContent CreateTextWindow(string name)
25 | {
26 | var form = Application.OpenForms.OfType().FirstOrDefault() as MainView;
27 | if (form != null)
28 | {
29 | return form.GetOrCreateWindowByName(name);
30 | }
31 | return null;
32 | }
33 |
34 | public static TESVSnip.Domain.Model.Plugin CreateNewPlugin()
35 | {
36 | var form = Application.OpenForms.OfType().FirstOrDefault() as MainView;
37 | if (form != null)
38 | {
39 | return form.NewPlugin();
40 | }
41 | return null;
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Application/UI/RecordControls/BaseElement.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.RecordControls
2 | {
3 | partial class BaseElement
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (this.components != null))
17 | {
18 | this.components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BaseElement));
33 | this.Error = new System.Windows.Forms.ErrorProvider(this.components);
34 | this.ToolTip = new System.Windows.Forms.ToolTip(this.components);
35 | ((System.ComponentModel.ISupportInitialize)(this.Error)).BeginInit();
36 | this.SuspendLayout();
37 | //
38 | // Error
39 | //
40 | this.Error.ContainerControl = this;
41 | //
42 | // BaseElement
43 | //
44 | resources.ApplyResources(this, "$this");
45 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
46 | this.MinimumSize = new System.Drawing.Size(204, 20);
47 | this.Name = "BaseElement";
48 | this.Enter += new System.EventHandler(this.BaseElement_Enter);
49 | ((System.ComponentModel.ISupportInitialize)(this.Error)).EndInit();
50 | this.ResumeLayout(false);
51 |
52 | }
53 |
54 | #endregion
55 |
56 | protected System.Windows.Forms.ErrorProvider Error;
57 | protected System.Windows.Forms.ToolTip ToolTip;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Application/UI/RecordControls/IElementControl.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.RecordControls
2 | {
3 | using System;
4 |
5 | using Domain.Data.Structure;
6 | using TESVSnip.Domain.Model;
7 |
8 | internal interface IElementControl
9 | {
10 | event EventHandler DataChanged;
11 |
12 | bool Changed { get; set; }
13 |
14 | ArraySegment Data { get; set; }
15 |
16 | ElementStructure Element { get; set; }
17 |
18 | dFormIDLookupR formIDLookup { get; set; }
19 |
20 | dFormIDScanRec formIDScan { get; set; }
21 |
22 | dLStringLookup strIDLookup { get; set; }
23 |
24 | void CommitChanges();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Application/UI/RecordControls/IGroupedElementControl.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.RecordControls
2 | {
3 | using System;
4 | using System.Collections.Generic;
5 |
6 | internal interface IGroupedElementControl : IElementControl
7 | {
8 | IList> Elements { get; }
9 | }
10 | }
--------------------------------------------------------------------------------
/Application/UI/RecordControls/IOuterElementControl.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.RecordControls
2 | {
3 | internal interface IOuterElementControl : IElementControl
4 | {
5 | IElementControl InnerControl { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Application/UI/RecordControls/ITextElementControl.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.UI.RecordControls
2 | {
3 | using System.Windows.Forms;
4 |
5 | internal interface ITextElementControl : IElementControl
6 | {
7 | Label Label { get; }
8 |
9 | Label LabelType { get; }
10 |
11 | TextBoxBase TextBox { get; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Application/UI/Services/PluginBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using Microsoft.Scripting;
4 |
5 | namespace TESVSnip.UI.Services
6 | {
7 | public class PluginBase : IDisposable
8 | {
9 | public PluginBase()
10 | {
11 | SupportGlobal = true;
12 | }
13 |
14 | public PluginBase(string name)
15 | : this()
16 | {
17 | this.Name = name;
18 | this.DisplayName = name;
19 | }
20 |
21 | public PluginBase(string name, string displayname)
22 | : this(name)
23 | {
24 | this.DisplayName = displayname;
25 | }
26 |
27 | public PluginBase(string name, string displayname, bool supportSelection)
28 | : this(name, displayname)
29 | {
30 | this.SupportsSelection = supportSelection;
31 | this.SupportGlobal = !supportSelection;
32 | }
33 | public PluginBase(string name, string displayname, bool supportSelection, bool supportGlobal)
34 | : this(name, displayname)
35 | {
36 | this.SupportsSelection = supportSelection;
37 | this.SupportGlobal = supportGlobal;
38 | }
39 |
40 | public string Name { get; protected set; }
41 |
42 | public string DisplayName { get; protected set; }
43 |
44 | public string ToolTipText { get; protected set; }
45 |
46 | public System.Drawing.Image DisplayImage { get; protected set; }
47 |
48 | public bool SupportsSelection { get; protected set; }
49 |
50 | public bool SupportGlobal { get; protected set; }
51 |
52 | public virtual bool IsValidSelection(IList records)
53 | {
54 | return false;
55 | }
56 |
57 | public virtual void Execute(IList records)
58 | {
59 | throw new InvalidImplementationException("Not Implemented");
60 | }
61 |
62 | public void Dispose()
63 | {
64 | // Nothing to do
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/Application/UI/Services/PluginStore.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace TESVSnip.UI.Services
4 | {
5 | public static class PluginStore
6 | {
7 | static readonly List PluginList = new List();
8 |
9 | public static void Initialize()
10 | {
11 | RegisterPlugins();
12 | }
13 |
14 | public static List Plugins
15 | {
16 | get { return PluginList; }
17 | }
18 |
19 | public static void RegisterPlugins()
20 | {
21 |
22 | }
23 |
24 | public static void AddPlugin(PluginBase plugin)
25 | {
26 | PluginList.Add(plugin);
27 | }
28 |
29 | public static void AddPlugins(IEnumerable plugins)
30 | {
31 | PluginList.AddRange(plugins);
32 | }
33 |
34 | public static void RemovePlugin(string name)
35 | {
36 | PluginList.RemoveAll(x => x.Name == name);
37 | }
38 |
39 | public static void Cleanup()
40 | {
41 | var plugins = PluginList.ToArray();
42 | PluginList.Clear();
43 | foreach (var plugin in plugins)
44 | {
45 | try { plugin.Dispose(); }
46 | catch{}
47 | }
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/Application/Vendor/Controls/FlagComboBox.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Windows.Controls
2 | {
3 | partial class FlagComboBox
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | components = new System.ComponentModel.Container();
32 | }
33 |
34 | #endregion
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Application/Vendor/Controls/OldNewEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace TESVSnip.Windows.Controls
4 | {
5 | public class OldNewEventArgs : EventArgs
6 | {
7 | public OldNewEventArgs(T oldValue, T newValue)
8 | {
9 | OldValue = oldValue;
10 | NewValue = newValue;
11 | }
12 |
13 | public T OldValue { get; protected set; }
14 |
15 | public T NewValue { get; protected set; }
16 | }
17 |
18 | public delegate void OldNewEventHandler(object sender, OldNewEventArgs e);
19 | }
--------------------------------------------------------------------------------
/Application/Vendor/Controls/ballontooltip.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/Controls/ballontooltip.cs
--------------------------------------------------------------------------------
/Application/Vendor/Controls/ballontooltip.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | text/microsoft-resx
32 |
33 |
34 | 1.0.0.0
35 |
36 |
37 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
38 |
39 |
40 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/ByteCollection.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 |
3 | namespace Be.Windows.Forms
4 | {
5 | ///
6 | /// Represents a collection of bytes.
7 | ///
8 | internal class ByteCollection : CollectionBase
9 | {
10 | ///
11 | /// Initializes a new instance of ByteCollection class.
12 | ///
13 | public ByteCollection()
14 | {
15 | }
16 |
17 | ///
18 | /// Initializes a new instance of ByteCollection class.
19 | ///
20 | /// an array of bytes to add to collection
21 | public ByteCollection(byte[] bs)
22 | {
23 | AddRange(bs);
24 | }
25 |
26 | ///
27 | /// Gets or sets the value of a byte
28 | ///
29 | public byte this[int index]
30 | {
31 | get { return (byte) List[index]; }
32 | set { List[index] = value; }
33 | }
34 |
35 | ///
36 | /// Adds a range of bytes to the collection.
37 | ///
38 | /// the bytes to add
39 | public void AddRange(byte[] bs)
40 | {
41 | InnerList.AddRange(bs);
42 | }
43 |
44 | ///
45 | /// Removes a range of bytes from the collection.
46 | ///
47 | /// the index of the start byte
48 | /// the count of the bytes to remove
49 | public void RemoveRange(int index, int count)
50 | {
51 | InnerList.RemoveRange(index, count);
52 | }
53 |
54 | ///
55 | /// Inserts a range of bytes to the collection.
56 | ///
57 | /// the index of start byte
58 | /// an array of bytes to insert
59 | public void InsertRange(int index, byte[] bs)
60 | {
61 | InnerList.InsertRange(index, bs);
62 | }
63 |
64 | ///
65 | /// Gets all bytes in the array
66 | ///
67 | /// an array of bytes.
68 | public byte[] GetBytes()
69 | {
70 | var bytes = new byte[Count];
71 | InnerList.CopyTo(0, bytes, 0, bytes.Length);
72 | return bytes;
73 | }
74 | }
75 | }
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/DataBlock.cs:
--------------------------------------------------------------------------------
1 | namespace Be.Windows.Forms
2 | {
3 | internal abstract class DataBlock
4 | {
5 | public abstract long Length { get; }
6 |
7 | public abstract void RemoveBytes(long position, long count);
8 | }
9 | }
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/Design/HexFontEditor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Drawing;
4 | using System.Drawing.Design;
5 | using System.Windows.Forms;
6 | using System.Windows.Forms.Design;
7 |
8 | namespace Be.Windows.Forms.Design
9 | {
10 | ///
11 | /// Display only fixed-piched fonts
12 | ///
13 | internal class HexFontEditor : FontEditor
14 | {
15 | private object value;
16 |
17 | ///
18 | /// Edits the value
19 | ///
20 | public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
21 | {
22 | this.value = value;
23 | if (provider != null)
24 | {
25 | var service1 = (IWindowsFormsEditorService) provider.GetService(typeof (IWindowsFormsEditorService));
26 | if (service1 != null)
27 | {
28 | var fontDialog = new FontDialog();
29 | fontDialog.ShowApply = false;
30 | fontDialog.ShowColor = false;
31 | fontDialog.AllowVerticalFonts = false;
32 | fontDialog.AllowScriptChange = false;
33 | fontDialog.FixedPitchOnly = true;
34 | fontDialog.ShowEffects = false;
35 | fontDialog.ShowHelp = false;
36 |
37 | var font = value as Font;
38 | if (font != null)
39 | {
40 | fontDialog.Font = font;
41 | }
42 | if (fontDialog.ShowDialog() == DialogResult.OK)
43 | {
44 | this.value = fontDialog.Font;
45 | }
46 |
47 | fontDialog.Dispose();
48 | }
49 | }
50 |
51 | value = this.value;
52 | this.value = null;
53 | return value;
54 | }
55 |
56 | public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
57 | {
58 | return UITypeEditorEditStyle.Modal;
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/HexBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/HexBox/HexBox.cs
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/IByteProvider.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/HexBox/IByteProvider.cs
--------------------------------------------------------------------------------
/Application/Vendor/HexBox/NativeMethods.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 |
4 | namespace Be.Windows.Forms
5 | {
6 | internal static class NativeMethods
7 | {
8 | // Caret definitions
9 | [DllImport("user32.dll", SetLastError = true)]
10 | [return: MarshalAs(UnmanagedType.Bool)]
11 | public static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight);
12 |
13 | [DllImport("user32.dll", SetLastError = true)]
14 | [return: MarshalAs(UnmanagedType.Bool)]
15 | public static extern bool ShowCaret(IntPtr hWnd);
16 |
17 | [DllImport("user32.dll", SetLastError = true)]
18 | [return: MarshalAs(UnmanagedType.Bool)]
19 | public static extern bool DestroyCaret();
20 |
21 | [DllImport("user32.dll", SetLastError = true)]
22 | [return: MarshalAs(UnmanagedType.Bool)]
23 | public static extern bool SetCaretPos(int X, int Y);
24 |
25 | // Key definitions
26 | public const int WM_KEYDOWN = 0x100;
27 | public const int WM_KEYUP = 0x101;
28 | public const int WM_CHAR = 0x102;
29 | }
30 | }
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/CustomDictionary.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | br
6 | Canceled
7 | Center
8 | Color
9 | Colors
10 | f
11 | fmt
12 | g
13 | gdi
14 | hti
15 | i
16 | lightbox
17 | lv
18 | lvi
19 | lvsi
20 | m
21 | multi
22 | Munger
23 | n
24 | olv
25 | olvi
26 | p
27 | parms
28 | r
29 | Renderer
30 | s
31 | SubItem
32 | Unapply
33 | Unpause
34 | x
35 | y
36 |
37 |
38 | ComPlus
39 |
40 |
41 |
42 |
43 | OLV
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Filtering/ICluster.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * ICluster - A cluster is a group of objects that can be included or excluded as a whole
3 | *
4 | * Author: Phillip Piper
5 | * Date: 4-March-2011 11:59 pm
6 | *
7 | * Change log:
8 | * 2011-03-04 JPP - First version
9 | *
10 | * Copyright (C) 2011 Phillip Piper
11 | *
12 | * This program is free software: you can redistribute it and/or modify
13 | * it under the terms of the GNU General Public License as published by
14 | * the Free Software Foundation, either version 3 of the License, or
15 | * (at your option) any later version.
16 | *
17 | * This program is distributed in the hope that it will be useful,
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | * GNU General Public License for more details.
21 | *
22 | * You should have received a copy of the GNU General Public License
23 | * along with this program. If not, see .
24 | *
25 | * If you wish to use this code in a closed source application, please contact phillip_piper@bigfoot.com.
26 | */
27 |
28 | using System;
29 |
30 | namespace BrightIdeasSoftware
31 | {
32 | ///
33 | /// A cluster is a like collection of objects that can be usefully filtered
34 | /// as whole using the filtering UI provided by the ObjectListView.
35 | ///
36 | public interface ICluster : IComparable
37 | {
38 | ///
39 | /// Gets or sets how many items belong to this cluster
40 | ///
41 | int Count { get; set; }
42 |
43 | ///
44 | /// Gets or sets the label that will be shown to the user to represent
45 | /// this cluster
46 | ///
47 | string DisplayLabel { get; set; }
48 |
49 | ///
50 | /// Gets or sets the actual data object that all members of this cluster
51 | /// have commonly returned.
52 | ///
53 | object ClusterKey { get; set; }
54 | }
55 | }
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Filtering/IClusteringStrategy.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * IClusterStrategy - Encapsulates the ability to create a list of clusters from an ObjectListView
3 | *
4 | * Author: Phillip Piper
5 | * Date: 4-March-2011 11:59 pm
6 | *
7 | * Change log:
8 | * 2011-03-04 JPP - First version
9 | *
10 | * Copyright (C) 2011 Phillip Piper
11 | *
12 | * This program is free software: you can redistribute it and/or modify
13 | * it under the terms of the GNU General Public License as published by
14 | * the Free Software Foundation, either version 3 of the License, or
15 | * (at your option) any later version.
16 | *
17 | * This program is distributed in the hope that it will be useful,
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | * GNU General Public License for more details.
21 | *
22 | * You should have received a copy of the GNU General Public License
23 | * along with this program. If not, see .
24 | *
25 | * If you wish to use this code in a closed source application, please contact phillip_piper@bigfoot.com.
26 | */
27 |
28 | namespace BrightIdeasSoftware
29 | {
30 | ///
31 | /// Implementation of this interface control the selecting of cluster keys
32 | /// and how those clusters will be presented to the user
33 | ///
34 | public interface IClusteringStrategy
35 | {
36 | ///
37 | /// Gets or sets the column upon which this strategy will operate
38 | ///
39 | OLVColumn Column { get; set; }
40 |
41 | ///
42 | /// Get the cluster key by which the given model will be partitioned by this strategy
43 | ///
44 | ///
45 | ///
46 | object GetClusterKey(object model);
47 |
48 | ///
49 | /// Create a cluster to hold the given cluster key
50 | ///
51 | ///
52 | ///
53 | ICluster CreateCluster(object clusterKey);
54 |
55 | ///
56 | /// Gets the display label that the given cluster should use
57 | ///
58 | ///
59 | ///
60 | string GetClusterDisplayLabel(ICluster cluster);
61 | }
62 | }
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/ObjectListView.shfb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | All ObjectListView appears in this namespace
8 |
9 |
10 | ObjectListViewDemo demonstrates helpful techniques when using an ObjectListView
11 | Summary, Parameter, Returns, AutoDocumentCtors, Namespace
12 | InheritedMembers, Protected, SealedProtected
13 |
14 |
15 | .\Help\
16 |
17 |
18 | True
19 | True
20 | HtmlHelp1x
21 | True
22 | False
23 | 2.0.50727
24 | True
25 | False
26 | True
27 | False
28 |
29 | ObjectListView Reference
30 | Documentation
31 | en-US
32 |
33 | (c) Copyright 2006-2008 Phillip Piper All Rights Reserved
34 | phillip_piper@bigfoot.com
35 |
36 |
37 | Local
38 | Msdn
39 | Blank
40 | Prototype
41 | Guid
42 | CSharp
43 | False
44 | AboveNamespaces
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("ObjectListView")]
8 | [assembly: AssemblyDescription("A much easier to use ListView and friends")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("Bright Ideas Software")]
11 | [assembly: AssemblyProduct("ObjectListView")]
12 | [assembly: AssemblyCopyright("Copyright © 2006-2011")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("ef28c7a8-77ae-442d-abc3-bb023fa31e57")]
23 |
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the values or you can default the Revision and Build Numbers
32 | // by using the '*' as shown below:
33 | [assembly: AssemblyVersion("2.5.0.*")]
34 | [assembly: AssemblyFileVersion("2.5.0.0")]
35 | [assembly: System.CLSCompliant(true)]
36 |
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/clear-filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/clear-filter.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/clear-filter1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/clear-filter1.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/coffee.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/coffee.jpg
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/filter-icons3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/filter-icons3.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/filter-icons31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/filter-icons31.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/filter.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/filter1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/filter1.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/sort-ascending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/sort-ascending.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/sort-ascending1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/sort-ascending1.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/sort-descending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/sort-descending.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/Resources/sort-descending1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/Resources/sort-descending1.png
--------------------------------------------------------------------------------
/Application/Vendor/ObjectListView/olv-keyfile.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/ObjectListView/olv-keyfile.snk
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFBuilder.UnWrapped.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFBuilder.UnWrapped.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFBuilder.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFBuilder.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFCell.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFCell.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFDisplayBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFDisplayBox.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFPage.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFPage.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFPageManager.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFPageManager.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/GDF/GDFRow.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/GDF/GDFRow.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/IRTFCell.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RTF
4 | {
5 | // ----------------------------------------------------------------------------------------
6 | // _ ___ _..-._ Date: 12/11/08 23:32
7 | // \`.|\..----...-'` `-._.-'' _.-..'
8 | // / ' ` , __.-''
9 | // )/` _/ \ `-_, / Solution: RTFLib
10 | // `-'" `"\_ ,_.-;_.-\_ ', Project : RTFLib
11 | // _.-'_./ {_.' ; / Author : Anton
12 | // {_.-``-' {_/ Assembly: 1.0.0.0
13 | // Copyright © 2005-2008, Rogue Trader/MWM
14 | // Project Item Name: IRTFCell.cs - Code
15 | // Purpose: Exposes an underlying RTFBuilderbase
16 | // ----------------------------------------------------------------------------------------
17 | ///
18 | /// Exposes an underlying RTFBuilderbase
19 | ///
20 | public interface IBuilderContent : IDisposable
21 | {
22 | RTFBuilderbase Content { get; }
23 | }
24 | }
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/IRTFRow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace RTF
5 | {
6 | // ----------------------------------------------------------------------------------------
7 | // _ ___ _..-._ Date: 12/11/08 23:33
8 | // \`.|\..----...-'` `-._.-'' _.-..'
9 | // / ' ` , __.-''
10 | // )/` _/ \ `-_, / Solution: RTFLib
11 | // `-'" `"\_ ,_.-;_.-\_ ', Project : RTFLib
12 | // _.-'_./ {_.' ; / Author : Anton
13 | // {_.-``-' {_/ Assembly: 1.0.0.0
14 | // Copyright © 2005-2008, Rogue Trader/MWM
15 | // Project Item Name: IRTFRow.cs - Code
16 | // Purpose: Row Interface
17 | // ----------------------------------------------------------------------------------------
18 | ///
19 | /// Row Interface
20 | ///
21 | public interface IRTFRow : IDisposable, IEnumerable
22 | {
23 | }
24 | }
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/IRtfProcessor.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Application/Vendor/RTFLib/RTF/IRtfProcessor.cs
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/RTFAlignment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RTF
4 | {
5 | [Flags]
6 | public enum RTFAlignment
7 | {
8 | None = 0,
9 |
10 | /// Content is vertically aligned at the bottom, and horizontally aligned at the center.
11 | /// 1
12 | BottomCenter = 512,
13 |
14 | /// Content is vertically aligned at the bottom, and horizontally aligned on the left.
15 | /// 1
16 | BottomLeft = 256,
17 |
18 | /// Content is vertically aligned at the bottom, and horizontally aligned on the right.
19 | /// 1
20 | BottomRight = 1024,
21 |
22 | /// Content is vertically aligned in the middle, and horizontally aligned at the center.
23 | /// 1
24 | MiddleCenter = 32,
25 |
26 | /// Content is vertically aligned in the middle, and horizontally aligned on the left.
27 | /// 1
28 | MiddleLeft = 16,
29 |
30 | /// Content is vertically aligned in the middle, and horizontally aligned on the right.
31 | /// 1
32 | MiddleRight = 64,
33 |
34 | /// Content is vertically aligned at the top, and horizontally aligned at the center.
35 | /// 1
36 | TopCenter = 2,
37 |
38 | /// Content is vertically aligned at the top, and horizontally aligned on the left.
39 | /// 1
40 | TopLeft = 1,
41 |
42 | /// Content is vertically aligned at the top, and horizontally aligned on the right.
43 | /// 1
44 | TopRight = 4
45 | }
46 | }
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/RTFBorderSide.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RTF
4 | {
5 | [Flags]
6 | public enum RTFBorderSide
7 | {
8 | None = 0,
9 | Left = 0x01,
10 | Right = 0x02,
11 | Top = 0x04,
12 | Bottom = 0x08,
13 | Default = 0x0F,
14 | DoubleThickness = 0x10,
15 | DoubleBorder = 0x20
16 | }
17 | }
--------------------------------------------------------------------------------
/Application/Vendor/RTFLib/RTF/RTFFont.cs:
--------------------------------------------------------------------------------
1 | namespace RTF
2 | {
3 | public enum RTFFont
4 | {
5 | Arial,
6 | ArialBlack,
7 | BookmanOldStyle,
8 | Broadway,
9 | CenturyGothic,
10 | Consolas,
11 | CordiaNew,
12 | CourierNew,
13 | FontTimesNewRoman,
14 | Garamond,
15 | Georgia,
16 | Impact,
17 | LucidaConsole,
18 | Symbol,
19 | WingDings,
20 | MSSansSerif
21 | }
22 | }
--------------------------------------------------------------------------------
/Domain/Data/RecordStructure.xsc:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Domain/Data/RecordStructure.xss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Domain/Data/Strings/LocalizedString.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Strings
2 | {
3 | using System.ComponentModel;
4 | using System.Xml.Serialization;
5 |
6 | ///
7 | /// The localized string.
8 | ///
9 | [XmlType(AnonymousType = true)]
10 | public class LocalizedString
11 | {
12 | ///
13 | /// The id.
14 | ///
15 | [XmlAttribute]
16 | public uint ID = 0;
17 |
18 | ///
19 | /// The type.
20 | ///
21 | [XmlAttribute]
22 | [DefaultValue(LocalizedStringFormat.Base)]
23 | public LocalizedStringFormat Type = LocalizedStringFormat.Base;
24 |
25 | ///
26 | /// The value.
27 | ///
28 | [XmlText]
29 | public string Value;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Domain/Data/Strings/LocalizedStringDict.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Strings
2 | {
3 | using TESVSnip.Framework.Collections;
4 |
5 | ///
6 | /// The localized string dict.
7 | ///
8 | public class LocalizedStringDict : OrderedDictionary
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Domain/Data/Strings/LocalizedStringFormat.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Strings
2 | {
3 | ///
4 | /// The localized string format.
5 | ///
6 | public enum LocalizedStringFormat
7 | {
8 | ///
9 | /// The base.
10 | ///
11 | Base,
12 |
13 | ///
14 | /// The dl.
15 | ///
16 | DL,
17 |
18 | ///
19 | /// The il.
20 | ///
21 | IL,
22 | }
23 | }
--------------------------------------------------------------------------------
/Domain/Data/Strings/LocalizedStrings.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Strings
2 | {
3 | using System.Xml.Serialization;
4 |
5 | ///
6 | /// The localized strings.
7 | ///
8 | [XmlRoot("Strings", Namespace = "", IsNullable = false)]
9 | public class LocalizedStrings
10 | {
11 | ///
12 | /// The strings.
13 | ///
14 | [XmlElement("String", typeof(LocalizedString))]
15 | public LocalizedString[] Strings;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Domain/Data/Structure/CondType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Structure
2 | {
3 | public enum CondType
4 | {
5 | None,
6 |
7 | Equal,
8 |
9 | Not,
10 |
11 | Greater,
12 |
13 | Less,
14 |
15 | GreaterEqual,
16 |
17 | LessEqual,
18 |
19 | StartsWith,
20 |
21 | EndsWith,
22 |
23 | Contains,
24 |
25 | Exists,
26 |
27 | Missing
28 | }
29 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Conditional.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Structure
2 | {
3 | public struct Conditional
4 | {
5 | public readonly ElementValueType type;
6 |
7 | public readonly object value;
8 |
9 | public Conditional(ElementValueType type, object value)
10 | {
11 | this.type = type;
12 | this.value = value;
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/ElementGroup.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Structure
2 | {
3 | internal class ElementGroup : ElementBase
4 | {
5 | public readonly ElementBase[] elements;
6 |
7 | public ElementGroup(Xml.ElementGroup node, ElementBase[] items)
8 | : base(node)
9 | {
10 | this.elements = items;
11 | }
12 |
13 | public override bool IsGroup
14 | {
15 | get { return true; }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/ElementValueType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Data.Structure
2 | {
3 | public enum ElementValueType
4 | {
5 | String,
6 |
7 | Float,
8 |
9 | Int,
10 |
11 | Short,
12 |
13 | Byte,
14 |
15 | FormID,
16 |
17 | Blob,
18 |
19 | LString,
20 |
21 | BString,
22 |
23 | UShort,
24 |
25 | UInt,
26 |
27 | SByte,
28 |
29 | Str4,
30 |
31 | IString
32 | }
33 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/SubrecordGroup.cs:
--------------------------------------------------------------------------------
1 | using TESVSnip.Domain.Data.Structure.Xml;
2 |
3 | namespace TESVSnip.Domain.Data.Structure
4 | {
5 | internal class SubrecordGroup : SubrecordBase
6 | {
7 | public readonly SubrecordBase[] elements;
8 |
9 | public SubrecordGroup(Group node, SubrecordBase[] items)
10 | : base(node)
11 | {
12 | this.elements = items;
13 | }
14 |
15 | public override bool IsGroup
16 | {
17 | get { return true; }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Xml/ElementBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Diagnostics;
4 | using System.Xml.Serialization;
5 |
6 | namespace TESVSnip.Domain.Data.Structure.Xml
7 | {
8 | [Serializable]
9 | [DebuggerStepThrough]
10 | [DesignerCategory("code")]
11 | [XmlType(AnonymousType = true)]
12 | public abstract class ElementBase
13 | {
14 | ///
15 | /// The desc.
16 | ///
17 | ///
18 | ///
19 | [XmlAttribute] [DefaultValue("")] public string desc = string.Empty;
20 |
21 | ///
22 | /// The name.
23 | ///
24 | ///
25 | ///
26 | [XmlAttribute] [DefaultValue("")] public string name = string.Empty;
27 |
28 | ///
29 | /// The optional.
30 | ///
31 | ///
32 | ///
33 | [XmlAttribute] [DefaultValue(0)] public int optional;
34 |
35 | ///
36 | /// The repeat.
37 | ///
38 | ///
39 | ///
40 | [XmlAttribute] [DefaultValue(0)] public int repeat;
41 |
42 | ///
43 | /// The notininfo.
44 | ///
45 | ///
46 | ///
47 | [XmlAttribute] [DefaultValue(false)] public bool notininfo;
48 | }
49 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Xml/ElementGroup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.CodeDom.Compiler;
3 | using System.Collections.Generic;
4 | using System.ComponentModel;
5 | using System.Diagnostics;
6 | using System.Linq;
7 | using System.Xml.Serialization;
8 |
9 | namespace TESVSnip.Domain.Data.Structure.Xml
10 | {
11 | ///
12 | /// The group.
13 | ///
14 | ///
15 | ///
16 | [GeneratedCode("xsd", "4.0.30319.1")]
17 | [Serializable]
18 | [DebuggerStepThrough]
19 | [DesignerCategory("code")]
20 | [XmlType(AnonymousType = true)]
21 | [XmlRoot(Namespace = "", IsNullable = false)]
22 | public class ElementGroup : ElementBase
23 | {
24 | /////
25 | // [System.Xml.Serialization.XmlElementAttribute("Subrecord")]
26 | // public List Subrecords = new List();
27 | /////
28 | // [System.Xml.Serialization.XmlElementAttribute("Group")]
29 | // public List Groups = new List();
30 | [XmlElement("Group", typeof (ElementGroup))] [XmlElement("Element", typeof (SubrecordElement))] public
31 | List Items = new List();
32 |
33 | ///
34 | /// The id.
35 | ///
36 | ///
37 | ///
38 | [XmlAttribute] [DefaultValue("")] public string id = string.Empty;
39 |
40 | [XmlIgnore]
41 | public IEnumerable Groups
42 | {
43 | get { return this.Items.OfType(); }
44 | }
45 |
46 | [XmlIgnore]
47 | public IEnumerable Elements
48 | {
49 | get { return this.Items.OfType(); }
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Xml/Group.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.CodeDom.Compiler;
3 | using System.Collections;
4 | using System.Collections.Generic;
5 | using System.ComponentModel;
6 | using System.Diagnostics;
7 | using System.Linq;
8 | using System.Xml.Serialization;
9 |
10 | namespace TESVSnip.Domain.Data.Structure.Xml
11 | {
12 | ///
13 | /// The group.
14 | ///
15 | ///
16 | ///
17 | [GeneratedCode("xsd", "4.0.30319.1")]
18 | [Serializable]
19 | [DebuggerStepThrough]
20 | [DesignerCategory("code")]
21 | [XmlType(AnonymousType = true)]
22 | [XmlRoot(Namespace = "", IsNullable = false)]
23 | public class Group
24 | {
25 | /////
26 | // [System.Xml.Serialization.XmlElementAttribute("Subrecord")]
27 | // public List Subrecords = new List();
28 | /////
29 | // [System.Xml.Serialization.XmlElementAttribute("Group")]
30 | // public List Groups = new List();
31 | [XmlElement("Group", typeof (Group))] [XmlElement("Subrecord", typeof (Subrecord))] public ArrayList Items =
32 | new ArrayList();
33 |
34 | ///
35 | /// The desc.
36 | ///
37 | ///
38 | ///
39 | [XmlAttribute] [DefaultValue("")] public string
40 | desc = string.Empty;
41 |
42 | ///
43 | /// The id.
44 | ///
45 | ///
46 | ///
47 | [XmlAttribute] [DefaultValue("")] public string id = string.Empty;
48 |
49 | ///
50 | /// The name.
51 | ///
52 | ///
53 | ///
54 | [XmlAttribute] [DefaultValue("")] public string name = string.Empty;
55 |
56 | ///
57 | /// The optional.
58 | ///
59 | ///
60 | ///
61 | [XmlAttribute] [DefaultValue(0)] public int optional;
62 |
63 | ///
64 | /// The repeat.
65 | ///
66 | ///
67 | ///
68 | [XmlAttribute] [DefaultValue(0)] public int repeat;
69 |
70 | [XmlIgnore]
71 | public IEnumerable Groups
72 | {
73 | get { return this.Items.OfType(); }
74 | }
75 |
76 | [XmlIgnore]
77 | public IEnumerable Subrecords
78 | {
79 | get { return this.Items.OfType(); }
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Xml/RecordXmlException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace TESVSnip.Domain.Data.Structure.Xml
4 | {
5 | internal class RecordXmlException : Exception
6 | {
7 | public RecordXmlException(string msg)
8 | : base(msg)
9 | {
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Domain/Data/Structure/Xml/Records.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.CodeDom.Compiler;
3 | using System.Collections;
4 | using System.ComponentModel;
5 | using System.Diagnostics;
6 | using System.Xml.Schema;
7 | using System.Xml.Serialization;
8 |
9 | namespace TESVSnip.Domain.Data.Structure.Xml
10 | {
11 | ///
12 | /// The records.
13 | ///
14 | ///
15 | ///
16 | [GeneratedCode("xsd", "4.0.30319.1")]
17 | [Serializable]
18 | [DebuggerStepThrough]
19 | [DesignerCategory("code")]
20 | [XmlType(AnonymousType = true)]
21 | [XmlRoot(Namespace = "", IsNullable = false)]
22 | public class Records
23 | {
24 | ///
25 | /// The items.
26 | ///
27 | ///
28 | ///
29 | [XmlElement("Group", typeof (Group))] [XmlElement("Record", typeof (RecordsRecord), Form = XmlSchemaForm.Unqualified)] [XmlElement("Subrecord", typeof (Subrecord))] public ArrayList Items = new ArrayList();
30 | }
31 | }
--------------------------------------------------------------------------------
/Domain/Model/BatchCondElementType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public enum BatchCondElementType
4 | {
5 | Set,
6 |
7 | Add,
8 |
9 | Subtract,
10 |
11 | Multiply,
12 |
13 | Divide,
14 |
15 | BitAnd,
16 |
17 | BitOr,
18 |
19 | Clear,
20 | }
21 | }
--------------------------------------------------------------------------------
/Domain/Model/BatchCondRecordType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public enum BatchCondRecordType
4 | {
5 | NoAction,
6 |
7 | Create,
8 |
9 | Delete,
10 | }
11 | }
--------------------------------------------------------------------------------
/Domain/Model/BatchCriteria.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public abstract class BatchCriteria
4 | {
5 | public bool Checked { get; set; }
6 |
7 | public string Name { get; set; }
8 |
9 | public abstract bool Evaluate(Record r);
10 |
11 | public abstract bool Evaluate(Record r, SubRecord sr);
12 | }
13 | }
--------------------------------------------------------------------------------
/Domain/Model/BatchCriteriaSettings.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections.Generic;
4 |
5 | public class BatchCriteriaSettings
6 | {
7 | public IEnumerable Items;
8 |
9 | public string Type;
10 | }
11 | }
--------------------------------------------------------------------------------
/Domain/Model/BatchSubrecord.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 |
7 | using Data.Structure;
8 |
9 | public class BatchSubrecord : BatchCriteria
10 | {
11 | public ICollection Children { get; set; }
12 |
13 | public SubrecordStructure Record { get; set; }
14 |
15 | public BatchCondRecordType Type { get; set; }
16 |
17 | public override bool Evaluate(Record r)
18 | {
19 | var sr = r.SubRecords.FirstOrDefault(x => x.Name == this.Record.name);
20 | return this.Evaluate(r, sr);
21 | }
22 |
23 | public override bool Evaluate(Record r, SubRecord sr)
24 | {
25 | if (this.Type == BatchCondRecordType.Create)
26 | {
27 | if (sr == null)
28 | {
29 | // guess the best insert location
30 | int idx = -1;
31 | var records = r.GetStructures();
32 | RecordStructure rs;
33 | if (records.TryGetValue(r.Name, out rs))
34 | {
35 | for (int i = Array.FindIndex(rs.subrecords, structure => structure.name == this.Record.name) - 1; i >= 0; --i)
36 | {
37 | var srsname = rs.subrecords[i].name;
38 | idx = r.SubRecords.IndexOf(r.SubRecords.FirstOrDefault(x => x.Name == srsname));
39 | }
40 | }
41 |
42 | sr = new SubRecord(this.Record);
43 | if (idx < 0)
44 | {
45 | r.SubRecords.Add(sr);
46 | }
47 | else
48 | {
49 | r.SubRecords.Insert(idx + 1, sr);
50 | }
51 | }
52 | }
53 | else if (this.Type == BatchCondRecordType.Delete)
54 | {
55 | while (sr != null)
56 | {
57 | r.SubRecords.Remove(sr);
58 | sr = r.SubRecords.FirstOrDefault(x => x.Name == this.Record.name);
59 | }
60 | }
61 |
62 | return true;
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/Domain/Model/ColumnCriteria.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public abstract class ColumnCriteria
4 | {
5 | public bool Checked { get; set; }
6 |
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Domain/Model/ColumnElement.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using Data.Structure;
4 |
5 | public class ColumnElement : ColumnCriteria
6 | {
7 | public ColumnSubrecord Parent { get; set; }
8 |
9 | public ElementStructure Record { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Domain/Model/ColumnSettings.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections.Generic;
4 |
5 | public class ColumnSettings
6 | {
7 | public IEnumerable Items;
8 |
9 | public string Type;
10 | }
11 | }
--------------------------------------------------------------------------------
/Domain/Model/ColumnSubrecord.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections.Generic;
4 |
5 | using Data.Structure;
6 |
7 | public class ColumnSubrecord : ColumnCriteria
8 | {
9 | public ICollection Children { get; set; }
10 |
11 | public SubrecordStructure Record { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Domain/Model/Delegates.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections.Generic;
4 |
5 | public delegate string dFormIDLookupI(uint id);
6 |
7 | public delegate string dLStringLookup(uint id);
8 |
9 | public delegate Record dFormIDLookupR(uint id);
10 |
11 | public delegate string dFormIDLookupS(string id);
12 |
13 | public delegate string[] dFormIDScan(string type);
14 |
15 | public delegate Record[] dFormIDScanR(string type);
16 |
17 | public delegate IEnumerable> dFormIDScanRec(string type);
18 | }
--------------------------------------------------------------------------------
/Domain/Model/ElementAssignmentType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public enum ElementAssignmentType
4 | {
5 | Set,
6 |
7 | Add,
8 |
9 | Subtract,
10 |
11 | Multiply,
12 |
13 | Divide,
14 |
15 | BitAnd,
16 |
17 | BitOr,
18 |
19 | Clear,
20 | }
21 | }
--------------------------------------------------------------------------------
/Domain/Model/FlagDefs.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 |
5 | public static class FlagDefs
6 | {
7 | public static readonly string[] RecFlags1 =
8 | {
9 | "ESM file", null, null, null, null, "Deleted", "Constant/HiddenFromLocalMap/BorderRegion/HasTreeLOD", "Localized/IsPerch/AddOnLODObject/TurnOffFire/TreatSpellsAsPowers", "MustUpdateAnims/Inaccessible/DoesntLightWater", "HiddenFromLocalMap/StartsDead/MotionBlurCastsShadows", "PersistentReference/QuestItem/DisplaysInMainMenu", "Initially disabled"
10 | , "Ignored", null, null, "Visible when distant", "RandomAnimationStart/NeverFades/IsfullLOD", "Dangerous/OffLimits(Interior cell)/DoesntLightLandscape/HighDetailLOD/CanHoldNPC", "Compressed", "CantWait/HasCurrents", "IgnoreObjectInteraction"
11 | , null, null, "IsMarker", null, "Obstacle/NoAIAcquire", "NavMeshFilter", "NavMeshBoundingBox", "MustExitToTalk/ShowInWorldMap", "ChildCanUse/DontHavokSettle", "NavMeshGround NoRespawn", "MultiBound"
12 | };
13 |
14 | public static string GetRecFlags1Desc(uint flags)
15 | {
16 | string desc = string.Empty;
17 | bool b = false;
18 | long brr; //brr = bit rotation result
19 |
20 | for (int i = 0; i < 32; i++)
21 | {
22 | brr = (int) (1 << i);
23 | if (brr < 0) //brr < 0 when 1 << 31 = overflow
24 | brr = Convert.ToInt64(0x80000000); //Header Flags : (REFR) MultiBound 0x80000000;
25 | if ((flags & brr) > 0)
26 | {
27 | if (b) desc += ", ";
28 |
29 | b = true;
30 | desc += RecFlags1[i] == null ? "Unknown (" + brr.ToString("x") + ")" : RecFlags1[i];
31 | }
32 | }
33 |
34 | return desc;
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/Domain/Model/IGroupRecord.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections;
4 | using System.Collections.Generic;
5 |
6 | public interface IGroupRecord : IRecord
7 | {
8 | IList Records { get; }
9 |
10 | void AddRecord(BaseRecord br);
11 |
12 | void AddRecords(IEnumerable br);
13 |
14 | bool DeleteRecord(BaseRecord br);
15 |
16 | bool DeleteRecords(IEnumerable br);
17 |
18 | int IndexOf(BaseRecord br);
19 |
20 | void InsertRecord(int index, BaseRecord br);
21 |
22 | void InsertRecords(int index, IEnumerable br);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Domain/Model/IRecord.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 |
5 | public interface IRecord : ICloneable
6 | {
7 | string DescriptiveName { get; }
8 |
9 | string Name { get; set; }
10 |
11 | BaseRecord Parent { get; }
12 |
13 | long Size { get; }
14 |
15 | long Size2 { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Domain/Model/ISelectionContext.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using TESVSnip.Framework;
4 |
5 | public interface ISelectionContext : ICloneable
6 | {
7 | Rec Record { get; set; }
8 |
9 | SubRecord SubRecord { get; set; }
10 |
11 | void Reset();
12 | }
13 | }
--------------------------------------------------------------------------------
/Domain/Model/Rec.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 | using System.Runtime.Serialization;
5 |
6 | using TESVSnip.Framework.Persistence;
7 |
8 | [Persistable(Flags = PersistType.DeclaredOnly)]
9 | [Serializable]
10 | public abstract class Rec : BaseRecord
11 | {
12 | [Persistable]
13 | protected string descriptiveName;
14 |
15 | private BaseRecord parent;
16 |
17 | protected Rec()
18 | {
19 | }
20 |
21 | protected Rec(SerializationInfo info, StreamingContext context)
22 | : base(info, context)
23 | {
24 | }
25 |
26 | public override string DescriptiveName
27 | {
28 | get
29 | {
30 | return this.descriptiveName == null ? Name : (Name + this.descriptiveName);
31 | }
32 |
33 | // set { descriptiveName = value; }
34 | }
35 |
36 | public override BaseRecord Parent
37 | {
38 | get
39 | {
40 | return this.parent;
41 | }
42 |
43 | internal set
44 | {
45 | this.parent = value;
46 | }
47 | }
48 |
49 | public override void SetDescription(string value)
50 | {
51 | this.descriptiveName = value;
52 | }
53 |
54 | public override void UpdateShortDescription()
55 | {
56 | this.descriptiveName = string.Empty;
57 | }
58 |
59 | internal int CountRecords()
60 | {
61 | if (this is Record)
62 | {
63 | return 1;
64 | }
65 |
66 | int i = 1;
67 | foreach (Rec r2 in Records)
68 | {
69 | i += r2.CountRecords();
70 | }
71 |
72 | return i;
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/Domain/Model/RecordChangeEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 |
5 | public class RecordChangeEventArgs : EventArgs
6 | {
7 | private readonly BaseRecord record;
8 |
9 | public RecordChangeEventArgs(BaseRecord rec)
10 | {
11 | this.record = rec;
12 | }
13 |
14 | public BaseRecord Record
15 | {
16 | get
17 | {
18 | return this.record;
19 | }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchCondElementType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public enum SearchCondElementType
4 | {
5 | Equal,
6 |
7 | Not,
8 |
9 | Greater,
10 |
11 | Less,
12 |
13 | GreaterEqual,
14 |
15 | LessEqual,
16 |
17 | StartsWith,
18 |
19 | EndsWith,
20 |
21 | Contains,
22 |
23 | Exists,
24 |
25 | Missing
26 | }
27 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchCondRecordType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public enum SearchCondRecordType
4 | {
5 | Exists,
6 |
7 | Missing
8 | }
9 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchCriteria.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | public abstract class SearchCriteria
4 | {
5 | public bool Checked { get; set; }
6 |
7 | public string Name { get; set; }
8 |
9 | public abstract bool Match(Record r);
10 |
11 | public abstract bool Match(Record r, SubRecord sr);
12 |
13 | public abstract bool Match(Record r, SubRecord sr, Element se);
14 | }
15 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchCriteriaXmlSettings.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Xml.Serialization;
4 |
5 | [XmlType(AnonymousType = true)]
6 | public class SearchCriteriaXmlSettings
7 | {
8 | [XmlElement("Subrecord", typeof(SearchSubrecordXml))]
9 | [XmlElement("Element", typeof(SearchElementXml))]
10 | public object[] Items = new object[0];
11 |
12 | [XmlAttribute]
13 | public string Name;
14 |
15 | [XmlAttribute]
16 | public string Type;
17 |
18 | public override string ToString()
19 | {
20 | return this.Name;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchElementXml.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Xml.Serialization;
4 |
5 | [XmlType(AnonymousType = true)]
6 | public class SearchElementXml
7 | {
8 | [XmlAttribute]
9 | public string Element;
10 |
11 | [XmlAttribute]
12 | public string SubRecord;
13 |
14 | [XmlAttribute]
15 | public SearchCondElementType Type;
16 |
17 | [XmlText]
18 | public string Value;
19 | }
20 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchSubrecord.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Collections.Generic;
4 | using System.Linq;
5 |
6 | using Data.Structure;
7 |
8 | public class SearchSubrecord : SearchCriteria
9 | {
10 | public ICollection Children { get; set; }
11 |
12 | public SubrecordStructure Record { get; set; }
13 |
14 | public SearchCondRecordType Type { get; set; }
15 |
16 | public override bool Match(Record r)
17 | {
18 | var sr = r.SubRecords.FirstOrDefault(x => x.Name == this.Record.name);
19 | return this.Match(r, sr);
20 | }
21 |
22 | public override bool Match(Record r, SubRecord sr)
23 | {
24 | return this.Type == SearchCondRecordType.Exists ^ sr == null;
25 | }
26 |
27 | public override bool Match(Record r, SubRecord sr, Element se)
28 | {
29 | return false;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Domain/Model/SearchSubrecordXml.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System.Xml.Serialization;
4 |
5 | [XmlType(AnonymousType = true)]
6 | public class SearchSubrecordXml
7 | {
8 | [XmlAttribute]
9 | public string SubRecord;
10 |
11 | [XmlAttribute]
12 | public SearchCondRecordType Type;
13 | }
14 | }
--------------------------------------------------------------------------------
/Domain/Model/TESParserException.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Model
2 | {
3 | using System;
4 |
5 | public class TESParserException : Exception
6 | {
7 | public TESParserException(string msg)
8 | : base(msg)
9 | {
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Domain/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // Setting ComVisible to false makes the types in this assembly not visible
5 | // to COM components. If you need to access a type in this assembly from
6 | // COM, set the ComVisible attribute to true on that type.
7 |
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 | [assembly: Guid("1c0c9238-8730-46d5-977c-9ff6b60a213b")]
12 | [assembly: AssemblyDescription("ESM Model Format")]
--------------------------------------------------------------------------------
/Domain/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | English
7 |
8 |
9 | False
10 |
11 |
12 | False
13 |
14 |
15 | False
16 |
17 |
18 | False
19 |
20 |
21 | False
22 |
23 |
24 | 0
25 |
26 |
27 | CELL;DIAL;IMAD;LAND;NAVI;NAVM;NPC_;REGN;WRLD;WTHR
28 |
29 |
30 | False
31 |
32 |
33 | True
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Domain/Rendering/IRenderer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using TESVSnip.Domain.Model;
3 |
4 | namespace TESVSnip.Domain.Rendering
5 | {
6 | public interface IRenderer
7 | {
8 | //string GetHeader(BaseRecord rec);
9 | //string GetDescription(BaseRecord rec);
10 |
11 | string Render(BaseRecord rec, Dictionary kwargs);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Domain/Scripts/Keywords.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Scripts
2 | {
3 | internal enum Keywords
4 | {
5 | If,
6 |
7 | ElseIf,
8 |
9 | Else,
10 |
11 | EndIf,
12 |
13 | ScriptName,
14 |
15 | Scn,
16 |
17 | Short,
18 |
19 | Int,
20 |
21 | Float,
22 |
23 | Ref,
24 |
25 | Begin,
26 |
27 | End,
28 |
29 | Set,
30 |
31 | To,
32 |
33 | Return,
34 |
35 | ShowMessage,
36 |
37 | NotAKeyword
38 | }
39 | }
--------------------------------------------------------------------------------
/Domain/Scripts/TokenType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Scripts
2 | {
3 | internal enum TokenType
4 | {
5 | Unknown,
6 |
7 | Integer,
8 |
9 | Float,
10 |
11 | Keyword,
12 |
13 | Symbol,
14 |
15 | Local,
16 |
17 | Global,
18 |
19 | Function,
20 |
21 | edid,
22 |
23 | Null
24 | }
25 | }
--------------------------------------------------------------------------------
/Domain/Services/Alerts.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace TESVSnip.Domain.Services
7 | {
8 | public static class Alerts
9 | {
10 | public static void Show(string text)
11 | {
12 | if (OnAlert != null)
13 | {
14 | OnAlert(null, new AlertEventArgs(){Message = text});
15 | }
16 | }
17 | public static void Show(string format, params object[] args)
18 | {
19 | if (OnAlert != null)
20 | {
21 | OnAlert(null, new AlertEventArgs() { Message = string.Format(format, args) });
22 | }
23 | }
24 |
25 | public class AlertEventArgs : EventArgs
26 | {
27 | public string Message { get; set; }
28 | }
29 |
30 | public static event EventHandler OnAlert;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Domain/Services/Folders.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Reflection;
6 | using System.Text;
7 |
8 | namespace TESVSnip.Domain.Services
9 | {
10 | public static class Folders
11 | {
12 |
13 | static Folders()
14 | {
15 | var assembly = Assembly.GetExecutingAssembly();
16 | ModuleDirectory = Path.GetDirectoryName(assembly.Location);
17 | if (!string.IsNullOrWhiteSpace(ModuleDirectory))
18 | {
19 | var dir = new DirectoryInfo(ModuleDirectory);
20 | if (System.String.Compare(dir.Name, "Debug", System.StringComparison.OrdinalIgnoreCase) == 0
21 | || System.String.Compare(dir.Name, "Release", System.StringComparison.OrdinalIgnoreCase) == 0)
22 | dir = dir.Parent;
23 | if (System.String.Compare(dir.Name, "bin", System.StringComparison.OrdinalIgnoreCase) == 0)
24 | dir = dir.Parent;
25 | ModuleDirectory = dir.FullName;
26 | }
27 | if (!string.IsNullOrWhiteSpace(ModuleDirectory))
28 | {
29 | var confFolder = Path.Combine(ModuleDirectory, "conf");
30 | if (!Directory.Exists(confFolder))
31 | confFolder = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "conf"));
32 | SettingsDirectory = confFolder;
33 | ScriptsDirectory = Path.GetFullPath(Path.Combine(SettingsDirectory, "..","scripts"));
34 | }
35 | }
36 |
37 | public static string ModuleDirectory { get; set; }
38 | public static string SettingsDirectory { get; set; }
39 | public static string ScriptsDirectory { get; set; }
40 |
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Domain/Services/RecordsTrace.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Services
2 | {
3 | using System;
4 | using System.Collections.Generic;
5 |
6 | ///
7 | /// RecordsTace : Trace records plugin for maintenance
8 | ///
9 | public static class RecordsTrace
10 | {
11 | public static List AllRecords { get; private set; } // list of plugin records
12 |
13 | public static List CompressedRecords { get; private set; } // list of compressed records
14 |
15 | ///
16 | /// Add a new record in list of compressed records. Can trace all compressed record after reading a plugin.
17 | ///
18 | /// The record Name.
19 | public static void AddRecordToCompressedRecordsList(string recordName)
20 | {
21 | if (CompressedRecords.IndexOf(recordName, 0) == -1)
22 | {
23 | CompressedRecords.Add(recordName);
24 | CompressedRecords.Add(Environment.NewLine);
25 | }
26 | }
27 |
28 | ///
29 | /// Add a new record in list of records.
30 | /// Can trace all used records after reading a plugin.
31 | ///
32 | ///
33 | /// The record Name.
34 | ///
35 | public static void AddRecordToRecordsList(string recordName)
36 | {
37 | if (AllRecords.IndexOf(recordName, 0) == -1)
38 | {
39 | AllRecords.Add(recordName);
40 | AllRecords.Add(Environment.NewLine);
41 | }
42 | }
43 |
44 | ///
45 | /// Clear all list
46 | ///
47 | public static void ClearList()
48 | {
49 | if (CompressedRecords != null) CompressedRecords.Clear();
50 | if (AllRecords != null) AllRecords.Clear();
51 | }
52 |
53 | ///
54 | /// Init all list
55 | ///
56 | public static void InitListOfRecords()
57 | {
58 | if (CompressedRecords == null) CompressedRecords = new List();
59 | if (AllRecords == null) AllRecords = new List();
60 | ClearList();
61 | }
62 | }
63 | }
--------------------------------------------------------------------------------
/Domain/Services/SaveReadStream.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Services
2 | {
3 | using System;
4 | using System.IO;
5 |
6 | public static class SaveReadStream
7 | {
8 |
9 | ///
10 | /// Save a memory stream to disk
11 | ///
12 | /// Destination folder
13 | /// Stream to write to disk
14 | public static void SaveStreamToDisk(string destFolder, MemoryStream ms)
15 | {
16 | string filename = DateTime.Now.ToString("yyyyMMddhhmmss");
17 | var file = new FileStream(Path.Combine(destFolder, filename + ".bin"), FileMode.Create, FileAccess.Write);
18 | var bytes = new byte[ms.Length];
19 | ms.Read(bytes, 0, (int) ms.Length);
20 | file.Write(bytes, 0, bytes.Length);
21 | file.Close();
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Domain/Settings.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Domain.Properties {
2 |
3 |
4 | // This class allows you to handle specific events on the settings class:
5 | // The SettingChanging event is raised before a setting's value is changed.
6 | // The PropertyChanged event is raised after a setting's value is changed.
7 | // The SettingsLoaded event is raised after the setting values are loaded.
8 | // The SettingsSaving event is raised before the setting values are saved.
9 | public sealed partial class Settings {
10 |
11 | public Settings() {
12 | // // To add event handlers for saving and changing settings, uncomment the lines below:
13 | //
14 | // this.SettingChanging += this.SettingChangingEventHandler;
15 | //
16 | // this.SettingsSaving += this.SettingsSavingEventHandler;
17 | //
18 | }
19 |
20 | private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
21 | // Add code to handle the SettingChangingEvent event here.
22 | }
23 |
24 | private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
25 | // Add code to handle the SettingsSaving event here.
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Domain/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | English
12 |
13 |
14 | False
15 |
16 |
17 | False
18 |
19 |
20 | False
21 |
22 |
23 | False
24 |
25 |
26 | False
27 |
28 |
29 | 0
30 |
31 |
32 | CELL;DIAL;IMAD;LAND;NAVI;NAVM;NPC_;REGN;WRLD;WTHR
33 |
34 |
35 | False
36 |
37 |
38 | True
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Framework/Collections/ordereddictionary.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Framework/Collections/ordereddictionary.cs
--------------------------------------------------------------------------------
/Framework/EnumerableExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework
2 | {
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 |
7 | public static class EnumerableExtensions
8 | {
9 | private static readonly Random rand = new Random();
10 |
11 | public static int IndexOf(this IEnumerable collection, T item)
12 | {
13 | int i = 0;
14 | var itr = collection.GetEnumerator();
15 | for (bool ok = itr.MoveNext(); ok; ok = itr.MoveNext(), ++i)
16 | {
17 | if (itr.Current.Equals(item))
18 | {
19 | return i;
20 | }
21 | }
22 |
23 | return -1;
24 | }
25 |
26 | public static int IndexOf(this IEnumerable collection, T item, int startIndex)
27 | {
28 | int i = 0;
29 | var itr = collection.Skip(startIndex).GetEnumerator();
30 | for (bool ok = itr.MoveNext(); ok; ok = itr.MoveNext(), ++i)
31 | {
32 | if (itr.Current.Equals(item))
33 | {
34 | return i;
35 | }
36 | }
37 |
38 | return -1;
39 | }
40 |
41 | public static IEnumerable Indices(this IEnumerable collection, IEnumerable items)
42 | {
43 | foreach (var itr in items)
44 | {
45 | yield return collection.IndexOf(itr);
46 | }
47 | }
48 |
49 | public static IEnumerable Random(this IEnumerable itr, int size)
50 | {
51 | yield return itr.Skip(rand.Next(size)).FirstOrDefault();
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/Framework/ICloneable.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework
2 | {
3 | using System;
4 |
5 | public interface ICloneable : ICloneable
6 | {
7 | new TClonedType Clone();
8 | }
9 | }
--------------------------------------------------------------------------------
/Framework/Pair.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework
2 | {
3 | public struct Pair
4 | {
5 | public A a;
6 |
7 | public B b;
8 |
9 | public Pair(A a, B b)
10 | {
11 | this.a = a;
12 | this.b = b;
13 | }
14 |
15 | public A Key
16 | {
17 | get
18 | {
19 | return this.a;
20 | }
21 |
22 | set
23 | {
24 | this.a = value;
25 | }
26 | }
27 |
28 | public B Value
29 | {
30 | get
31 | {
32 | return this.b;
33 | }
34 |
35 | set
36 | {
37 | this.b = value;
38 | }
39 | }
40 |
41 | public override string ToString()
42 | {
43 | return this.a.ToString();
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Framework/Persistence/IPostSerializationCallback.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | ///
4 | /// Interface that can be use for serialization callbacks even after IDeserialization.
5 | ///
6 | public interface IPostSerializationCallback
7 | {
8 | bool NeedCallback { get; }
9 |
10 | void OnPostSerialization();
11 | }
12 | }
--------------------------------------------------------------------------------
/Framework/Persistence/PersistContextStates.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | using System;
4 |
5 | ///
6 | /// Additional context states for persisting variables.
7 | ///
8 | ///
9 | /// Defaults to saving in all contexts.
10 | ///
11 | [Flags]
12 | public enum PersistContextStates
13 | {
14 | ///
15 | /// Persisted in all contexts.
16 | ///
17 | ExcludeNone = 0,
18 |
19 | ///
20 | /// Value is excluded when serializing normally.
21 | ///
22 | ExcludeNormal = 0x1,
23 |
24 | ///
25 | /// Value is excluded when serializing to clipboard.
26 | ///
27 | ExcludeClipboard = 0x2,
28 |
29 | ///
30 | /// Excluded in all contexts.
31 | ///
32 | ExcludeAll = unchecked((int)0xFFFFFFFF),
33 | }
34 | }
--------------------------------------------------------------------------------
/Framework/Persistence/PersistObject.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | using System;
4 | using System.Runtime.Serialization;
5 |
6 | ///
7 | ///
8 | [Persistable(Flags = PersistType.DeclaredOnly)]
9 | [Serializable]
10 | public class PersistObject : Object, ISerializable
11 | {
12 | ///
13 | /// Initializes a new instance of the class.
14 | ///
15 | public PersistObject()
16 | {
17 | }
18 |
19 | ///
20 | /// Initializes a new instance of the class.
21 | /// Deserialization constructor.
22 | ///
23 | ///
24 | /// The info.
25 | ///
26 | ///
27 | /// The context.
28 | ///
29 | protected PersistObject(SerializationInfo info, StreamingContext context)
30 | {
31 | PersistAssist.Deserialize(this, info, context);
32 | }
33 |
34 | void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
35 | {
36 | PersistAssist.Serialize(this, info, context);
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/Framework/Persistence/PersistSurrogate.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | using System.Runtime.Serialization;
4 |
5 | public class PersistSurrogate : ISerializationSurrogate
6 | {
7 | public void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
8 | {
9 | PersistAssist.Serialize(obj, info, context);
10 | }
11 |
12 | public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
13 | {
14 | PersistAssist.Deserialize(obj, info, context);
15 | return obj;
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Framework/Persistence/PersistType.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | using System;
4 |
5 | ///
6 | /// PersistType indicates the available actions for a Persistable.
7 | ///
8 | [Flags]
9 | public enum PersistType
10 | {
11 | ///
12 | /// Indicates that this class may not be persisted.
13 | ///
14 | None = 0x0,
15 |
16 | ///
17 | /// Flag to indicate that the field or property has an assignable default.
18 | /// For classes, it indicates that PersistAssist.Initialize may be caused to set default values.
19 | ///
20 | Initializable = 0x1,
21 |
22 | ///
23 | /// InitializeNew indicates that the object should be constructed from its default constructor.
24 | ///
25 | InitializeNew = 0x2 | Initializable,
26 |
27 | ///
28 | /// Indicates that only declared fields or properties should be persisted.
29 | ///
30 | DeclaredOnly = 0x4,
31 |
32 | ///
33 | /// Indicates that public fields or properties on this class should be persisted automatically.
34 | ///
35 | Public = 0x10,
36 |
37 | ///
38 | /// Indicates that non-public fields or properties on this class should be persisted automatically.
39 | ///
40 | NonPublic = 0x20,
41 |
42 | ///
43 | /// Indicates that instance fields or properties should be persisted automatically.
44 | ///
45 | Instance = 0x40,
46 |
47 | ///
48 | /// Indicates that static fields or properties on this class should be persisted automatically.
49 | ///
50 | Static = 0x80,
51 |
52 | ///
53 | /// Indicates that fields on this class should be persisted automatically.
54 | ///
55 | Fields = 0x100,
56 |
57 | ///
58 | /// Indicates that properties on this class should be persisted automatically.
59 | ///
60 | Properties = 0x200,
61 |
62 | ///
63 | /// Default persist type.
64 | ///
65 | ClassDefault = DeclaredOnly,
66 |
67 | ///
68 | /// Default persist type (Public and Private Instance Fields).
69 | ///
70 | Default = Public | NonPublic | Fields | Instance,
71 | }
72 | }
--------------------------------------------------------------------------------
/Framework/Persistence/SerializationInfoCache.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Persistence
2 | {
3 | using System;
4 |
5 | internal class SerializationInfoCache
6 | {
7 | public string Name;
8 |
9 | public Type ObjectType;
10 |
11 | public object Value;
12 |
13 | public SerializationInfoCache(string Name, object Value, Type ObjectType)
14 | {
15 | this.Name = Name;
16 | this.Value = Value;
17 | this.ObjectType = ObjectType;
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Framework/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // Setting ComVisible to false makes the types in this assembly not visible
5 | // to COM components. If you need to access a type in this assembly from
6 | // COM, set the ComVisible attribute to true on that type.
7 |
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 | [assembly: Guid("7bc58131-9547-469f-b159-9cbe09df1e43")]
12 | [assembly: AssemblyDescription("ESM Common Files")]
--------------------------------------------------------------------------------
/Framework/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
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 TESVSnip.Framework.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
16 | public 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 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("True")]
29 | public bool UseUTF8 {
30 | get {
31 | return ((bool)(this["UseUTF8"]));
32 | }
33 | set {
34 | this["UseUTF8"] = value;
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Framework/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | True
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Framework/Services/Encoding.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Services
2 | {
3 | using System;
4 | using System.Collections.Generic;
5 |
6 | public static class Encoding
7 | {
8 | private static readonly System.Text.Encoding Cp1252 = System.Text.Encoding.GetEncoding(1252);
9 | private static readonly System.Text.Encoding Utf8 = System.Text.Encoding.GetEncoding("utf-8");
10 |
11 | private static readonly Dictionary LanguageMap = new Dictionary(StringComparer.InvariantCultureIgnoreCase);
12 |
13 | private static System.Text.Encoding instance;
14 | private static bool useUtf8Encoding = true;
15 |
16 | static Encoding()
17 | {
18 | LanguageMap.Add("English", new FontLangInfo(1252, 1033, 0));
19 | LanguageMap.Add("Czech", new FontLangInfo(1252, 1029, 238));
20 | LanguageMap.Add("French", new FontLangInfo(1252, 1036, 0));
21 | LanguageMap.Add("German", new FontLangInfo(1252, 1031, 0));
22 | LanguageMap.Add("Italian", new FontLangInfo(1252, 1040, 0));
23 | LanguageMap.Add("Spanish", new FontLangInfo(1252, 1034, 0));
24 | LanguageMap.Add("Russian", new FontLangInfo(1251, 1049, 204));
25 | LanguageMap.Add("Polish", new FontLangInfo(1250, 1045, 0));
26 | }
27 |
28 | public static System.Text.Encoding Instance
29 | {
30 | get
31 | {
32 | return instance ?? (instance = useUtf8Encoding ? Utf8 : Cp1252);
33 | }
34 | }
35 |
36 | public static void Initalize(bool useUtf8)
37 | {
38 | useUtf8Encoding = useUtf8;
39 | }
40 |
41 | public static bool TryGetFontInfo(string name, out FontLangInfo langInfo)
42 | {
43 | return LanguageMap.TryGetValue(name, out langInfo);
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/Framework/Services/FontLangInfo.cs:
--------------------------------------------------------------------------------
1 | namespace TESVSnip.Framework.Services
2 | {
3 | public struct FontLangInfo
4 | {
5 | public readonly static FontLangInfo Default = new FontLangInfo(1252, 1033, 0);
6 | public readonly ushort CodePage;
7 | public readonly ushort lcid;
8 | public readonly byte charset;
9 |
10 | public FontLangInfo(ushort CodePage, ushort lcid, byte charset)
11 | {
12 | this.CodePage = CodePage;
13 | this.lcid = lcid;
14 | this.charset = charset;
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/Framework/Services/PluginStore.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using TESVSnip.Domain.Services;
6 |
7 | namespace TESVSnip.Framework.Services
8 | {
9 | public static class PluginStore
10 | {
11 | static readonly List PluginList = new List();
12 |
13 | public static void Initialize()
14 | {
15 | RegisterPlugins();
16 | }
17 |
18 | public static List Plugins
19 | {
20 | get { return PluginList; }
21 | }
22 |
23 | public static void RegisterPlugins()
24 | {
25 |
26 | }
27 |
28 | public static void AddPlugin(PluginBase plugin)
29 | {
30 | PluginList.Add(plugin);
31 | }
32 |
33 | public static void AddPlugins(IEnumerable plugins)
34 | {
35 | PluginList.AddRange(plugins);
36 | }
37 |
38 | public static void RemovePlugin(string name)
39 | {
40 | PluginList.RemoveAll(x => x.Name == name);
41 | }
42 |
43 | public static void Cleanup()
44 | {
45 | var plugins = PluginList.ToArray();
46 | PluginList.Clear();
47 | foreach (var plugin in plugins)
48 | {
49 | try { plugin.Dispose(); }
50 | catch{}
51 | }
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/Framework/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | True
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Platform/x64/ZLibMC.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Platform/x64/ZLibMC.dll
--------------------------------------------------------------------------------
/Platform/x64/zlib1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Platform/x64/zlib1.dll
--------------------------------------------------------------------------------
/Platform/x86/ZLibMC.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Platform/x86/ZLibMC.dll
--------------------------------------------------------------------------------
/Platform/x86/zlib1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Platform/x86/zlib1.dll
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # tesvsnip
2 | Skyrim fork of the Fallout Mod Manager TESsnip dialog
3 |
4 |
5 | If you are looking for Fallout 4 support then look at: https://github.com/figment/falloutsnip
6 |
--------------------------------------------------------------------------------
/Vendor/IronPython-2.7.4/IronPython.Modules.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/IronPython-2.7.4/IronPython.Modules.dll
--------------------------------------------------------------------------------
/Vendor/IronPython-2.7.4/IronPython.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/IronPython-2.7.4/IronPython.dll
--------------------------------------------------------------------------------
/Vendor/IronPython-2.7.4/Microsoft.Dynamic.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/IronPython-2.7.4/Microsoft.Dynamic.dll
--------------------------------------------------------------------------------
/Vendor/IronPython-2.7.4/Microsoft.Scripting.Metadata.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/IronPython-2.7.4/Microsoft.Scripting.Metadata.dll
--------------------------------------------------------------------------------
/Vendor/IronPython-2.7.4/Microsoft.Scripting.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/IronPython-2.7.4/Microsoft.Scripting.dll
--------------------------------------------------------------------------------
/Vendor/ZLibMC/AssemblyInfo.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 |
3 | using namespace System;
4 | using namespace System::Reflection;
5 | using namespace System::Runtime::CompilerServices;
6 | using namespace System::Runtime::InteropServices;
7 | using namespace System::Security::Permissions;
8 |
9 | //
10 | // General Information about an assembly is controlled through the following
11 | // set of attributes. Change these attribute values to modify the information
12 | // associated with an assembly.
13 | //
14 | [assembly:AssemblyTitleAttribute("ZLibMC")];
15 | [assembly:AssemblyDescriptionAttribute("")];
16 | [assembly:AssemblyConfigurationAttribute("")];
17 | [assembly:AssemblyCompanyAttribute("")];
18 | [assembly:AssemblyProductAttribute("ZLibMC")];
19 | [assembly:AssemblyCopyrightAttribute("Copyright (c) 2013")];
20 | [assembly:AssemblyTrademarkAttribute("")];
21 | [assembly:AssemblyCultureAttribute("")];
22 |
23 | //
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the value or you can default the Revision and Build Numbers
32 | // by using the '*' as shown below:
33 |
34 | [assembly:AssemblyVersionAttribute("1.0.*")];
35 |
36 | [assembly:ComVisible(false)];
37 |
38 | [assembly:CLSCompliantAttribute(true)];
39 |
40 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
41 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ========================================================================
2 | DYNAMIC LINK LIBRARY : ZLibMC Project Overview
3 | ========================================================================
4 |
5 | AppWizard has created this ZLibMC DLL for you.
6 |
7 | This file contains a summary of what you will find in each of the files that
8 | make up your ZLibMC application.
9 |
10 | ZLibMC.vcxproj
11 | This is the main project file for VC++ projects generated using an Application Wizard.
12 | It contains information about the version of Visual C++ that generated the file, and
13 | information about the platforms, configurations, and project features selected with the
14 | Application Wizard.
15 |
16 | ZLibMC.vcxproj.filters
17 | This is the filters file for VC++ projects generated using an Application Wizard.
18 | It contains information about the association between the files in your project
19 | and the filters. This association is used in the IDE to show grouping of files with
20 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the
21 | "Source Files" filter).
22 |
23 | ZLibMC.cpp
24 | This is the main DLL source file.
25 |
26 | ZLibMC.h
27 | This file contains a class declaration.
28 |
29 | AssemblyInfo.cpp
30 | Contains custom attributes for modifying assembly metadata.
31 |
32 | /////////////////////////////////////////////////////////////////////////////
33 | Other notes:
34 |
35 | AppWizard uses "TODO:" to indicate parts of the source code you
36 | should add to or customize.
37 |
38 | /////////////////////////////////////////////////////////////////////////////
39 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/Stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // ZLibMC.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/Stdafx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently,
3 | // but are changed infrequently
4 |
5 | #pragma once
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/ZLibMC.h:
--------------------------------------------------------------------------------
1 | // ZLibMC.h
2 |
3 | #pragma once
4 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/ZLibMC.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Header Files
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 |
30 | Source Files
31 |
32 |
33 | Source Files
34 |
35 |
36 | Source Files
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | Resource Files
45 |
46 |
47 |
48 |
49 | Resource Files
50 |
51 |
52 |
--------------------------------------------------------------------------------
/Vendor/ZLibMC/app.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/ZLibMC/app.ico
--------------------------------------------------------------------------------
/Vendor/ZLibMC/app.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/ZLibMC/app.rc
--------------------------------------------------------------------------------
/Vendor/ZLibMC/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by app.rc
4 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/ChangeLog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/zlib-1.2.8/ChangeLog
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/INDEX:
--------------------------------------------------------------------------------
1 | CMakeLists.txt cmake build file
2 | ChangeLog history of changes
3 | FAQ Frequently Asked Questions about zlib
4 | INDEX this file
5 | Makefile dummy Makefile that tells you to ./configure
6 | Makefile.in template for Unix Makefile
7 | README guess what
8 | configure configure script for Unix
9 | make_vms.com makefile for VMS
10 | test/example.c zlib usages examples for build testing
11 | test/minigzip.c minimal gzip-like functionality for build testing
12 | test/infcover.c inf*.c code coverage for build coverage testing
13 | treebuild.xml XML description of source file dependencies
14 | zconf.h.cmakein zconf.h template for cmake
15 | zconf.h.in zconf.h template for configure
16 | zlib.3 Man page for zlib
17 | zlib.3.pdf Man page in PDF format
18 | zlib.map Linux symbol information
19 | zlib.pc.in Template for pkg-config descriptor
20 | zlib.pc.cmakein zlib.pc template for cmake
21 | zlib2ansi perl script to convert source files for C++ compilation
22 |
23 | amiga/ makefiles for Amiga SAS C
24 | as400/ makefiles for AS/400
25 | doc/ documentation for formats and algorithms
26 | msdos/ makefiles for MSDOS
27 | nintendods/ makefile for Nintendo DS
28 | old/ makefiles for various architectures and zlib documentation
29 | files that have not yet been updated for zlib 1.2.x
30 | qnx/ makefiles for QNX
31 | watcom/ makefiles for OpenWatcom
32 | win32/ makefiles for Windows
33 |
34 | zlib public header files (required for library use):
35 | zconf.h
36 | zlib.h
37 |
38 | private source files used to build the zlib library:
39 | adler32.c
40 | compress.c
41 | crc32.c
42 | crc32.h
43 | deflate.c
44 | deflate.h
45 | gzclose.c
46 | gzguts.h
47 | gzlib.c
48 | gzread.c
49 | gzwrite.c
50 | infback.c
51 | inffast.c
52 | inffast.h
53 | inffixed.h
54 | inflate.c
55 | inflate.h
56 | inftrees.c
57 | inftrees.h
58 | trees.c
59 | trees.h
60 | uncompr.c
61 | zutil.c
62 | zutil.h
63 |
64 | source files for sample programs
65 | See examples/README.examples
66 |
67 | unsupported contributions by third parties
68 | See contrib/README.contrib
69 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/Makefile:
--------------------------------------------------------------------------------
1 | all:
2 | -@echo "Please use ./configure first. Thank you."
3 |
4 | distclean:
5 | make -f Makefile.in distclean
6 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/README.contrib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/zlib-1.2.8/contrib/README.contrib
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/infback9/README:
--------------------------------------------------------------------------------
1 | See infback9.h for what this is and how to use it.
2 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/infback9/infback9.h:
--------------------------------------------------------------------------------
1 | /* infback9.h -- header for using inflateBack9 functions
2 | * Copyright (C) 2003 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /*
7 | * This header file and associated patches provide a decoder for PKWare's
8 | * undocumented deflate64 compression method (method 9). Use with infback9.c,
9 | * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported.
10 | * This should be compiled with zlib, since it uses zutil.h and zutil.o.
11 | * This code has not yet been tested on 16-bit architectures. See the
12 | * comments in zlib.h for inflateBack() usage. These functions are used
13 | * identically, except that there is no windowBits parameter, and a 64K
14 | * window must be provided. Also if int's are 16 bits, then a zero for
15 | * the third parameter of the "out" function actually means 65536UL.
16 | * zlib.h must be included before this header file.
17 | */
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm,
24 | in_func in, void FAR *in_desc,
25 | out_func out, void FAR *out_desc));
26 | ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm));
27 | ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm,
28 | unsigned char FAR *window,
29 | const char *version,
30 | int stream_size));
31 | #define inflateBack9Init(strm, window) \
32 | inflateBack9Init_((strm), (window), \
33 | ZLIB_VERSION, sizeof(z_stream))
34 |
35 | #ifdef __cplusplus
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/infback9/inflate9.h:
--------------------------------------------------------------------------------
1 | /* inflate9.h -- internal inflate state definition
2 | * Copyright (C) 1995-2003 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* WARNING: this file should *not* be used by applications. It is
7 | part of the implementation of the compression library and is
8 | subject to change. Applications should only use zlib.h.
9 | */
10 |
11 | /* Possible inflate modes between inflate() calls */
12 | typedef enum {
13 | TYPE, /* i: waiting for type bits, including last-flag bit */
14 | STORED, /* i: waiting for stored size (length and complement) */
15 | TABLE, /* i: waiting for dynamic block table lengths */
16 | LEN, /* i: waiting for length/lit code */
17 | DONE, /* finished check, done -- remain here until reset */
18 | BAD /* got a data error -- remain here until reset */
19 | } inflate_mode;
20 |
21 | /*
22 | State transitions between above modes -
23 |
24 | (most modes can go to the BAD mode -- not shown for clarity)
25 |
26 | Read deflate blocks:
27 | TYPE -> STORED or TABLE or LEN or DONE
28 | STORED -> TYPE
29 | TABLE -> LENLENS -> CODELENS -> LEN
30 | Read deflate codes:
31 | LEN -> LEN or TYPE
32 | */
33 |
34 | /* state maintained between inflate() calls. Approximately 7K bytes. */
35 | struct inflate_state {
36 | /* sliding window */
37 | unsigned char FAR *window; /* allocated sliding window, if needed */
38 | /* dynamic table building */
39 | unsigned ncode; /* number of code length code lengths */
40 | unsigned nlen; /* number of length code lengths */
41 | unsigned ndist; /* number of distance code lengths */
42 | unsigned have; /* number of code lengths in lens[] */
43 | code FAR *next; /* next available space in codes[] */
44 | unsigned short lens[320]; /* temporary storage for code lengths */
45 | unsigned short work[288]; /* work area for code table building */
46 | code codes[ENOUGH]; /* space for code tables */
47 | };
48 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/masmx64/bld_ml64.bat:
--------------------------------------------------------------------------------
1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
3 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/masmx64/readme.txt:
--------------------------------------------------------------------------------
1 | Summary
2 | -------
3 | This directory contains ASM implementations of the functions
4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t),
5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits.
6 |
7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits
8 | assembly optimized version from Jean-loup Gailly original longest_match function
9 |
10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
11 | original function from Mark Adler
12 |
13 | Use instructions
14 | ----------------
15 | Assemble the .asm files using MASM and put the object files into the zlib source
16 | directory. You can also get object files here:
17 |
18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
19 |
20 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
21 | and inffasx64.obj and gvmat64.obj as object to link.
22 |
23 |
24 | Build instructions
25 | ------------------
26 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe)
27 |
28 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
29 |
30 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from
31 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
32 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/masmx86/bld_ml32.bat:
--------------------------------------------------------------------------------
1 | ml /coff /Zi /c /Flmatch686.lst match686.asm
2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm
3 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/contrib/masmx86/readme.txt:
--------------------------------------------------------------------------------
1 |
2 | Summary
3 | -------
4 | This directory contains ASM implementations of the functions
5 | longest_match() and inflate_fast().
6 |
7 |
8 | Use instructions
9 | ----------------
10 | Assemble using MASM, and copy the object files into the zlib source
11 | directory, then run the appropriate makefile, as suggested below. You can
12 | donwload MASM from here:
13 |
14 | http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
15 |
16 | You can also get objects files here:
17 |
18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
19 |
20 | Build instructions
21 | ------------------
22 | * With Microsoft C and MASM:
23 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
24 |
25 | * With Borland C and TASM:
26 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
27 |
28 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/gzclose.c:
--------------------------------------------------------------------------------
1 | /* gzclose.c -- zlib gzclose() function
2 | * Copyright (C) 2004, 2010 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | #include "gzguts.h"
7 |
8 | /* gzclose() is in a separate file so that it is linked in only if it is used.
9 | That way the other gzclose functions can be used instead to avoid linking in
10 | unneeded compression or decompression routines. */
11 | int ZEXPORT gzclose(file)
12 | gzFile file;
13 | {
14 | #ifndef NO_GZCOMPRESS
15 | gz_statep state;
16 |
17 | if (file == NULL)
18 | return Z_STREAM_ERROR;
19 | state = (gz_statep)file;
20 |
21 | return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
22 | #else
23 | return gzclose_r(file);
24 | #endif
25 | }
26 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/inffast.h:
--------------------------------------------------------------------------------
1 | /* inffast.h -- header to use inffast.c
2 | * Copyright (C) 1995-2003, 2010 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* WARNING: this file should *not* be used by applications. It is
7 | part of the implementation of the compression library and is
8 | subject to change. Applications should only use zlib.h.
9 | */
10 |
11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
12 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/uncompr.c:
--------------------------------------------------------------------------------
1 | /* uncompr.c -- decompress a memory buffer
2 | * Copyright (C) 1995-2003, 2010 Jean-loup Gailly.
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* @(#) $Id$ */
7 |
8 | #define ZLIB_INTERNAL
9 | #include "zlib.h"
10 |
11 | /* ===========================================================================
12 | Decompresses the source buffer into the destination buffer. sourceLen is
13 | the byte length of the source buffer. Upon entry, destLen is the total
14 | size of the destination buffer, which must be large enough to hold the
15 | entire uncompressed data. (The size of the uncompressed data must have
16 | been saved previously by the compressor and transmitted to the decompressor
17 | by some mechanism outside the scope of this compression library.)
18 | Upon exit, destLen is the actual size of the compressed buffer.
19 |
20 | uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
21 | enough memory, Z_BUF_ERROR if there was not enough room in the output
22 | buffer, or Z_DATA_ERROR if the input data was corrupted.
23 | */
24 | int ZEXPORT uncompress (dest, destLen, source, sourceLen)
25 | Bytef *dest;
26 | uLongf *destLen;
27 | const Bytef *source;
28 | uLong sourceLen;
29 | {
30 | z_stream stream;
31 | int err;
32 |
33 | stream.next_in = (z_const Bytef *)source;
34 | stream.avail_in = (uInt)sourceLen;
35 | /* Check for source > 64K on 16-bit machine: */
36 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
37 |
38 | stream.next_out = dest;
39 | stream.avail_out = (uInt)*destLen;
40 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
41 |
42 | stream.zalloc = (alloc_func)0;
43 | stream.zfree = (free_func)0;
44 |
45 | err = inflateInit(&stream);
46 | if (err != Z_OK) return err;
47 |
48 | err = inflate(&stream, Z_FINISH);
49 | if (err != Z_STREAM_END) {
50 | inflateEnd(&stream);
51 | if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
52 | return Z_DATA_ERROR;
53 | return err;
54 | }
55 | *destLen = stream.total_out;
56 |
57 | err = inflateEnd(&stream);
58 | return err;
59 | }
60 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/win32/VisualC.txt:
--------------------------------------------------------------------------------
1 |
2 | To build zlib using the Microsoft Visual C++ environment,
3 | use the appropriate project from the projects/ directory.
4 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/win32/visualc9-x64/README.txt:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Project Files, Format Version 9.00 for zlib.
2 |
3 | Copyright (C) 2000-2004 Simon-Pierre Cadieux.
4 | Copyright (C) 2004 Cosmin Truta.
5 | For conditions of distribution and use, see copyright notice in zlib.h.
6 |
7 |
8 | This project builds the zlib binaries as follows:
9 |
10 | * Win64_DLL_Release\zlib1.dll DLL build
11 | * Win64_DLL_Debug\zlib1d.dll DLL build (debug version)
12 | * Win64_DLL_ASM_Release\zlib1.dll DLL build using ASM code
13 | * Win64_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version)
14 | * Win64_LIB_Release\zlib.lib static build
15 | * Win64_LIB_Debug\zlibd.lib static build (debug version)
16 | * Win64_LIB_ASM_Release\zlib.lib static build using ASM code
17 | * Win64_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version)
18 |
19 |
20 | For more information regarding the DLL builds, please see the DLL FAQ
21 | in ..\..\Win64\DLL_FAQ.txt.
22 |
23 |
24 | To build and test:
25 |
26 | 1) On the main menu, select "File | Open Workspace".
27 | Open "zlib.dsw".
28 |
29 | 2) Select "Build | Set Active Configuration".
30 | Choose the configuration you wish to build.
31 |
32 | 3) Select "Build | Clean".
33 |
34 | 4) Select "Build | Build ... (F7)". Ignore warning messages about
35 | not being able to find certain include files (e.g. alloc.h).
36 |
37 | 5) If you built one of the sample programs (example or minigzip),
38 | select "Build | Execute ... (Ctrl+F5)".
39 |
40 |
41 | To use:
42 |
43 | 1) Select "Project | Settings (Alt+F7)".
44 | Make note of the configuration names used in your project.
45 | Usually, these names are "Win64 Release" and "Win64 Debug".
46 |
47 | 2) In the Workspace window, select the "FileView" tab.
48 | Right-click on the root item "Workspace '...'".
49 | Select "Insert Project into Workspace".
50 | Switch on the checkbox "Dependency of:", and select the name
51 | of your project. Open "zlib.dsp".
52 |
53 | 3) Select "Build | Configurations".
54 | For each configuration of your project:
55 | 3.1) Choose the zlib configuration you wish to use.
56 | 3.2) Click on "Add".
57 | 3.3) Set the new zlib configuration name to the name used by
58 | the configuration from the current iteration.
59 |
60 | 4) Select "Build | Set Active Configuration".
61 | Choose the configuration you wish to build.
62 |
63 | 5) Select "Build | Build ... (F7)".
64 |
65 | 6) If you built an executable program, select
66 | "Build | Execute ... (Ctrl+F5)".
67 |
68 |
69 | Note:
70 |
71 | To build the ASM-enabled code, you need Microsoft Assembler
72 | (ML64.EXE) part of Visual Studio 2008 or available from Microsoft.
73 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/win32/zlib.def:
--------------------------------------------------------------------------------
1 | ; zlib data compression library
2 | EXPORTS
3 | ; basic functions
4 | zlibVersion
5 | deflate
6 | deflateEnd
7 | inflate
8 | inflateEnd
9 | ; advanced functions
10 | deflateSetDictionary
11 | deflateCopy
12 | deflateReset
13 | deflateParams
14 | deflateTune
15 | deflateBound
16 | deflatePending
17 | deflatePrime
18 | deflateSetHeader
19 | inflateSetDictionary
20 | inflateGetDictionary
21 | inflateSync
22 | inflateCopy
23 | inflateReset
24 | inflateReset2
25 | inflatePrime
26 | inflateMark
27 | inflateGetHeader
28 | inflateBack
29 | inflateBackEnd
30 | zlibCompileFlags
31 | ; utility functions
32 | compress
33 | compress2
34 | compressBound
35 | uncompress
36 | gzopen
37 | gzdopen
38 | gzbuffer
39 | gzsetparams
40 | gzread
41 | gzwrite
42 | gzprintf
43 | gzvprintf
44 | gzputs
45 | gzgets
46 | gzputc
47 | gzgetc
48 | gzungetc
49 | gzflush
50 | gzseek
51 | gzrewind
52 | gztell
53 | gzoffset
54 | gzeof
55 | gzdirect
56 | gzclose
57 | gzclose_r
58 | gzclose_w
59 | gzerror
60 | gzclearerr
61 | ; large file functions
62 | gzopen64
63 | gzseek64
64 | gztell64
65 | gzoffset64
66 | adler32_combine64
67 | crc32_combine64
68 | ; checksum functions
69 | adler32
70 | crc32
71 | adler32_combine
72 | crc32_combine
73 | ; various hacks, don't look :)
74 | deflateInit_
75 | deflateInit2_
76 | inflateInit_
77 | inflateInit2_
78 | inflateBackInit_
79 | gzgetc_
80 | zError
81 | inflateSyncPoint
82 | get_crc_table
83 | inflateUndermine
84 | inflateResetKeep
85 | deflateResetKeep
86 | gzopen_w
87 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/win32/zlib1.rc:
--------------------------------------------------------------------------------
1 | #include
2 | #include "../zlib.h"
3 |
4 | #ifdef GCC_WINDRES
5 | VS_VERSION_INFO VERSIONINFO
6 | #else
7 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
8 | #endif
9 | FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
10 | PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
11 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
12 | #ifdef _DEBUG
13 | FILEFLAGS 1
14 | #else
15 | FILEFLAGS 0
16 | #endif
17 | FILEOS VOS__WINDOWS32
18 | FILETYPE VFT_DLL
19 | FILESUBTYPE 0 // not used
20 | BEGIN
21 | BLOCK "StringFileInfo"
22 | BEGIN
23 | BLOCK "040904E4"
24 | //language ID = U.S. English, char set = Windows, Multilingual
25 | BEGIN
26 | VALUE "FileDescription", "zlib data compression library\0"
27 | VALUE "FileVersion", ZLIB_VERSION "\0"
28 | VALUE "InternalName", "zlib1.dll\0"
29 | VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
30 | VALUE "OriginalFilename", "zlib1.dll\0"
31 | VALUE "ProductName", "zlib\0"
32 | VALUE "ProductVersion", ZLIB_VERSION "\0"
33 | VALUE "Comments", "For more information visit http://www.zlib.net/\0"
34 | END
35 | END
36 | BLOCK "VarFileInfo"
37 | BEGIN
38 | VALUE "Translation", 0x0409, 1252
39 | END
40 | END
41 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/zlib.3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/Vendor/zlib-1.2.8/zlib.3.pdf
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/zlib.map:
--------------------------------------------------------------------------------
1 | ZLIB_1.2.0 {
2 | global:
3 | compressBound;
4 | deflateBound;
5 | inflateBack;
6 | inflateBackEnd;
7 | inflateBackInit_;
8 | inflateCopy;
9 | local:
10 | deflate_copyright;
11 | inflate_copyright;
12 | inflate_fast;
13 | inflate_table;
14 | zcalloc;
15 | zcfree;
16 | z_errmsg;
17 | gz_error;
18 | gz_intmax;
19 | _*;
20 | };
21 |
22 | ZLIB_1.2.0.2 {
23 | gzclearerr;
24 | gzungetc;
25 | zlibCompileFlags;
26 | } ZLIB_1.2.0;
27 |
28 | ZLIB_1.2.0.8 {
29 | deflatePrime;
30 | } ZLIB_1.2.0.2;
31 |
32 | ZLIB_1.2.2 {
33 | adler32_combine;
34 | crc32_combine;
35 | deflateSetHeader;
36 | inflateGetHeader;
37 | } ZLIB_1.2.0.8;
38 |
39 | ZLIB_1.2.2.3 {
40 | deflateTune;
41 | gzdirect;
42 | } ZLIB_1.2.2;
43 |
44 | ZLIB_1.2.2.4 {
45 | inflatePrime;
46 | } ZLIB_1.2.2.3;
47 |
48 | ZLIB_1.2.3.3 {
49 | adler32_combine64;
50 | crc32_combine64;
51 | gzopen64;
52 | gzseek64;
53 | gztell64;
54 | inflateUndermine;
55 | } ZLIB_1.2.2.4;
56 |
57 | ZLIB_1.2.3.4 {
58 | inflateReset2;
59 | inflateMark;
60 | } ZLIB_1.2.3.3;
61 |
62 | ZLIB_1.2.3.5 {
63 | gzbuffer;
64 | gzoffset;
65 | gzoffset64;
66 | gzclose_r;
67 | gzclose_w;
68 | } ZLIB_1.2.3.4;
69 |
70 | ZLIB_1.2.5.1 {
71 | deflatePending;
72 | } ZLIB_1.2.3.5;
73 |
74 | ZLIB_1.2.5.2 {
75 | deflateResetKeep;
76 | gzgetc_;
77 | inflateResetKeep;
78 | } ZLIB_1.2.5.1;
79 |
80 | ZLIB_1.2.7.1 {
81 | inflateGetDictionary;
82 | gzvprintf;
83 | } ZLIB_1.2.5.2;
84 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/zlib.pc.cmakein:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=@CMAKE_INSTALL_PREFIX@
3 | libdir=@INSTALL_LIB_DIR@
4 | sharedlibdir=@INSTALL_LIB_DIR@
5 | includedir=@INSTALL_INC_DIR@
6 |
7 | Name: zlib
8 | Description: zlib compression library
9 | Version: @VERSION@
10 |
11 | Requires:
12 | Libs: -L${libdir} -L${sharedlibdir} -lz
13 | Cflags: -I${includedir}
14 |
--------------------------------------------------------------------------------
/Vendor/zlib-1.2.8/zlib.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | sharedlibdir=@sharedlibdir@
5 | includedir=@includedir@
6 |
7 | Name: zlib
8 | Description: zlib compression library
9 | Version: @VERSION@
10 |
11 | Requires:
12 | Libs: -L${libdir} -L${sharedlibdir} -lz
13 | Cflags: -I${includedir}
14 |
--------------------------------------------------------------------------------
/build/assemblyinfo.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | using System;
12 | using System.Reflection;
13 | using System.Resources;
14 | using System.Runtime.CompilerServices;
15 | using System.Runtime.InteropServices;
16 |
17 | [assembly: AssemblyCompany("TESVSnip")]
18 | [assembly: AssemblyTitle("TESVSnip (Skyrim Edition) - Version 4.5 (d95610f)")]
19 | [assembly: AssemblyCopyright("Copyright (c) 2014")]
20 | [assembly: AssemblyTrademark("All Rights Reserved")]
21 | [assembly: CLSCompliant(false)]
22 | [assembly: AssemblyDelaySign(false)]
23 | [assembly: AssemblyVersion("4.5.5141.0")]
24 | [assembly: AssemblyFileVersion("4.5.5141.0")]
25 | [assembly: AssemblyInformationalVersion("TESVSnip (Skyrim Edition) - Version 4.5")]
26 |
27 |
28 |
--------------------------------------------------------------------------------
/build/buildver.txt:
--------------------------------------------------------------------------------
1 | 4.5.5141.0
--------------------------------------------------------------------------------
/build/tasks/BuildTasks/BuildTasks.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 8.0.30703
7 | 2.0
8 | {7EE75F6C-A278-42C4-A198-2123392763EE}
9 | Library
10 | Properties
11 | BuildTasks
12 | BuildTasks
13 | v4.0
14 | 512
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug\
21 | DEBUG;TRACE
22 | prompt
23 | 4
24 |
25 |
26 | pdbonly
27 | true
28 | bin\Release\
29 | TRACE
30 | prompt
31 | 4
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
57 |
--------------------------------------------------------------------------------
/build/tasks/BuildTasks/BuildTasks.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildTasks", "BuildTasks.csproj", "{7EE75F6C-A278-42C4-A198-2123392763EE}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {7EE75F6C-A278-42C4-A198-2123392763EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {7EE75F6C-A278-42C4-A198-2123392763EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {7EE75F6C-A278-42C4-A198-2123392763EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {7EE75F6C-A278-42C4-A198-2123392763EE}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/build/tasks/BuildTasks/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("BuildTasks")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BuildTasks")]
13 | [assembly: AssemblyCopyright("Copyright © 2011")]
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("d9e42ef6-8e1d-4eb9-8e5d-b4cb2f490666")]
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 |
--------------------------------------------------------------------------------
/build/tesvsnip.buildtasks.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/build/tesvsnip.buildtasks.dll
--------------------------------------------------------------------------------
/build/tesvsnip.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/build/tesvsnip.snk
--------------------------------------------------------------------------------
/conf/DockPanel.config:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/conf/DockPanel.config
--------------------------------------------------------------------------------
/conf/ScriptFunctionsFormat.txt:
--------------------------------------------------------------------------------
1 | Contains a single Functions root node, which contains Enum, Block and Func nodes. Enums must contain one or more Element nodes, and Block and Func nodes may optionally contain Arg nodes.
2 |
3 | Valid attributes:
4 | Enum:
5 | name (required): The enum name. Used to match up with the enumtype attribute of Arg nodes
6 |
7 | Element:
8 | name (required): The name of this member of the enum
9 | value (required): An integer value which is emitted into the compiled code in place of the text name
10 |
11 | Block:
12 | name (required): The block name
13 | opcode (required): The opcode of the block
14 | Desc: Provide a human readable description of when the block gets executed
15 |
16 | Func:
17 | name (required): The function name
18 | opcode (required): The function opcode
19 | short: The short version of the function name
20 | desc: A human readable description of the function
21 | requiredargs: The number of arguments to the function which are required. If ommited defaults to the full number of arguments. Manually set it to lower than this if some arguments are optional
22 | allowref: Set to false if you want the compile to throw an error on syntax like 'player.funcname'. If ommited, defaults to true.
23 | ret: The type returned by this function. If it exists, must be one of float/int/ref. If ommited, the function returns no value.
24 | paddingbytes: A hack used to get ShowMessage working. Causes the supplied number of 0's to be tacked onto the end of the function call in the compiled code.
25 | fose: If it exists and is set to true, marks the function as one belonging to fallout script extender, and not usable in the vanilla game.
26 | skipargs: If it exists and is true, the argument list is ignored and no paramcount bytes are emitted into the compiled code. (Hack for StopCombatAlarmOnActor, which seems to have taken an actor argument at one stage)
27 |
28 | Arg:
29 | name (required): A human readable description of the argument
30 | type (required): The argument type. Must be one of float/int/ref/string/short/enum/axis for functions, and ref/short/int for blocks
31 | reftype: If the argument is of type ref, use this to limit which edid's are valid.
32 | enumtype (required if type="enum"): The name of the enum to be used
--------------------------------------------------------------------------------
/conf/settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/scripts/lib/Licence_CeCILL_V2-en.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/scripts/lib/Licence_CeCILL_V2-en.html
--------------------------------------------------------------------------------
/scripts/lib/Licence_CeCILL_V2-fr.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/scripts/lib/Licence_CeCILL_V2-fr.html
--------------------------------------------------------------------------------
/scripts/plugins/CopyTo.py:
--------------------------------------------------------------------------------
1 | #
2 | # Copy to Example
3 | #
4 | # Copy Selected Group or Record to another plugin or new plugin
5 | #
6 | from shared.util import *
7 |
8 | import System
9 | import TESVSnip.Domain
10 | from TESVSnip.Domain.Model import BaseRecord, Record, Plugin, SubRecord, GroupRecord
11 | from System import TimeSpan
12 | from System.Diagnostics import Stopwatch
13 |
14 | def copyToRecord(records, override):
15 | import TESVSnip.Domain.Spells
16 | from shared.SelectItem import SelectItem
17 | GetPluginFromNode = TESVSnip.Domain.Spells.GetPluginFromNode
18 |
19 | parents = set( [ GetPluginFromNode(r).Name for r in records ] )
20 | form = SelectItem()
21 | form.SetLabel('Select Plugin to Copy Records into:')
22 | items = [ x.Name for x in __plugins__ if x.Name not in parents ]
23 | items.append('')
24 | form.SetItems(items)
25 | result = form.ShowDialog(__window__)
26 | if str(result) == 'OK':
27 | if '' == form.GetSelectedItem():
28 | p = newPlugin()
29 | __plugins__.AddRecord(p)
30 | else:
31 | p = __plugins__[form.GetSelectedItem()]
32 | if p:
33 | TESVSnip.Domain.Spells.CopyRecordsTo(records, p, override)
34 | pass
35 |
36 |
37 | if __name__ == '':
38 | import TESVSnip
39 | from TESVSnip.UI.Hosting import ScriptSupport
40 |
41 | class ScriptPlugin(TESVSnip.UI.Services.PluginBase):
42 | from System.Drawing import Color
43 | def Execute(self, recs):
44 | sw = Stopwatch.StartNew()
45 | if self.Name == 'copyto.over':
46 | copyToRecord(recs, True)
47 | elif self.Name == 'copyto.new':
48 | copyToRecord(recs, False)
49 | sw.Stop()
50 | t = TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds)
51 | ScriptSupport.SendStatusText('Script took %s to complete. List added to clipboard'%t.ToString() , Color.Blue )
52 |
53 | def IsValidSelection(self, recs):
54 | if recs is None or len(recs) == 0: return False
55 | for rec in recs:
56 | if not isinstance(rec, GroupRecord) and not isinstance(rec, Record):
57 | return False
58 | return True
59 |
60 | TESVSnip.UI.Services.PluginStore.AddPlugins(
61 | [ ScriptPlugin("copyto.over", "&Copy Override To", supportSelection=True, supportGlobal=False)
62 | , ScriptPlugin("copyto.new", "&Copy New To", supportSelection=True, supportGlobal=False)
63 | ]
64 | )
--------------------------------------------------------------------------------
/scripts/plugins/shared/__init__.py:
--------------------------------------------------------------------------------
1 | import required
2 |
--------------------------------------------------------------------------------
/scripts/plugins/shared/required.py:
--------------------------------------------------------------------------------
1 | #
2 | # Required imports by all scripts
3 | #
4 | import clr
5 | clr.AddReferenceByPartialName("TESVSnip.Framework")
6 | clr.AddReferenceByPartialName("TESVSnip.Domain")
7 | clr.AddReferenceByPartialName("System.Core")
8 | try:
9 | # TESVSnip Application may not be loaded on command line
10 | clr.AddReferenceByPartialName("TESVSnip")
11 | clr.AddReferenceByPartialName("System.Windows.Forms")
12 | clr.AddReferenceByPartialName("System.Drawing")
13 | except:
14 | pass
15 |
--------------------------------------------------------------------------------
/scripts/renderer.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | line-height: 1.6em;
4 | background-color: #F0F0F0;
5 | }
6 | p { margin: 0px; }
7 | #record-hdr
8 | {
9 | border: thin solid #C0C0C0;
10 | font-family: "Lucida Sans Unicode" , "Lucida Grande" , Sans-Serif;
11 | font-size: 12px;
12 | background: #fff;
13 | margin: 5px;
14 | width: 400px;
15 | border-collapse: collapse;
16 | text-align: left;
17 | }
18 | #record-hdr thead
19 | {
20 | font-size: 12px;
21 | font-weight: normal;
22 | color: #039;
23 | padding: 10px 8px;
24 | text-align: left;
25 | }
26 | #record-hdr thead td
27 | {
28 | font-size: 15px;
29 | font-weight: bold;
30 | text-align: center;
31 | }
32 | #record-hdr td
33 | {
34 | color: #669;
35 | padding: 2px 2px 0px 4px;
36 | border: 1px solid #CCCCCC;
37 | color: #000;
38 | }
39 | #record-hdr tbody tr:hover td
40 | {
41 | border: 1px dashed #808080;
42 | color: #009;
43 | }
44 | #record-hdr .header { color: #1e90ff;font-weight: bold; }
45 | #record-hdr .type { color: #000; font-weight: bold; }
46 | #record-hdr .label { color: #009; }
47 | #record-hdr .value { color: #1e90ff; }
48 | #record-hdr .flags { color: #000; }
49 | #record-hdr .formid
50 | {
51 | color: #800000;
52 | font-weight: bolder;
53 | }
54 | .danger { color: #800000; }
55 |
56 | #record-desc
57 | {
58 | border: thin solid #C0C0C0;
59 | font-family: "Lucida Sans Unicode" , "Lucida Grande" , Sans-Serif;
60 | font-size: 12px;
61 | background: #fff;
62 | margin: 5px;
63 | border-collapse: collapse;
64 | text-align: left;
65 | width: 95%
66 | }
67 | #record-desc thead
68 | {
69 | font-size: 12px;
70 | font-weight: normal;
71 | color: #039;
72 | padding: 10px 8px;
73 | text-align: left;
74 | }
75 | #record-desc thead td
76 | {
77 | font-size: 15px;
78 | font-weight: bold;
79 | text-align: center;
80 | }
81 | #record-desc td
82 | {
83 | color: #669;
84 | padding: 2px 2px 0px 4px;
85 | border: 1px solid #CCCCCC;
86 | color: #000;
87 | }
88 | #record-desc tbody tr:hover td
89 | {
90 | border: 1px dashed #808080;
91 | color: #009;
92 | }
93 | #record-desc .headerlabel
94 | {
95 | color: #800080;
96 | font-weight: bold;
97 | }
98 | #record-desc .header { color: #1e90ff;font-weight: bold; }
99 | #record-desc .type { color: #000; font-weight: bold; }
100 | #record-desc .label { color: #009; }
101 | #record-desc .value { color: #1e90ff; }
102 | #record-desc .flags { color: #000; }
103 | #record-desc .desc { color: #000; }
104 | #record-desc .formid
105 | {
106 | color: #800000;
107 | font-weight: bolder;
108 | }
109 | .hidden
110 | {
111 | visibility: hidden;
112 | }
113 | #record-desc tfoot
114 | {
115 | visibility: hidden;
116 | }
117 |
--------------------------------------------------------------------------------
/test/ipy.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal
3 | pushd "%~dp0"
4 |
5 | IF NOT EXIST "%IPY_PATH%" for %%I in (ipy.exe) do @IF EXIST "%%~dp$PATH:I" set IPY_PATH=%%~dp$PATH:I
6 | IF NOT EXIST "%IPY_PATH%" set IPY_PATH=%ProgramFiles%\IronPython 2.7
7 | IF NOT EXIST "%IPY_PATH%" set IPY_PATH=%ProgramFiles(x86)%\IronPython 2.7
8 | IF NOT EXIST "%IPY_PATH%" (
9 | Echo ipy.exe not found on PATH or in common folders. Aborting
10 | goto exit
11 | )
12 | set IRONPYTHONSTARTUP=%~dp0\startup.py
13 | set IRONPYTHONPATH=%~dp0\..\scripts\plugins;%~dp0\..\scripts\lib;%~dp0\..\scripts
14 | call "%IPY_PATH%\ipy.exe" %*
15 | popd
16 | endlocal
--------------------------------------------------------------------------------
/test/startup.py:
--------------------------------------------------------------------------------
1 | #
2 | # Required imports by all scripts
3 | #
4 | import os, sys
5 | binpath = os.getcwd() + r'\..\Domain\bin\release\\'
6 | sys.path.append(binpath)
7 | sys.path.append(os.getcwd() + r'\..\conf\plugins')
8 |
9 | import clr
10 | #clr.AddReferenceByPartialName("TESVSnip.Domain")
11 | clr.AddReferenceToFileAndPath(binpath + 'TESVSnip.Framework.dll')
12 | clr.AddReferenceToFileAndPath(binpath + 'TESVSnip.Domain.dll')
13 | clr.AddReferenceByPartialName("System.Core")
14 | #import TESVSnip.Framework, TESVSnip.Domain
--------------------------------------------------------------------------------
/test/test1.py:
--------------------------------------------------------------------------------
1 | import startup
2 | import shared.util as util
3 | gameDir = util.getGameDirectory()
4 |
5 | import System
6 | from System.Diagnostics import Stopwatch
7 | from System import TimeSpan
8 |
9 | sw = Stopwatch.StartNew()
10 |
11 | import TESVSnip.Domain
12 | import ListItems
13 | plugins = TESVSnip.Domain.Model.PluginList.All
14 |
15 | excludeList = 'RGDL;CLDC;PWAT;SCOL;SCPT;HAIR;REGN;NAVI;WRLD;DIAL;CELL;IMAD;WTHR'.Split(';')
16 | filter = System.Func[str,bool]( lambda x: x not in excludeList )
17 |
18 | pluginList = util.loadMasterPluginIndex()
19 | from System import Random
20 | rand = Random()
21 | pluginName = pluginList.items()[ rand.Next(0,len(pluginList)-1) ][0]
22 | plugins.AddRecord(TESVSnip.Domain.Model.Plugin(gameDir + pluginName, filter))
23 | #plugins.AddRecord(TESVSnip.Domain.Model.Plugin(gameDir + 'skyrim.esm', filter))
24 | print ListItems.generateItemList(plugins)
25 |
26 | import ModWeight
27 | print ModWeight.listNPCWeights(plugins)
28 | print ModWeight.modifyNPCWeights(plugins)
29 |
30 | sw.Stop()
31 | t = TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds)
32 | print 'Script took',t,'to complete'
--------------------------------------------------------------------------------
/test/test2.py:
--------------------------------------------------------------------------------
1 | import startup
2 | import shared.util as util
3 | gameDir = util.getGameDirectory()
4 |
5 | import System
6 | from System.Diagnostics import Stopwatch
7 | from System import TimeSpan
8 | import TESVSnip.Domain
9 | from TESVSnip.Domain.Services import Spells
10 |
11 | import markup
12 |
13 | def browser(htmlstr):
14 | import BaseHTTPServer
15 | import webbrowser
16 | class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
17 | def do_GET(self):
18 | bufferSize = 1024*1024
19 | for i in range(0, len(htmlstr), bufferSize):
20 | self.wfile.write(htmlstr[i:i+bufferSize])
21 | server = BaseHTTPServer.HTTPServer(('127.0.0.1', 0), RequestHandler)
22 | webbrowser.open('http://127.0.0.1:%s' % server.server_port)
23 | server.handle_request()
24 |
25 | sw = Stopwatch.StartNew()
26 |
27 | page = markup.page( )
28 | page.init( title="My title"
29 | ,css=( 'bootstrap.min.css', 'bootstrap-theme.min.css' )
30 | ,script=('jquery-1.11.0.min.js','bootstrap.min.js')
31 | ,header="Something at the top"
32 | ,footer="The bitter end."
33 | )
34 | items = ( "Item one", "Item two", "Item three", "Item four" )
35 | paras = ( "This was a list.", "And now for something completely different." )
36 | images = ( "thumb1.jpg", "thumb2.jpg", "more.jpg", "more2.jpg" )
37 | with page.ul( class_='mylist' ):
38 | page.li( items, class_='myitem' )
39 | page.p( paras )
40 | page.img( src=images, width=100, height=80, alt="Thumbnails" )
41 |
42 | with page.div( class_="row" ):
43 | with page.div( class_="col-md-9" ):
44 | page.p('Level 1: .col-md-9')
45 | with page.div( class_="row" ):
46 | page.div(class_="col-md-6").add("Level 2: .col-md-6")
47 | page.div(class_="col-md-6").add("Level 2: .col-md-6")
48 |
49 | strpage = str(page)
50 | with open('test2.html', "w") as f:
51 | f.write(strpage)
52 | #print strpage
53 | #browser( strpage )
54 |
55 | sw.Stop()
56 | t = TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds)
57 | print 'Script took',t,'to complete'
--------------------------------------------------------------------------------
/test/test3.py:
--------------------------------------------------------------------------------
1 | import startup
2 | import shared.util as util
3 | gameDir = util.getGameDirectory()
4 |
5 | import System
6 | from System.Diagnostics import Stopwatch
7 | from System import TimeSpan
8 |
9 | import TESVSnip.Domain
10 |
11 | sw = Stopwatch.StartNew()
12 |
13 | # use an match filter to minimize the load time of skyrim.esm
14 | includeList = ('RACE', 'NPC_', 'LVLN')
15 | filter = System.Func[str,bool]( lambda x: x in includeList )
16 |
17 |
18 | plugins = TESVSnip.Domain.Model.PluginList.All
19 | pluginList = util.loadMasterPluginIndex()
20 | from System import Random
21 | rand = Random()
22 | pluginName = pluginList.items()[ rand.Next(0,len(pluginList)-1) ][0]
23 | plugins.AddRecord(TESVSnip.Domain.Model.Plugin(gameDir + pluginName, filter))
24 |
25 | import ExtractNPCs
26 | skyrimRaces = TESVSnip.Domain.Model.Plugin(gameDir + 'skyrim.esm', filter)
27 | records = [skyrimRaces]
28 | records.extend(plugins.Records)
29 | races = ExtractNPCs.getNPCRaces(records)
30 | for race in races:
31 | print race
32 |
33 | p = util.newPlugin()
34 | from TESVSnip.Domain.Services import Spells
35 |
36 | aRaces = System.Collections.Generic.List[TESVSnip.Domain.Model.BaseRecord](races).ToArray()
37 | Spells.CopyRecordsTo(aRaces, p, False)
38 |
39 | sw.Stop()
40 | t = TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds)
41 | print 'Script took',t,'to complete'
--------------------------------------------------------------------------------
/test/test4.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import startup
3 | import shared.util as util
4 | gameDir = util.getGameDirectory('Oblivion')
5 |
6 | import System
7 | from System.Diagnostics import Stopwatch
8 | from System import TimeSpan
9 | from System.IO import Path
10 |
11 | import TESVSnip.Domain
12 | from TESVSnip.Domain.Services import Spells
13 | from TESVSnip.Domain.Model import BaseRecord, Record, Plugin, SubRecord, GroupRecord
14 | from TESVSnip.Domain.Data.Structure import RecordStructure, ElementValueType
15 | from TESVSnip.Domain.Scripts import PyInterpreter
16 | from TESVSnip.Domain.Services import Spells
17 |
18 | import markup
19 | import HTML as tb
20 | import renderer
21 |
22 | def browser(htmlstr):
23 | import BaseHTTPServer
24 | import webbrowser
25 | class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
26 | def do_GET(self):
27 | bufferSize = 1024*1024
28 | for i in range(0, len(htmlstr), bufferSize):
29 | self.wfile.write(htmlstr[i:i+bufferSize])
30 | server = BaseHTTPServer.HTTPServer(('127.0.0.1', 0), RequestHandler)
31 | webbrowser.open('http://127.0.0.1:%s' % server.server_port)
32 | server.handle_request()
33 |
34 | sw = Stopwatch.StartNew()
35 | plugin = TESVSnip.Domain.Model.Plugin(gameDir + 'asdf.esp')
36 | rec = None
37 | # for rec in plugin.Records:
38 | # if isinstance(rec, GroupRecord):
39 | # break
40 | for kvp in plugin.EnumerateRecords('RACE'):
41 | rec = kvp.Value
42 | #break
43 | cssfile = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(sys.argv[0]),'../scripts/renderer.css'))
44 | html = renderer.HTMLRenderer(title="Record",css=( cssfile, ) )
45 | html.GetHeader(rec)
46 | #html.GetHeader(plugin)
47 | html.page.hr()
48 | html.GetDescription(rec)
49 |
50 | strpage = str(html)
51 | with open('test4.html', "w") as f:
52 | f.write(strpage)
53 | #print strpage
54 | #browser( strpage )
55 |
56 | sw.Stop()
57 | t = TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds)
58 | print 'Script took',t,'to complete'
--------------------------------------------------------------------------------
/test/viewhtml.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | pushd "%~dp0"
3 | start viewhtml\bin\release\viewhtml.exe %*
4 | popd
--------------------------------------------------------------------------------
/test/viewhtml/HtmlForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.IO;
7 | using System.Linq;
8 | using System.Text;
9 | using System.Windows.Forms;
10 |
11 | namespace viewhtml
12 | {
13 | public partial class HtmlForm : Form, IBrowser
14 | {
15 | public HtmlForm()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | public string File { get; set; }
21 |
22 | private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
23 | {
24 | Reload();
25 | }
26 |
27 | private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
28 | {
29 | Reload();
30 | }
31 |
32 | private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
33 | {
34 | Reload();
35 | }
36 |
37 | void Reload()
38 | {
39 | if (System.IO.File.Exists(this.File))
40 | {
41 | using (var stream = new FileStream(this.File, FileMode.Open, FileAccess.Read,
42 | FileShare.Read, 4096, FileOptions.SequentialScan))
43 | using (var reader = new StreamReader(stream))
44 | this.htmlPanel1.Text = reader.ReadToEnd();
45 | }
46 | else
47 | {
48 | this.htmlPanel1.Text = "";
49 | }
50 | }
51 |
52 | private void HtmlForm_Load(object sender, EventArgs e)
53 | {
54 | this.fileSystemWatcher1.Path = Path.GetFullPath(Path.GetDirectoryName(this.File));
55 | this.fileSystemWatcher1.Filter = Path.GetFileName(this.File);
56 | this.fileSystemWatcher1.IncludeSubdirectories = false;
57 | this.fileSystemWatcher1.EnableRaisingEvents = true;
58 | Reload();
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/test/viewhtml/IBrowser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace viewhtml
7 | {
8 | interface IBrowser
9 | {
10 | string File { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/viewhtml/MSHTMLView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.IO;
7 | using System.Linq;
8 | using System.Text;
9 | using System.Windows.Forms;
10 |
11 | namespace viewhtml
12 | {
13 | public partial class MSHTMLView : Form, IBrowser
14 | {
15 | public MSHTMLView()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | public string File { get; set; }
21 |
22 | private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
23 | {
24 | Reload();
25 | }
26 |
27 | private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
28 | {
29 | Reload();
30 | }
31 |
32 | private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
33 | {
34 | Reload();
35 | }
36 |
37 | void Reload()
38 | {
39 | if (System.IO.File.Exists(this.File))
40 | {
41 | var fileToOpen = new Uri(this.File);
42 | this.webBrowser1.Url = fileToOpen;
43 | }
44 | else
45 | {
46 | var ub = new UriBuilder("about", "blank");
47 | this.webBrowser1.Url = ub.Uri;
48 | }
49 | }
50 |
51 | private void MSHTMLView_Load(object sender, EventArgs e)
52 | {
53 | this.fileSystemWatcher1.Path = Path.GetFullPath(Path.GetDirectoryName(this.File));
54 | this.fileSystemWatcher1.Filter = Path.GetFileName(this.File);
55 | this.fileSystemWatcher1.IncludeSubdirectories = false;
56 | this.fileSystemWatcher1.EnableRaisingEvents = true;
57 | Reload();
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/test/viewhtml/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Windows.Forms;
6 |
7 | namespace viewhtml
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 |
20 | string fileToWatch = null;
21 | IBrowser browser = null;
22 | foreach (var arg in System.Environment.GetCommandLineArgs())
23 | {
24 | if (arg.StartsWith("-") && arg.Length > 1)
25 | {
26 | switch (arg.ToLower()[1])
27 | {
28 | case 'i':
29 | browser = new MSHTMLView();
30 | break;
31 | case 'h':
32 | browser = new HtmlForm();
33 | break;
34 | }
35 | }
36 | else
37 | {
38 | fileToWatch = Path.GetFullPath(arg);
39 | }
40 | }
41 | if (string.IsNullOrEmpty(fileToWatch))
42 | {
43 | MessageBox.Show("No file specified.");
44 | return;
45 | }
46 | if (browser == null)
47 | browser = new DualForm();
48 |
49 | Environment.CurrentDirectory = Path.GetFullPath(Path.GetDirectoryName(fileToWatch));
50 |
51 | browser.File = fileToWatch;
52 |
53 | Application.Run( browser as Form );
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/test/viewhtml/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("viewhtml")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("viewhtml")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
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("c45728e3-ef19-4d45-a6a2-40affe82bf73")]
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 |
--------------------------------------------------------------------------------
/test/viewhtml/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
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 viewhtml.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 |
--------------------------------------------------------------------------------
/test/viewhtml/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/test/viewhtml/viewhtml.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | test4.html
5 | D:\Development\Gaming\tesvsnip\test
6 |
7 |
--------------------------------------------------------------------------------
/thirdparty/HtmlRenderer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/HtmlRenderer.dll
--------------------------------------------------------------------------------
/thirdparty/ICSharpCode.AvalonEdit.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/ICSharpCode.AvalonEdit.dll
--------------------------------------------------------------------------------
/thirdparty/Ionic.Zlib.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/Ionic.Zlib.dll
--------------------------------------------------------------------------------
/thirdparty/MagicLibrary.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/MagicLibrary.dll
--------------------------------------------------------------------------------
/thirdparty/PythonConsoleControl.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/PythonConsoleControl.dll
--------------------------------------------------------------------------------
/thirdparty/WeifenLuo.WinFormsUI.Docking.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/WeifenLuo.WinFormsUI.Docking.dll
--------------------------------------------------------------------------------
/thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.dll
--------------------------------------------------------------------------------
/thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/figment/tesvsnip/a01eb806df50e72cb96177e42f0b69407ed599f3/thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.pdb
--------------------------------------------------------------------------------