├── .gitignore ├── 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 │ ├── fosnip.ico │ ├── 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 │ ├── 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.Docking.cs │ │ ├── MainView.Messaging.cs │ │ ├── MainView.Model.cs │ │ ├── MainView.Scripts.cs │ │ ├── MainView.Search.cs │ │ ├── MainView.Selection.cs │ │ ├── MainView.Spells.cs │ │ ├── MainView.Status.cs │ │ ├── MainView.Strings.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 │ ├── Scripts │ │ ├── Keywords.cs │ │ ├── PyInterpreter.cs │ │ ├── ScriptCompiler.cs │ │ ├── Token.cs │ │ ├── TokenStream.cs │ │ └── TokenType.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 ├── 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 ├── Vendor ├── IronPython │ ├── DLLs │ │ ├── IronPython.SQLite.dll │ │ └── IronPython.Wpf.dll │ ├── Doc │ │ └── dotnet-integration.rst │ ├── IronPython.Modules.dll │ ├── IronPython.Modules.xml │ ├── IronPython.dll │ ├── IronPython.xml │ ├── Lib │ │ ├── BaseHTTPServer.py │ │ ├── Bastion.py │ │ ├── CGIHTTPServer.py │ │ ├── ConfigParser.py │ │ ├── Cookie.py │ │ ├── DocXMLRPCServer.py │ │ ├── HTMLParser.py │ │ ├── MimeWriter.py │ │ ├── Queue.py │ │ ├── SimpleHTTPServer.py │ │ ├── SimpleXMLRPCServer.py │ │ ├── SocketServer.py │ │ ├── StringIO.py │ │ ├── UserDict.py │ │ ├── UserList.py │ │ ├── UserString.py │ │ ├── _LWPCookieJar.py │ │ ├── _MozillaCookieJar.py │ │ ├── __future__.py │ │ ├── __phello__.foo.py │ │ ├── _abcoll.py │ │ ├── _pyio.py │ │ ├── _strptime.py │ │ ├── _threading_local.py │ │ ├── _weakrefset.py │ │ ├── abc.py │ │ ├── aifc.py │ │ ├── antigravity.py │ │ ├── anydbm.py │ │ ├── argparse.py │ │ ├── ast.py │ │ ├── asynchat.py │ │ ├── asyncore.py │ │ ├── atexit.py │ │ ├── audiodev.py │ │ ├── base64.py │ │ ├── bdb.py │ │ ├── binhex.py │ │ ├── bisect.py │ │ ├── calendar.py │ │ ├── cgi.py │ │ ├── cgitb.py │ │ ├── chunk.py │ │ ├── cmd.py │ │ ├── code.py │ │ ├── codecs.py │ │ ├── codeop.py │ │ ├── collections.py │ │ ├── colorsys.py │ │ ├── commands.py │ │ ├── compileall.py │ │ ├── contextlib.py │ │ ├── cookielib.py │ │ ├── copy.py │ │ ├── csv.py │ │ ├── ctypes │ │ │ ├── __init__.py │ │ │ ├── _endian.py │ │ │ ├── macholib │ │ │ │ ├── __init__.py │ │ │ │ ├── dyld.py │ │ │ │ ├── dylib.py │ │ │ │ └── framework.py │ │ │ ├── util.py │ │ │ └── wintypes.py │ │ ├── decimal.py │ │ ├── difflib.py │ │ ├── dircache.py │ │ ├── dis.py │ │ ├── distutils │ │ │ ├── __init__.py │ │ │ ├── archive_util.py │ │ │ ├── bcppcompiler.py │ │ │ ├── ccompiler.py │ │ │ ├── cmd.py │ │ │ ├── command │ │ │ │ ├── __init__.py │ │ │ │ ├── bdist.py │ │ │ │ ├── bdist_dumb.py │ │ │ │ ├── bdist_rpm.py │ │ │ │ ├── bdist_wininst.py │ │ │ │ ├── build.py │ │ │ │ ├── build_clib.py │ │ │ │ ├── build_ext.py │ │ │ │ ├── build_py.py │ │ │ │ ├── build_scripts.py │ │ │ │ ├── check.py │ │ │ │ ├── clean.py │ │ │ │ ├── config.py │ │ │ │ ├── install.py │ │ │ │ ├── install_data.py │ │ │ │ ├── install_egg_info.py │ │ │ │ ├── install_headers.py │ │ │ │ ├── install_lib.py │ │ │ │ ├── install_scripts.py │ │ │ │ ├── register.py │ │ │ │ ├── sdist.py │ │ │ │ └── upload.py │ │ │ ├── config.py │ │ │ ├── core.py │ │ │ ├── cygwinccompiler.py │ │ │ ├── debug.py │ │ │ ├── dep_util.py │ │ │ ├── dir_util.py │ │ │ ├── dist.py │ │ │ ├── emxccompiler.py │ │ │ ├── errors.py │ │ │ ├── extension.py │ │ │ ├── fancy_getopt.py │ │ │ ├── file_util.py │ │ │ ├── filelist.py │ │ │ ├── log.py │ │ │ ├── msvccompiler.py │ │ │ ├── spawn.py │ │ │ ├── sysconfig.py │ │ │ ├── text_file.py │ │ │ ├── unixccompiler.py │ │ │ ├── util.py │ │ │ ├── version.py │ │ │ └── versionpredicate.py │ │ ├── doctest.py │ │ ├── dumbdbm.py │ │ ├── dummy_thread.py │ │ ├── dummy_threading.py │ │ ├── email │ │ │ ├── __init__.py │ │ │ ├── _parseaddr.py │ │ │ ├── base64mime.py │ │ │ ├── charset.py │ │ │ ├── encoders.py │ │ │ ├── errors.py │ │ │ ├── feedparser.py │ │ │ ├── generator.py │ │ │ ├── header.py │ │ │ ├── iterators.py │ │ │ ├── message.py │ │ │ ├── mime │ │ │ │ ├── __init__.py │ │ │ │ ├── application.py │ │ │ │ ├── audio.py │ │ │ │ ├── base.py │ │ │ │ ├── image.py │ │ │ │ ├── message.py │ │ │ │ ├── multipart.py │ │ │ │ ├── nonmultipart.py │ │ │ │ └── text.py │ │ │ ├── parser.py │ │ │ ├── quoprimime.py │ │ │ └── utils.py │ │ ├── encodings │ │ │ ├── __init__.py │ │ │ ├── aliases.py │ │ │ ├── ascii.py │ │ │ ├── base64_codec.py │ │ │ ├── bz2_codec.py │ │ │ ├── charmap.py │ │ │ ├── cp037.py │ │ │ ├── cp1006.py │ │ │ ├── cp1026.py │ │ │ ├── cp1140.py │ │ │ ├── cp1250.py │ │ │ ├── cp1251.py │ │ │ ├── cp1252.py │ │ │ ├── cp1253.py │ │ │ ├── cp1254.py │ │ │ ├── cp1255.py │ │ │ ├── cp1256.py │ │ │ ├── cp1257.py │ │ │ ├── cp1258.py │ │ │ ├── cp424.py │ │ │ ├── cp437.py │ │ │ ├── cp500.py │ │ │ ├── cp720.py │ │ │ ├── cp737.py │ │ │ ├── cp775.py │ │ │ ├── cp850.py │ │ │ ├── cp852.py │ │ │ ├── cp855.py │ │ │ ├── cp856.py │ │ │ ├── cp857.py │ │ │ ├── cp858.py │ │ │ ├── cp860.py │ │ │ ├── cp861.py │ │ │ ├── cp862.py │ │ │ ├── cp863.py │ │ │ ├── cp864.py │ │ │ ├── cp865.py │ │ │ ├── cp866.py │ │ │ ├── cp869.py │ │ │ ├── cp874.py │ │ │ ├── cp875.py │ │ │ ├── hex_codec.py │ │ │ ├── hp_roman8.py │ │ │ ├── idna.py │ │ │ ├── iso8859_1.py │ │ │ ├── iso8859_10.py │ │ │ ├── iso8859_11.py │ │ │ ├── iso8859_13.py │ │ │ ├── iso8859_14.py │ │ │ ├── iso8859_15.py │ │ │ ├── iso8859_16.py │ │ │ ├── iso8859_2.py │ │ │ ├── iso8859_3.py │ │ │ ├── iso8859_4.py │ │ │ ├── iso8859_5.py │ │ │ ├── iso8859_6.py │ │ │ ├── iso8859_7.py │ │ │ ├── iso8859_8.py │ │ │ ├── iso8859_9.py │ │ │ ├── koi8_r.py │ │ │ ├── koi8_u.py │ │ │ ├── latin_1.py │ │ │ ├── mac_arabic.py │ │ │ ├── mac_centeuro.py │ │ │ ├── mac_croatian.py │ │ │ ├── mac_cyrillic.py │ │ │ ├── mac_farsi.py │ │ │ ├── mac_greek.py │ │ │ ├── mac_iceland.py │ │ │ ├── mac_latin2.py │ │ │ ├── mac_roman.py │ │ │ ├── mac_romanian.py │ │ │ ├── mac_turkish.py │ │ │ ├── mbcs.py │ │ │ ├── palmos.py │ │ │ ├── ptcp154.py │ │ │ ├── punycode.py │ │ │ ├── quopri_codec.py │ │ │ ├── raw_unicode_escape.py │ │ │ ├── rot_13.py │ │ │ ├── string_escape.py │ │ │ ├── tis_620.py │ │ │ ├── undefined.py │ │ │ ├── unicode_escape.py │ │ │ ├── unicode_internal.py │ │ │ ├── utf_16.py │ │ │ ├── utf_16_be.py │ │ │ ├── utf_16_le.py │ │ │ ├── utf_32.py │ │ │ ├── utf_32_le.py │ │ │ ├── utf_7.py │ │ │ ├── utf_8.py │ │ │ ├── utf_8_sig.py │ │ │ ├── uu_codec.py │ │ │ └── zlib_codec.py │ │ ├── ensurepip │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── _bundled │ │ │ │ ├── pip-1.5.6-py2.py3-none-any.whl │ │ │ │ └── setuptools-3.6-py2.py3-none-any.whl │ │ │ └── _uninstall.py │ │ ├── filecmp.py │ │ ├── fileinput.py │ │ ├── fnmatch.py │ │ ├── formatter.py │ │ ├── fpformat.py │ │ ├── fractions.py │ │ ├── ftplib.py │ │ ├── functools.py │ │ ├── genericpath.py │ │ ├── getopt.py │ │ ├── getpass.py │ │ ├── gettext.py │ │ ├── glob.py │ │ ├── gzip.py │ │ ├── hashlib.py │ │ ├── heapq.py │ │ ├── hmac.py │ │ ├── htmlentitydefs.py │ │ ├── htmllib.py │ │ ├── httplib.py │ │ ├── ihooks.py │ │ ├── imaplib.py │ │ ├── imghdr.py │ │ ├── importlib │ │ │ └── __init__.py │ │ ├── imputil.py │ │ ├── inspect.py │ │ ├── io.py │ │ ├── json │ │ │ ├── __init__.py │ │ │ ├── decoder.py │ │ │ ├── encoder.py │ │ │ ├── scanner.py │ │ │ └── tool.py │ │ ├── keyword.py │ │ ├── lib2to3 │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── btm_matcher.py │ │ │ ├── btm_utils.py │ │ │ ├── fixer_base.py │ │ │ ├── fixer_util.py │ │ │ ├── fixes │ │ │ │ ├── __init__.py │ │ │ │ ├── fix_apply.py │ │ │ │ ├── fix_basestring.py │ │ │ │ ├── fix_buffer.py │ │ │ │ ├── fix_callable.py │ │ │ │ ├── fix_dict.py │ │ │ │ ├── fix_except.py │ │ │ │ ├── fix_exec.py │ │ │ │ ├── fix_execfile.py │ │ │ │ ├── fix_exitfunc.py │ │ │ │ ├── fix_filter.py │ │ │ │ ├── fix_funcattrs.py │ │ │ │ ├── fix_future.py │ │ │ │ ├── fix_getcwdu.py │ │ │ │ ├── fix_has_key.py │ │ │ │ ├── fix_idioms.py │ │ │ │ ├── fix_import.py │ │ │ │ ├── fix_imports.py │ │ │ │ ├── fix_imports2.py │ │ │ │ ├── fix_input.py │ │ │ │ ├── fix_intern.py │ │ │ │ ├── fix_isinstance.py │ │ │ │ ├── fix_itertools.py │ │ │ │ ├── fix_itertools_imports.py │ │ │ │ ├── fix_long.py │ │ │ │ ├── fix_map.py │ │ │ │ ├── fix_metaclass.py │ │ │ │ ├── fix_methodattrs.py │ │ │ │ ├── fix_ne.py │ │ │ │ ├── fix_next.py │ │ │ │ ├── fix_nonzero.py │ │ │ │ ├── fix_numliterals.py │ │ │ │ ├── fix_operator.py │ │ │ │ ├── fix_paren.py │ │ │ │ ├── fix_print.py │ │ │ │ ├── fix_raise.py │ │ │ │ ├── fix_raw_input.py │ │ │ │ ├── fix_reduce.py │ │ │ │ ├── fix_renames.py │ │ │ │ ├── fix_repr.py │ │ │ │ ├── fix_set_literal.py │ │ │ │ ├── fix_standarderror.py │ │ │ │ ├── fix_sys_exc.py │ │ │ │ ├── fix_throw.py │ │ │ │ ├── fix_tuple_params.py │ │ │ │ ├── fix_types.py │ │ │ │ ├── fix_unicode.py │ │ │ │ ├── fix_urllib.py │ │ │ │ ├── fix_ws_comma.py │ │ │ │ ├── fix_xrange.py │ │ │ │ ├── fix_xreadlines.py │ │ │ │ └── fix_zip.py │ │ │ ├── main.py │ │ │ ├── patcomp.py │ │ │ ├── pgen2 │ │ │ │ ├── __init__.py │ │ │ │ ├── conv.py │ │ │ │ ├── driver.py │ │ │ │ ├── grammar.py │ │ │ │ ├── literals.py │ │ │ │ ├── parse.py │ │ │ │ ├── pgen.py │ │ │ │ ├── token.py │ │ │ │ └── tokenize.py │ │ │ ├── pygram.py │ │ │ ├── pytree.py │ │ │ └── refactor.py │ │ ├── linecache.py │ │ ├── locale.py │ │ ├── logging │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ └── handlers.py │ │ ├── macpath.py │ │ ├── macurl2path.py │ │ ├── mailbox.py │ │ ├── mailcap.py │ │ ├── markupbase.py │ │ ├── md5.py │ │ ├── mhlib.py │ │ ├── mimetools.py │ │ ├── mimetypes.py │ │ ├── mimify.py │ │ ├── modulefinder.py │ │ ├── multifile.py │ │ ├── multiprocessing │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── dummy │ │ │ │ ├── __init__.py │ │ │ │ └── connection.py │ │ │ ├── forking.py │ │ │ ├── heap.py │ │ │ ├── managers.py │ │ │ ├── pool.py │ │ │ ├── process.py │ │ │ ├── queues.py │ │ │ ├── reduction.py │ │ │ ├── sharedctypes.py │ │ │ ├── synchronize.py │ │ │ └── util.py │ │ ├── mutex.py │ │ ├── netrc.py │ │ ├── new.py │ │ ├── nntplib.py │ │ ├── ntpath.py │ │ ├── nturl2path.py │ │ ├── numbers.py │ │ ├── opcode.py │ │ ├── optparse.py │ │ ├── os.py │ │ ├── os2emxpath.py │ │ ├── pdb.py │ │ ├── pickle.py │ │ ├── pickletools.py │ │ ├── pipes.py │ │ ├── pkgutil.py │ │ ├── platform.py │ │ ├── plistlib.py │ │ ├── popen2.py │ │ ├── poplib.py │ │ ├── posixfile.py │ │ ├── posixpath.py │ │ ├── pprint.py │ │ ├── profile.py │ │ ├── pstats.py │ │ ├── py_compile.py │ │ ├── pyclbr.py │ │ ├── pydoc.py │ │ ├── pydoc_data │ │ │ ├── __init__.py │ │ │ └── topics.py │ │ ├── quopri.py │ │ ├── random.py │ │ ├── repr.py │ │ ├── rexec.py │ │ ├── rfc822.py │ │ ├── rlcompleter.py │ │ ├── robotparser.py │ │ ├── runpy.py │ │ ├── sched.py │ │ ├── sets.py │ │ ├── sgmllib.py │ │ ├── sha.py │ │ ├── shelve.py │ │ ├── shlex.py │ │ ├── shutil.py │ │ ├── site-packages │ │ │ └── README.txt │ │ ├── site.py │ │ ├── smtpd.py │ │ ├── smtplib.py │ │ ├── sndhdr.py │ │ ├── sqlite3 │ │ │ ├── __init__.py │ │ │ ├── dbapi2.py │ │ │ └── dump.py │ │ ├── sre_compile.py │ │ ├── sre_constants.py │ │ ├── sre_parse.py │ │ ├── ssl.py │ │ ├── stat.py │ │ ├── statvfs.py │ │ ├── string.py │ │ ├── stringold.py │ │ ├── stringprep.py │ │ ├── struct.py │ │ ├── subprocess.py │ │ ├── sunau.py │ │ ├── sunaudio.py │ │ ├── symbol.py │ │ ├── sysconfig.py │ │ ├── tabnanny.py │ │ ├── tarfile.py │ │ ├── telnetlib.py │ │ ├── tempfile.py │ │ ├── textwrap.py │ │ ├── this.py │ │ ├── threading.py │ │ ├── timeit.py │ │ ├── toaiff.py │ │ ├── token.py │ │ ├── tokenize.py │ │ ├── trace.py │ │ ├── traceback.py │ │ ├── types.py │ │ ├── unittest │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── case.py │ │ │ ├── loader.py │ │ │ ├── main.py │ │ │ ├── result.py │ │ │ ├── runner.py │ │ │ ├── signals.py │ │ │ ├── suite.py │ │ │ └── util.py │ │ ├── urllib.py │ │ ├── urllib2.py │ │ ├── urlparse.py │ │ ├── user.py │ │ ├── uu.py │ │ ├── uuid.py │ │ ├── warnings.py │ │ ├── wave.py │ │ ├── weakref.py │ │ ├── webbrowser.py │ │ ├── whichdb.py │ │ ├── wsgiref │ │ │ ├── __init__.py │ │ │ ├── handlers.py │ │ │ ├── headers.py │ │ │ ├── simple_server.py │ │ │ ├── util.py │ │ │ └── validate.py │ │ ├── xdrlib.py │ │ ├── xml │ │ │ ├── __init__.py │ │ │ ├── dom │ │ │ │ ├── NodeFilter.py │ │ │ │ ├── __init__.py │ │ │ │ ├── domreg.py │ │ │ │ ├── minicompat.py │ │ │ │ ├── minidom.py │ │ │ │ ├── pulldom.py │ │ │ │ └── xmlbuilder.py │ │ │ ├── etree │ │ │ │ ├── ElementInclude.py │ │ │ │ ├── ElementPath.py │ │ │ │ ├── ElementTree.py │ │ │ │ ├── SimpleXMLTreeBuilder.py │ │ │ │ └── __init__.py │ │ │ ├── parsers │ │ │ │ └── __init__.py │ │ │ └── sax │ │ │ │ ├── __init__.py │ │ │ │ ├── _exceptions.py │ │ │ │ ├── handler.py │ │ │ │ ├── saxutils.py │ │ │ │ └── xmlreader.py │ │ ├── xmllib.py │ │ ├── xmlrpclib.py │ │ └── zipfile.py │ ├── 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 ├── falloutsnip.buildtasks.dll ├── falloutsnip.common.targets ├── falloutsnip.snk └── tasks │ └── BuildTasks │ ├── BuildTasks.csproj │ ├── BuildTasks.sln │ ├── Main.cs │ └── Properties │ └── AssemblyInfo.cs ├── conf ├── DockPanel.config ├── Domains.ini ├── Fallout3 │ └── RecordStructure.xml ├── Fallout4 │ └── RecordStructure.xml ├── FalloutNV │ └── RecordStructure.xml ├── Morrowind │ └── RecordStructure.xml ├── Oblivion │ └── RecordStructure.xml ├── RecordStructureFormat.txt ├── ScriptFunctions.xml ├── ScriptFunctionsFormat.txt ├── Skyrim │ └── RecordStructure.xml └── settings.xml ├── falloutsnip.sln ├── falloutsnip_LICENSE ├── falloutsnip_README.TXT ├── 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 └── 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 /.gitignore: -------------------------------------------------------------------------------- 1 | /Output 2 | /.vs 3 | obj 4 | bin 5 | /Application/*.user 6 | /*.suo 7 | -------------------------------------------------------------------------------- /Application/Lang/ResGen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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 FalloutSnip.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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/14_layer_deletelayer.png -------------------------------------------------------------------------------- /Application/Resources/420__Pixel_Art__Icons_for_RPG_by_Ails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/420__Pixel_Art__Icons_for_RPG_by_Ails.png -------------------------------------------------------------------------------- /Application/Resources/Copy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Copy.bmp -------------------------------------------------------------------------------- /Application/Resources/Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Copy.png -------------------------------------------------------------------------------- /Application/Resources/CreateWall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/CreateWall.png -------------------------------------------------------------------------------- /Application/Resources/Cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Cut.png -------------------------------------------------------------------------------- /Application/Resources/Delete_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Delete_.png -------------------------------------------------------------------------------- /Application/Resources/EditTable.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/EditTable.bmp -------------------------------------------------------------------------------- /Application/Resources/Edit_UndoHS.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Edit_UndoHS.bmp -------------------------------------------------------------------------------- /Application/Resources/Find.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Find.bmp -------------------------------------------------------------------------------- /Application/Resources/Open.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Open.bmp -------------------------------------------------------------------------------- /Application/Resources/Open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Open.png -------------------------------------------------------------------------------- /Application/Resources/Paste.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Paste.bmp -------------------------------------------------------------------------------- /Application/Resources/Paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Paste.png -------------------------------------------------------------------------------- /Application/Resources/PythonConsole16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/PythonConsole16x16.png -------------------------------------------------------------------------------- /Application/Resources/PythonConsole32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/PythonConsole32x32.png -------------------------------------------------------------------------------- /Application/Resources/PythonScript16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/PythonScript16x16.png -------------------------------------------------------------------------------- /Application/Resources/PythonScript32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/PythonScript32x32.png -------------------------------------------------------------------------------- /Application/Resources/Redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Redo.png -------------------------------------------------------------------------------- /Application/Resources/Revert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Revert.png -------------------------------------------------------------------------------- /Application/Resources/RolledBack.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/RolledBack.bmp -------------------------------------------------------------------------------- /Application/Resources/Run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Run.png -------------------------------------------------------------------------------- /Application/Resources/Save.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Save.bmp -------------------------------------------------------------------------------- /Application/Resources/Save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Save.png -------------------------------------------------------------------------------- /Application/Resources/Undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/Undo.png -------------------------------------------------------------------------------- /Application/Resources/WordWrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/WordWrap.png -------------------------------------------------------------------------------- /Application/Resources/agt_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/agt_back.png -------------------------------------------------------------------------------- /Application/Resources/agt_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/agt_forward.png -------------------------------------------------------------------------------- /Application/Resources/agt_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/agt_stop.png -------------------------------------------------------------------------------- /Application/Resources/bookmark_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/bookmark_add.png -------------------------------------------------------------------------------- /Application/Resources/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/cancel.png -------------------------------------------------------------------------------- /Application/Resources/checkedbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/checkedbox.png -------------------------------------------------------------------------------- /Application/Resources/checkedbox1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/checkedbox1.png -------------------------------------------------------------------------------- /Application/Resources/clear-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/clear-filter.png -------------------------------------------------------------------------------- /Application/Resources/configure_toolbars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/configure_toolbars.png -------------------------------------------------------------------------------- /Application/Resources/cut-2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/cut-2.bmp -------------------------------------------------------------------------------- /Application/Resources/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/delete.png -------------------------------------------------------------------------------- /Application/Resources/deletecell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/deletecell.png -------------------------------------------------------------------------------- /Application/Resources/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/down.png -------------------------------------------------------------------------------- /Application/Resources/edit_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/edit_add.png -------------------------------------------------------------------------------- /Application/Resources/edit_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/edit_remove.png -------------------------------------------------------------------------------- /Application/Resources/editclear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/editclear.png -------------------------------------------------------------------------------- /Application/Resources/emptybox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/emptybox.png -------------------------------------------------------------------------------- /Application/Resources/fileexport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/fileexport.png -------------------------------------------------------------------------------- /Application/Resources/filter-icons3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/filter-icons3.png -------------------------------------------------------------------------------- /Application/Resources/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/filter.png -------------------------------------------------------------------------------- /Application/Resources/find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/find.png -------------------------------------------------------------------------------- /Application/Resources/fosnip.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/fosnip.ico -------------------------------------------------------------------------------- /Application/Resources/insertcell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/insertcell.png -------------------------------------------------------------------------------- /Application/Resources/insertcell1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/insertcell1.png -------------------------------------------------------------------------------- /Application/Resources/ipy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/ipy.ico -------------------------------------------------------------------------------- /Application/Resources/move_task_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/move_task_down.png -------------------------------------------------------------------------------- /Application/Resources/move_task_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/move_task_up.png -------------------------------------------------------------------------------- /Application/Resources/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/next.png -------------------------------------------------------------------------------- /Application/Resources/py.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/py.ico -------------------------------------------------------------------------------- /Application/Resources/pycon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/pycon.ico -------------------------------------------------------------------------------- /Application/Resources/quick_restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/quick_restart.png -------------------------------------------------------------------------------- /Application/Resources/reload_all_tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/reload_all_tabs.png -------------------------------------------------------------------------------- /Application/Resources/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/search.png -------------------------------------------------------------------------------- /Application/Resources/sort-ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/sort-ascending.png -------------------------------------------------------------------------------- /Application/Resources/sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/sort-descending.png -------------------------------------------------------------------------------- /Application/Resources/special_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/special_paste.png -------------------------------------------------------------------------------- /Application/Resources/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/up.png -------------------------------------------------------------------------------- /Application/Resources/warning.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/warning.ico -------------------------------------------------------------------------------- /Application/Resources/xdays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Resources/xdays.png -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/ResEx/Extended.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/ResEx/Extended.Common.dll -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/ResEx/ResEx.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/ResEx/ResEx.chm -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/ResEx/ResEx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/ResEx/ResEx.exe -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/ResEx/ResExSetup1.2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/ResEx/ResExSetup1.2.exe -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/ResEx/ResExSetup1.5Beta.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/ResEx/ResExSetup1.5Beta.exe -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.exe -------------------------------------------------------------------------------- /Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/TranslateUI/Tools/xmlDbEditor/xmlDbEditor.pdb -------------------------------------------------------------------------------- /Application/TranslateUI/TranslateUIGlobalization.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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/InterpreterConsole.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows.Forms; 3 | using PythonConsoleControl; 4 | using FalloutSnip.UI.Hosting; 5 | 6 | namespace FalloutSnip.UI.Docking 7 | { 8 | using System; 9 | 10 | using FalloutSnip.Domain.Model; 11 | 12 | public partial class InterpreterConsole : BaseDockContent 13 | { 14 | private FalloutSnip.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 FalloutSnip.UI.Docking 4 | { 5 | using System.Windows.Forms; 6 | 7 | using FalloutSnip.Domain.Model; 8 | using FalloutSnip.Framework.Services; 9 | using FalloutSnip.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 FalloutSnip.UI.Docking 2 | { 3 | using FalloutSnip.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 FalloutSnip.UI.Docking 2 | { 3 | using System; 4 | 5 | using FalloutSnip.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 FalloutSnip.UI.Rendering.Extensions; 2 | 3 | namespace FalloutSnip.UI.Docking 4 | { 5 | using System.Windows.Forms; 6 | 7 | using RTF; 8 | 9 | using FalloutSnip.Domain.Model; 10 | using FalloutSnip.Framework.Services; 11 | using FalloutSnip.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 FalloutSnip.UI.Docking 2 | { 3 | using FalloutSnip.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 FalloutSnip.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/InputBox.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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/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 FalloutSnip.UI.Docking; 8 | using FalloutSnip.UI.Forms; 9 | 10 | namespace FalloutSnip.UI.Hosting 11 | { 12 | public static class ScriptSupport 13 | { 14 | public static void SendStatusText(string text) 15 | { 16 | FalloutSnip.UI.Forms.MainView.PostStatusText(text); 17 | } 18 | 19 | public static void SendStatusText(string text, Color color) 20 | { 21 | FalloutSnip.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 FalloutSnip.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/IElementControl.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.UI.RecordControls 2 | { 3 | using System; 4 | 5 | using Domain.Data.Structure; 6 | using FalloutSnip.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 FalloutSnip.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 FalloutSnip.UI.RecordControls 2 | { 3 | internal interface IOuterElementControl : IElementControl 4 | { 5 | IElementControl InnerControl { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Application/UI/RecordControls/ITextElementControl.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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/Scripts/Keywords.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.UI.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 | } -------------------------------------------------------------------------------- /Application/UI/Scripts/TokenType.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.UI.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 | } -------------------------------------------------------------------------------- /Application/UI/Services/PluginStore.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/Controls/ballontooltip.cs -------------------------------------------------------------------------------- /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/HexBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/HexBox/HexBox.cs -------------------------------------------------------------------------------- /Application/Vendor/HexBox/IByteProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/clear-filter.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/clear-filter1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/clear-filter1.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/coffee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/coffee.jpg -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/filter-icons3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/filter-icons3.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/filter-icons31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/filter-icons31.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/filter.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/filter1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/filter1.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/sort-ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/sort-ascending.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/sort-ascending1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/sort-ascending1.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/sort-descending.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/Resources/sort-descending1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/Resources/sort-descending1.png -------------------------------------------------------------------------------- /Application/Vendor/ObjectListView/olv-keyfile.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/ObjectListView/olv-keyfile.snk -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFBuilder.UnWrapped.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFBuilder.UnWrapped.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFBuilder.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFCell.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFCell.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFDisplayBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFDisplayBox.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFPage.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFPage.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFPageManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/GDF/GDFPageManager.cs -------------------------------------------------------------------------------- /Application/Vendor/RTFLib/GDF/GDFRow.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Application/Vendor/RTFLib/RTF/IRtfProcessor.cs -------------------------------------------------------------------------------- /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 FalloutSnip.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 FalloutSnip.Domain.Data.Strings 2 | { 3 | using FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.Domain.Data.Structure.Xml; 2 | 3 | namespace FalloutSnip.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 FalloutSnip.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/RecordXmlException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FalloutSnip.Domain.Data.Structure.Xml 4 | { 5 | public 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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.Domain.Model 2 | { 3 | public enum BatchCondRecordType 4 | { 5 | NoAction, 6 | 7 | Create, 8 | 9 | Delete, 10 | } 11 | } -------------------------------------------------------------------------------- /Domain/Model/BatchCriteria.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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/ColumnCriteria.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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/IGroupRecord.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.Domain.Model 2 | { 3 | using FalloutSnip.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/RecordChangeEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.Domain.Model 2 | { 3 | public enum SearchCondRecordType 4 | { 5 | Exists, 6 | 7 | Missing 8 | } 9 | } -------------------------------------------------------------------------------- /Domain/Model/SearchCriteria.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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/Rendering/IRenderer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using FalloutSnip.Domain.Model; 3 | 4 | namespace FalloutSnip.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/Services/Alerts.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace FalloutSnip.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/SaveReadStream.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 | -------------------------------------------------------------------------------- /Framework/Collections/ordereddictionary.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Framework/Collections/ordereddictionary.cs -------------------------------------------------------------------------------- /Framework/EnumerableExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.Framework 2 | { 3 | using System; 4 | 5 | public interface ICloneable : ICloneable 6 | { 7 | new TClonedType Clone(); 8 | } 9 | } -------------------------------------------------------------------------------- /Framework/Pair.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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 FalloutSnip.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/SerializationInfoCache.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.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/FontLangInfo.cs: -------------------------------------------------------------------------------- 1 | namespace FalloutSnip.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 FalloutSnip.Domain.Services; 6 | 7 | namespace FalloutSnip.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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Platform/x64/ZLibMC.dll -------------------------------------------------------------------------------- /Platform/x64/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Platform/x64/zlib1.dll -------------------------------------------------------------------------------- /Platform/x86/ZLibMC.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Platform/x86/ZLibMC.dll -------------------------------------------------------------------------------- /Platform/x86/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Platform/x86/zlib1.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # figment's TESsnip Fork (Fallout Edition) 2 | --- 3 | 4 | FalloutSnip is a fork of the TESVSnip which was itself a fork of the TESsnip utility bundled with Fallout Mod Manager with changes specifically for Fallout 4. 5 | 6 | In the word of the original author, TESsnip is a low level plugin editor that allows you to open esm/esp files, view the record structure and cut/copy/paste records and subrecords between different parents, including different esp's. You can also view and edit the data saved in a subrecord, in either hex or string format, as well as editing record headers. 7 | 8 | Requirements: 9 | .NET 3.5 10 | 11 | Change Log: 12 | v 1.0 13 | - Initial Version Forked from TESVSnip 14 | 15 | 16 | Credits: 17 | * timeslip - The original author of TESsnip 18 | * Crystal Project - Icons released under LGPL 19 | 20 | 21 | License: 22 | * The TESsnip code is licensed under GPL so this is by extension also GPL 23 | * Included third party components are covered by their own license 24 | * IronLab PythonConsole (GPL) https://code.google.com/p/ironlab/ 25 | * Revit Python Shell (MIT) https://code.google.com/p/revitpythonshell/ 26 | 27 | 28 | Source: 29 | git://github.com/figment/falloutsnip.git 30 | -------------------------------------------------------------------------------- /Vendor/IronPython/DLLs/IronPython.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/DLLs/IronPython.SQLite.dll -------------------------------------------------------------------------------- /Vendor/IronPython/DLLs/IronPython.Wpf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/DLLs/IronPython.Wpf.dll -------------------------------------------------------------------------------- /Vendor/IronPython/IronPython.Modules.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/IronPython.Modules.dll -------------------------------------------------------------------------------- /Vendor/IronPython/IronPython.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/IronPython.dll -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/__phello__.foo.py: -------------------------------------------------------------------------------- 1 | # This file exists as a helper for the test.test_frozen module. 2 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/antigravity.py: -------------------------------------------------------------------------------- 1 | 2 | import webbrowser 3 | 4 | webbrowser.open("http://xkcd.com/353/") 5 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/ctypes/macholib/__init__.py: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # This file should be kept compatible with Python 2.3, see PEP 291. # 3 | ###################################################################### 4 | """ 5 | Enough Mach-O to make your head spin. 6 | 7 | See the relevant header files in /usr/include/mach-o 8 | 9 | And also Apple's documentation. 10 | """ 11 | 12 | __version__ = '1.0' 13 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/dircache.py: -------------------------------------------------------------------------------- 1 | """Read and cache directory listings. 2 | 3 | The listdir() routine returns a sorted list of the files in a directory, 4 | using a cache to avoid reading the directory more often than necessary. 5 | The annotate() routine appends slashes to directories.""" 6 | from warnings import warnpy3k 7 | warnpy3k("the dircache module has been removed in Python 3.0", stacklevel=2) 8 | del warnpy3k 9 | 10 | import os 11 | 12 | __all__ = ["listdir", "opendir", "annotate", "reset"] 13 | 14 | cache = {} 15 | 16 | def reset(): 17 | """Reset the cache completely.""" 18 | global cache 19 | cache = {} 20 | 21 | def listdir(path): 22 | """List directory contents, using cache.""" 23 | try: 24 | cached_mtime, list = cache[path] 25 | del cache[path] 26 | except KeyError: 27 | cached_mtime, list = -1, [] 28 | mtime = os.stat(path).st_mtime 29 | if mtime != cached_mtime: 30 | list = os.listdir(path) 31 | list.sort() 32 | cache[path] = mtime, list 33 | return list 34 | 35 | opendir = listdir # XXX backward compatibility 36 | 37 | def annotate(head, list): 38 | """Add '/' suffixes to directories.""" 39 | for i in range(len(list)): 40 | if os.path.isdir(os.path.join(head, list[i])): 41 | list[i] = list[i] + '/' 42 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/distutils/__init__.py: -------------------------------------------------------------------------------- 1 | """distutils 2 | 3 | The main package for the Python Module Distribution Utilities. Normally 4 | used from a setup script as 5 | 6 | from distutils.core import setup 7 | 8 | setup (...) 9 | """ 10 | 11 | __revision__ = "$Id$" 12 | 13 | # Distutils version 14 | # 15 | # Updated automatically by the Python release process. 16 | # 17 | #--start constants-- 18 | __version__ = "2.7.1" 19 | #--end constants-- 20 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/distutils/command/__init__.py: -------------------------------------------------------------------------------- 1 | """distutils.command 2 | 3 | Package containing implementation of all the standard Distutils 4 | commands.""" 5 | 6 | __revision__ = "$Id$" 7 | 8 | __all__ = ['build', 9 | 'build_py', 10 | 'build_ext', 11 | 'build_clib', 12 | 'build_scripts', 13 | 'clean', 14 | 'install', 15 | 'install_lib', 16 | 'install_headers', 17 | 'install_scripts', 18 | 'install_data', 19 | 'sdist', 20 | 'register', 21 | 'bdist', 22 | 'bdist_dumb', 23 | 'bdist_rpm', 24 | 'bdist_wininst', 25 | 'upload', 26 | 'check', 27 | # These two are reserved for future use: 28 | #'bdist_sdux', 29 | #'bdist_pkgtool', 30 | # Note: 31 | # bdist_packager is not included because it only provides 32 | # an abstract base class 33 | ] 34 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/distutils/command/install_headers.py: -------------------------------------------------------------------------------- 1 | """distutils.command.install_headers 2 | 3 | Implements the Distutils 'install_headers' command, to install C/C++ header 4 | files to the Python include directory.""" 5 | 6 | __revision__ = "$Id$" 7 | 8 | from distutils.core import Command 9 | 10 | 11 | # XXX force is never used 12 | class install_headers(Command): 13 | 14 | description = "install C/C++ header files" 15 | 16 | user_options = [('install-dir=', 'd', 17 | "directory to install header files to"), 18 | ('force', 'f', 19 | "force installation (overwrite existing files)"), 20 | ] 21 | 22 | boolean_options = ['force'] 23 | 24 | def initialize_options(self): 25 | self.install_dir = None 26 | self.force = 0 27 | self.outfiles = [] 28 | 29 | def finalize_options(self): 30 | self.set_undefined_options('install', 31 | ('install_headers', 'install_dir'), 32 | ('force', 'force')) 33 | 34 | 35 | def run(self): 36 | headers = self.distribution.headers 37 | if not headers: 38 | return 39 | 40 | self.mkpath(self.install_dir) 41 | for header in headers: 42 | (out, _) = self.copy_file(header, self.install_dir) 43 | self.outfiles.append(out) 44 | 45 | def get_inputs(self): 46 | return self.distribution.headers or [] 47 | 48 | def get_outputs(self): 49 | return self.outfiles 50 | 51 | # class install_headers 52 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/distutils/debug.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | __revision__ = "$Id$" 4 | 5 | # If DISTUTILS_DEBUG is anything other than the empty string, we run in 6 | # debug mode. 7 | DEBUG = os.environ.get('DISTUTILS_DEBUG') 8 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/email/mime/__init__.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/application.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001-2006 Python Software Foundation 2 | # Author: Keith Dart 3 | # Contact: email-sig@python.org 4 | 5 | """Class representing application/* type MIME documents.""" 6 | 7 | __all__ = ["MIMEApplication"] 8 | 9 | from email import encoders 10 | from email.mime.nonmultipart import MIMENonMultipart 11 | 12 | 13 | class MIMEApplication(MIMENonMultipart): 14 | """Class for generating application/* MIME documents.""" 15 | 16 | def __init__(self, _data, _subtype='octet-stream', 17 | _encoder=encoders.encode_base64, **_params): 18 | """Create an application/* type MIME document. 19 | 20 | _data is a string containing the raw application data. 21 | 22 | _subtype is the MIME content type subtype, defaulting to 23 | 'octet-stream'. 24 | 25 | _encoder is a function which will perform the actual encoding for 26 | transport of the application data, defaulting to base64 encoding. 27 | 28 | Any additional keyword arguments are passed to the base class 29 | constructor, which turns them into parameters on the Content-Type 30 | header. 31 | """ 32 | if _subtype is None: 33 | raise TypeError('Invalid application MIME subtype') 34 | MIMENonMultipart.__init__(self, 'application', _subtype, **_params) 35 | self.set_payload(_data) 36 | _encoder(self) 37 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/base.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001-2006 Python Software Foundation 2 | # Author: Barry Warsaw 3 | # Contact: email-sig@python.org 4 | 5 | """Base class for MIME specializations.""" 6 | 7 | __all__ = ['MIMEBase'] 8 | 9 | from email import message 10 | 11 | 12 | 13 | class MIMEBase(message.Message): 14 | """Base class for MIME specializations.""" 15 | 16 | def __init__(self, _maintype, _subtype, **_params): 17 | """This constructor adds a Content-Type: and a MIME-Version: header. 18 | 19 | The Content-Type: header is taken from the _maintype and _subtype 20 | arguments. Additional parameters for this header are taken from the 21 | keyword arguments. 22 | """ 23 | message.Message.__init__(self) 24 | ctype = '%s/%s' % (_maintype, _subtype) 25 | self.add_header('Content-Type', ctype, **_params) 26 | self['MIME-Version'] = '1.0' 27 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/message.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001-2006 Python Software Foundation 2 | # Author: Barry Warsaw 3 | # Contact: email-sig@python.org 4 | 5 | """Class representing message/* MIME documents.""" 6 | 7 | __all__ = ['MIMEMessage'] 8 | 9 | from email import message 10 | from email.mime.nonmultipart import MIMENonMultipart 11 | 12 | 13 | 14 | class MIMEMessage(MIMENonMultipart): 15 | """Class representing message/* MIME documents.""" 16 | 17 | def __init__(self, _msg, _subtype='rfc822'): 18 | """Create a message/* type MIME document. 19 | 20 | _msg is a message object and must be an instance of Message, or a 21 | derived class of Message, otherwise a TypeError is raised. 22 | 23 | Optional _subtype defines the subtype of the contained message. The 24 | default is "rfc822" (this is defined by the MIME standard, even though 25 | the term "rfc822" is technically outdated by RFC 2822). 26 | """ 27 | MIMENonMultipart.__init__(self, 'message', _subtype) 28 | if not isinstance(_msg, message.Message): 29 | raise TypeError('Argument is not an instance of Message') 30 | # It's convenient to use this base class method. We need to do it 31 | # this way or we'll get an exception 32 | message.Message.attach(self, _msg) 33 | # And be sure our default type is set correctly 34 | self.set_default_type('message/rfc822') 35 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/multipart.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2002-2006 Python Software Foundation 2 | # Author: Barry Warsaw 3 | # Contact: email-sig@python.org 4 | 5 | """Base class for MIME multipart/* type messages.""" 6 | 7 | __all__ = ['MIMEMultipart'] 8 | 9 | from email.mime.base import MIMEBase 10 | 11 | 12 | 13 | class MIMEMultipart(MIMEBase): 14 | """Base class for MIME multipart/* type messages.""" 15 | 16 | def __init__(self, _subtype='mixed', boundary=None, _subparts=None, 17 | **_params): 18 | """Creates a multipart/* type message. 19 | 20 | By default, creates a multipart/mixed message, with proper 21 | Content-Type and MIME-Version headers. 22 | 23 | _subtype is the subtype of the multipart content type, defaulting to 24 | `mixed'. 25 | 26 | boundary is the multipart boundary string. By default it is 27 | calculated as needed. 28 | 29 | _subparts is a sequence of initial subparts for the payload. It 30 | must be an iterable object, such as a list. You can always 31 | attach new subparts to the message by using the attach() method. 32 | 33 | Additional parameters for the Content-Type header are taken from the 34 | keyword arguments (or passed into the _params argument). 35 | """ 36 | MIMEBase.__init__(self, 'multipart', _subtype, **_params) 37 | 38 | # Initialise _payload to an empty list as the Message superclass's 39 | # implementation of is_multipart assumes that _payload is a list for 40 | # multipart messages. 41 | self._payload = [] 42 | 43 | if _subparts: 44 | for p in _subparts: 45 | self.attach(p) 46 | if boundary: 47 | self.set_boundary(boundary) 48 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/nonmultipart.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2002-2006 Python Software Foundation 2 | # Author: Barry Warsaw 3 | # Contact: email-sig@python.org 4 | 5 | """Base class for MIME type messages that are not multipart.""" 6 | 7 | __all__ = ['MIMENonMultipart'] 8 | 9 | from email import errors 10 | from email.mime.base import MIMEBase 11 | 12 | 13 | 14 | class MIMENonMultipart(MIMEBase): 15 | """Base class for MIME multipart/* type messages.""" 16 | 17 | def attach(self, payload): 18 | # The public API prohibits attaching multiple subparts to MIMEBase 19 | # derived subtypes since none of them are, by definition, of content 20 | # type multipart/* 21 | raise errors.MultipartConversionError( 22 | 'Cannot attach additional subparts to non-multipart/*') 23 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/email/mime/text.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2001-2006 Python Software Foundation 2 | # Author: Barry Warsaw 3 | # Contact: email-sig@python.org 4 | 5 | """Class representing text/* type MIME documents.""" 6 | 7 | __all__ = ['MIMEText'] 8 | 9 | from email.encoders import encode_7or8bit 10 | from email.mime.nonmultipart import MIMENonMultipart 11 | 12 | 13 | 14 | class MIMEText(MIMENonMultipart): 15 | """Class for generating text/* type MIME documents.""" 16 | 17 | def __init__(self, _text, _subtype='plain', _charset='us-ascii'): 18 | """Create a text/* type MIME document. 19 | 20 | _text is the string for this message object. 21 | 22 | _subtype is the MIME sub content type, defaulting to "plain". 23 | 24 | _charset is the character set parameter added to the Content-Type 25 | header. This defaults to "us-ascii". Note that as a side-effect, the 26 | Content-Transfer-Encoding header will also be set. 27 | """ 28 | MIMENonMultipart.__init__(self, 'text', _subtype, 29 | **{'charset': _charset}) 30 | self.set_payload(_text, _charset) 31 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/ascii.py: -------------------------------------------------------------------------------- 1 | """ Python 'ascii' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | class Codec(codecs.Codec): 14 | 15 | # Note: Binding these as C functions will result in the class not 16 | # converting them to methods. This is intended. 17 | encode = codecs.ascii_encode 18 | decode = codecs.ascii_decode 19 | 20 | class IncrementalEncoder(codecs.IncrementalEncoder): 21 | def encode(self, input, final=False): 22 | return codecs.ascii_encode(input, self.errors)[0] 23 | 24 | class IncrementalDecoder(codecs.IncrementalDecoder): 25 | def decode(self, input, final=False): 26 | return codecs.ascii_decode(input, self.errors)[0] 27 | 28 | class StreamWriter(Codec,codecs.StreamWriter): 29 | pass 30 | 31 | class StreamReader(Codec,codecs.StreamReader): 32 | pass 33 | 34 | class StreamConverter(StreamWriter,StreamReader): 35 | 36 | encode = codecs.ascii_decode 37 | decode = codecs.ascii_encode 38 | 39 | ### encodings module API 40 | 41 | def getregentry(): 42 | return codecs.CodecInfo( 43 | name='ascii', 44 | encode=Codec.encode, 45 | decode=Codec.decode, 46 | incrementalencoder=IncrementalEncoder, 47 | incrementaldecoder=IncrementalDecoder, 48 | streamwriter=StreamWriter, 49 | streamreader=StreamReader, 50 | ) 51 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/latin_1.py: -------------------------------------------------------------------------------- 1 | """ Python 'latin-1' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | class Codec(codecs.Codec): 14 | 15 | # Note: Binding these as C functions will result in the class not 16 | # converting them to methods. This is intended. 17 | encode = codecs.latin_1_encode 18 | decode = codecs.latin_1_decode 19 | 20 | class IncrementalEncoder(codecs.IncrementalEncoder): 21 | def encode(self, input, final=False): 22 | return codecs.latin_1_encode(input,self.errors)[0] 23 | 24 | class IncrementalDecoder(codecs.IncrementalDecoder): 25 | def decode(self, input, final=False): 26 | return codecs.latin_1_decode(input,self.errors)[0] 27 | 28 | class StreamWriter(Codec,codecs.StreamWriter): 29 | pass 30 | 31 | class StreamReader(Codec,codecs.StreamReader): 32 | pass 33 | 34 | class StreamConverter(StreamWriter,StreamReader): 35 | 36 | encode = codecs.latin_1_decode 37 | decode = codecs.latin_1_encode 38 | 39 | ### encodings module API 40 | 41 | def getregentry(): 42 | return codecs.CodecInfo( 43 | name='iso8859-1', 44 | encode=Codec.encode, 45 | decode=Codec.decode, 46 | incrementalencoder=IncrementalEncoder, 47 | incrementaldecoder=IncrementalDecoder, 48 | streamreader=StreamReader, 49 | streamwriter=StreamWriter, 50 | ) 51 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/mbcs.py: -------------------------------------------------------------------------------- 1 | """ Python 'mbcs' Codec for Windows 2 | 3 | 4 | Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py, 5 | which was written by Marc-Andre Lemburg (mal@lemburg.com). 6 | 7 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 8 | 9 | """ 10 | # Import them explicitly to cause an ImportError 11 | # on non-Windows systems 12 | from codecs import mbcs_encode, mbcs_decode 13 | # for IncrementalDecoder, IncrementalEncoder, ... 14 | import codecs 15 | 16 | ### Codec APIs 17 | 18 | encode = mbcs_encode 19 | 20 | def decode(input, errors='strict'): 21 | return mbcs_decode(input, errors, True) 22 | 23 | class IncrementalEncoder(codecs.IncrementalEncoder): 24 | def encode(self, input, final=False): 25 | return mbcs_encode(input, self.errors)[0] 26 | 27 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 28 | _buffer_decode = mbcs_decode 29 | 30 | class StreamWriter(codecs.StreamWriter): 31 | encode = mbcs_encode 32 | 33 | class StreamReader(codecs.StreamReader): 34 | decode = mbcs_decode 35 | 36 | ### encodings module API 37 | 38 | def getregentry(): 39 | return codecs.CodecInfo( 40 | name='mbcs', 41 | encode=encode, 42 | decode=decode, 43 | incrementalencoder=IncrementalEncoder, 44 | incrementaldecoder=IncrementalDecoder, 45 | streamreader=StreamReader, 46 | streamwriter=StreamWriter, 47 | ) 48 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/punycode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/encodings/punycode.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/raw_unicode_escape.py: -------------------------------------------------------------------------------- 1 | """ Python 'raw-unicode-escape' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | class Codec(codecs.Codec): 14 | 15 | # Note: Binding these as C functions will result in the class not 16 | # converting them to methods. This is intended. 17 | encode = codecs.raw_unicode_escape_encode 18 | decode = codecs.raw_unicode_escape_decode 19 | 20 | class IncrementalEncoder(codecs.IncrementalEncoder): 21 | def encode(self, input, final=False): 22 | return codecs.raw_unicode_escape_encode(input, self.errors)[0] 23 | 24 | class IncrementalDecoder(codecs.IncrementalDecoder): 25 | def decode(self, input, final=False): 26 | return codecs.raw_unicode_escape_decode(input, self.errors)[0] 27 | 28 | class StreamWriter(Codec,codecs.StreamWriter): 29 | pass 30 | 31 | class StreamReader(Codec,codecs.StreamReader): 32 | pass 33 | 34 | ### encodings module API 35 | 36 | def getregentry(): 37 | return codecs.CodecInfo( 38 | name='raw-unicode-escape', 39 | encode=Codec.encode, 40 | decode=Codec.decode, 41 | incrementalencoder=IncrementalEncoder, 42 | incrementaldecoder=IncrementalDecoder, 43 | streamwriter=StreamWriter, 44 | streamreader=StreamReader, 45 | ) 46 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/string_escape.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/encodings/string_escape.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/undefined.py: -------------------------------------------------------------------------------- 1 | """ Python 'undefined' Codec 2 | 3 | This codec will always raise a ValueError exception when being 4 | used. It is intended for use by the site.py file to switch off 5 | automatic string to Unicode coercion. 6 | 7 | Written by Marc-Andre Lemburg (mal@lemburg.com). 8 | 9 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 10 | 11 | """ 12 | import codecs 13 | 14 | ### Codec APIs 15 | 16 | class Codec(codecs.Codec): 17 | 18 | def encode(self,input,errors='strict'): 19 | raise UnicodeError("undefined encoding") 20 | 21 | def decode(self,input,errors='strict'): 22 | raise UnicodeError("undefined encoding") 23 | 24 | class IncrementalEncoder(codecs.IncrementalEncoder): 25 | def encode(self, input, final=False): 26 | raise UnicodeError("undefined encoding") 27 | 28 | class IncrementalDecoder(codecs.IncrementalDecoder): 29 | def decode(self, input, final=False): 30 | raise UnicodeError("undefined encoding") 31 | 32 | class StreamWriter(Codec,codecs.StreamWriter): 33 | pass 34 | 35 | class StreamReader(Codec,codecs.StreamReader): 36 | pass 37 | 38 | ### encodings module API 39 | 40 | def getregentry(): 41 | return codecs.CodecInfo( 42 | name='undefined', 43 | encode=Codec().encode, 44 | decode=Codec().decode, 45 | incrementalencoder=IncrementalEncoder, 46 | incrementaldecoder=IncrementalDecoder, 47 | streamwriter=StreamWriter, 48 | streamreader=StreamReader, 49 | ) 50 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/unicode_escape.py: -------------------------------------------------------------------------------- 1 | """ Python 'unicode-escape' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | class Codec(codecs.Codec): 14 | 15 | # Note: Binding these as C functions will result in the class not 16 | # converting them to methods. This is intended. 17 | encode = codecs.unicode_escape_encode 18 | decode = codecs.unicode_escape_decode 19 | 20 | class IncrementalEncoder(codecs.IncrementalEncoder): 21 | def encode(self, input, final=False): 22 | return codecs.unicode_escape_encode(input, self.errors)[0] 23 | 24 | class IncrementalDecoder(codecs.IncrementalDecoder): 25 | def decode(self, input, final=False): 26 | return codecs.unicode_escape_decode(input, self.errors)[0] 27 | 28 | class StreamWriter(Codec,codecs.StreamWriter): 29 | pass 30 | 31 | class StreamReader(Codec,codecs.StreamReader): 32 | pass 33 | 34 | ### encodings module API 35 | 36 | def getregentry(): 37 | return codecs.CodecInfo( 38 | name='unicode-escape', 39 | encode=Codec.encode, 40 | decode=Codec.decode, 41 | incrementalencoder=IncrementalEncoder, 42 | incrementaldecoder=IncrementalDecoder, 43 | streamwriter=StreamWriter, 44 | streamreader=StreamReader, 45 | ) 46 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/unicode_internal.py: -------------------------------------------------------------------------------- 1 | """ Python 'unicode-internal' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | class Codec(codecs.Codec): 14 | 15 | # Note: Binding these as C functions will result in the class not 16 | # converting them to methods. This is intended. 17 | encode = codecs.unicode_internal_encode 18 | decode = codecs.unicode_internal_decode 19 | 20 | class IncrementalEncoder(codecs.IncrementalEncoder): 21 | def encode(self, input, final=False): 22 | return codecs.unicode_internal_encode(input, self.errors)[0] 23 | 24 | class IncrementalDecoder(codecs.IncrementalDecoder): 25 | def decode(self, input, final=False): 26 | return codecs.unicode_internal_decode(input, self.errors)[0] 27 | 28 | class StreamWriter(Codec,codecs.StreamWriter): 29 | pass 30 | 31 | class StreamReader(Codec,codecs.StreamReader): 32 | pass 33 | 34 | ### encodings module API 35 | 36 | def getregentry(): 37 | return codecs.CodecInfo( 38 | name='unicode-internal', 39 | encode=Codec.encode, 40 | decode=Codec.decode, 41 | incrementalencoder=IncrementalEncoder, 42 | incrementaldecoder=IncrementalDecoder, 43 | streamwriter=StreamWriter, 44 | streamreader=StreamReader, 45 | ) 46 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/utf_16_be.py: -------------------------------------------------------------------------------- 1 | """ Python 'utf-16-be' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | encode = codecs.utf_16_be_encode 14 | 15 | def decode(input, errors='strict'): 16 | return codecs.utf_16_be_decode(input, errors, True) 17 | 18 | class IncrementalEncoder(codecs.IncrementalEncoder): 19 | def encode(self, input, final=False): 20 | return codecs.utf_16_be_encode(input, self.errors)[0] 21 | 22 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 23 | _buffer_decode = codecs.utf_16_be_decode 24 | 25 | class StreamWriter(codecs.StreamWriter): 26 | encode = codecs.utf_16_be_encode 27 | 28 | class StreamReader(codecs.StreamReader): 29 | decode = codecs.utf_16_be_decode 30 | 31 | ### encodings module API 32 | 33 | def getregentry(): 34 | return codecs.CodecInfo( 35 | name='utf-16-be', 36 | encode=encode, 37 | decode=decode, 38 | incrementalencoder=IncrementalEncoder, 39 | incrementaldecoder=IncrementalDecoder, 40 | streamreader=StreamReader, 41 | streamwriter=StreamWriter, 42 | ) 43 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/utf_16_le.py: -------------------------------------------------------------------------------- 1 | """ Python 'utf-16-le' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | encode = codecs.utf_16_le_encode 14 | 15 | def decode(input, errors='strict'): 16 | return codecs.utf_16_le_decode(input, errors, True) 17 | 18 | class IncrementalEncoder(codecs.IncrementalEncoder): 19 | def encode(self, input, final=False): 20 | return codecs.utf_16_le_encode(input, self.errors)[0] 21 | 22 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 23 | _buffer_decode = codecs.utf_16_le_decode 24 | 25 | class StreamWriter(codecs.StreamWriter): 26 | encode = codecs.utf_16_le_encode 27 | 28 | class StreamReader(codecs.StreamReader): 29 | decode = codecs.utf_16_le_decode 30 | 31 | ### encodings module API 32 | 33 | def getregentry(): 34 | return codecs.CodecInfo( 35 | name='utf-16-le', 36 | encode=encode, 37 | decode=decode, 38 | incrementalencoder=IncrementalEncoder, 39 | incrementaldecoder=IncrementalDecoder, 40 | streamreader=StreamReader, 41 | streamwriter=StreamWriter, 42 | ) 43 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/utf_32_le.py: -------------------------------------------------------------------------------- 1 | """ 2 | Python 'utf-32-le' Codec 3 | """ 4 | import codecs 5 | 6 | ### Codec APIs 7 | 8 | encode = codecs.utf_32_le_encode 9 | 10 | def decode(input, errors='strict'): 11 | return codecs.utf_32_le_decode(input, errors, True) 12 | 13 | class IncrementalEncoder(codecs.IncrementalEncoder): 14 | def encode(self, input, final=False): 15 | return codecs.utf_32_le_encode(input, self.errors)[0] 16 | 17 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 18 | _buffer_decode = codecs.utf_32_le_decode 19 | 20 | class StreamWriter(codecs.StreamWriter): 21 | encode = codecs.utf_32_le_encode 22 | 23 | class StreamReader(codecs.StreamReader): 24 | decode = codecs.utf_32_le_decode 25 | 26 | ### encodings module API 27 | 28 | def getregentry(): 29 | return codecs.CodecInfo( 30 | name='utf-32-le', 31 | encode=encode, 32 | decode=decode, 33 | incrementalencoder=IncrementalEncoder, 34 | incrementaldecoder=IncrementalDecoder, 35 | streamreader=StreamReader, 36 | streamwriter=StreamWriter, 37 | ) 38 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/utf_7.py: -------------------------------------------------------------------------------- 1 | """ Python 'utf-7' Codec 2 | 3 | Written by Brian Quinlan (brian@sweetapp.com). 4 | """ 5 | import codecs 6 | 7 | ### Codec APIs 8 | 9 | encode = codecs.utf_7_encode 10 | 11 | def decode(input, errors='strict'): 12 | return codecs.utf_7_decode(input, errors, True) 13 | 14 | class IncrementalEncoder(codecs.IncrementalEncoder): 15 | def encode(self, input, final=False): 16 | return codecs.utf_7_encode(input, self.errors)[0] 17 | 18 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 19 | _buffer_decode = codecs.utf_7_decode 20 | 21 | class StreamWriter(codecs.StreamWriter): 22 | encode = codecs.utf_7_encode 23 | 24 | class StreamReader(codecs.StreamReader): 25 | decode = codecs.utf_7_decode 26 | 27 | ### encodings module API 28 | 29 | def getregentry(): 30 | return codecs.CodecInfo( 31 | name='utf-7', 32 | encode=encode, 33 | decode=decode, 34 | incrementalencoder=IncrementalEncoder, 35 | incrementaldecoder=IncrementalDecoder, 36 | streamreader=StreamReader, 37 | streamwriter=StreamWriter, 38 | ) 39 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/encodings/utf_8.py: -------------------------------------------------------------------------------- 1 | """ Python 'utf-8' Codec 2 | 3 | 4 | Written by Marc-Andre Lemburg (mal@lemburg.com). 5 | 6 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 | 8 | """ 9 | import codecs 10 | 11 | ### Codec APIs 12 | 13 | encode = codecs.utf_8_encode 14 | 15 | def decode(input, errors='strict'): 16 | return codecs.utf_8_decode(input, errors, True) 17 | 18 | class IncrementalEncoder(codecs.IncrementalEncoder): 19 | def encode(self, input, final=False): 20 | return codecs.utf_8_encode(input, self.errors)[0] 21 | 22 | class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 23 | _buffer_decode = codecs.utf_8_decode 24 | 25 | class StreamWriter(codecs.StreamWriter): 26 | encode = codecs.utf_8_encode 27 | 28 | class StreamReader(codecs.StreamReader): 29 | decode = codecs.utf_8_decode 30 | 31 | ### encodings module API 32 | 33 | def getregentry(): 34 | return codecs.CodecInfo( 35 | name='utf-8', 36 | encode=encode, 37 | decode=decode, 38 | incrementalencoder=IncrementalEncoder, 39 | incrementaldecoder=IncrementalDecoder, 40 | streamreader=StreamReader, 41 | streamwriter=StreamWriter, 42 | ) 43 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/ensurepip/__main__.py: -------------------------------------------------------------------------------- 1 | import ensurepip 2 | 3 | if __name__ == "__main__": 4 | ensurepip._main() 5 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/ensurepip/_bundled/pip-1.5.6-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/ensurepip/_bundled/pip-1.5.6-py2.py3-none-any.whl -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/ensurepip/_bundled/setuptools-3.6-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/ensurepip/_bundled/setuptools-3.6-py2.py3-none-any.whl -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/ensurepip/_uninstall.py: -------------------------------------------------------------------------------- 1 | """Basic pip uninstallation support, helper for the Windows uninstaller""" 2 | 3 | import argparse 4 | import ensurepip 5 | 6 | 7 | def _main(argv=None): 8 | parser = argparse.ArgumentParser(prog="python -m ensurepip._uninstall") 9 | parser.add_argument( 10 | "--version", 11 | action="version", 12 | version="pip {}".format(ensurepip.version()), 13 | help="Show the version of pip this will attempt to uninstall.", 14 | ) 15 | parser.add_argument( 16 | "-v", "--verbose", 17 | action="count", 18 | default=0, 19 | dest="verbosity", 20 | help=("Give more output. Option is additive, and can be used up to 3 " 21 | "times."), 22 | ) 23 | 24 | args = parser.parse_args(argv) 25 | 26 | ensurepip._uninstall_helper(verbosity=args.verbosity) 27 | 28 | 29 | if __name__ == "__main__": 30 | _main() 31 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/heapq.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/heapq.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/importlib/__init__.py: -------------------------------------------------------------------------------- 1 | """Backport of importlib.import_module from 3.x.""" 2 | # While not critical (and in no way guaranteed!), it would be nice to keep this 3 | # code compatible with Python 2.3. 4 | import sys 5 | 6 | def _resolve_name(name, package, level): 7 | """Return the absolute name of the module to be imported.""" 8 | if not hasattr(package, 'rindex'): 9 | raise ValueError("'package' not set to a string") 10 | dot = len(package) 11 | for x in xrange(level, 1, -1): 12 | try: 13 | dot = package.rindex('.', 0, dot) 14 | except ValueError: 15 | raise ValueError("attempted relative import beyond top-level " 16 | "package") 17 | return "%s.%s" % (package[:dot], name) 18 | 19 | 20 | def import_module(name, package=None): 21 | """Import a module. 22 | 23 | The 'package' argument is required when performing a relative import. It 24 | specifies the package to use as the anchor point from which to resolve the 25 | relative import to an absolute import. 26 | 27 | """ 28 | if name.startswith('.'): 29 | if not package: 30 | raise TypeError("relative imports require the 'package' argument") 31 | level = 0 32 | for character in name: 33 | if character != '.': 34 | break 35 | level += 1 36 | name = _resolve_name(name[level:], package, level) 37 | __import__(name) 38 | return sys.modules[name] 39 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/json/tool.py: -------------------------------------------------------------------------------- 1 | r"""Command-line tool to validate and pretty-print JSON 2 | 3 | Usage:: 4 | 5 | $ echo '{"json":"obj"}' | python -m json.tool 6 | { 7 | "json": "obj" 8 | } 9 | $ echo '{ 1.2:3.4}' | python -m json.tool 10 | Expecting property name: line 1 column 2 (char 2) 11 | 12 | """ 13 | import sys 14 | import json 15 | 16 | def main(): 17 | if len(sys.argv) == 1: 18 | infile = sys.stdin 19 | outfile = sys.stdout 20 | elif len(sys.argv) == 2: 21 | infile = open(sys.argv[1], 'rb') 22 | outfile = sys.stdout 23 | elif len(sys.argv) == 3: 24 | infile = open(sys.argv[1], 'rb') 25 | outfile = open(sys.argv[2], 'wb') 26 | else: 27 | raise SystemExit(sys.argv[0] + " [infile [outfile]]") 28 | try: 29 | obj = json.load(infile) 30 | except ValueError, e: 31 | raise SystemExit(e) 32 | json.dump(obj, outfile, sort_keys=True, indent=4) 33 | outfile.write('\n') 34 | 35 | 36 | if __name__ == '__main__': 37 | main() 38 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/__init__.py: -------------------------------------------------------------------------------- 1 | #empty 2 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/__main__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from .main import main 3 | 4 | sys.exit(main("lib2to3.fixes")) 5 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/__init__.py: -------------------------------------------------------------------------------- 1 | # Dummy file to make this directory a package. 2 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_basestring.py: -------------------------------------------------------------------------------- 1 | """Fixer for basestring -> str.""" 2 | # Author: Christian Heimes 3 | 4 | # Local imports 5 | from .. import fixer_base 6 | from ..fixer_util import Name 7 | 8 | class FixBasestring(fixer_base.BaseFix): 9 | BM_compatible = True 10 | 11 | PATTERN = "'basestring'" 12 | 13 | def transform(self, node, results): 14 | return Name(u"str", prefix=node.prefix) 15 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_buffer.py: -------------------------------------------------------------------------------- 1 | # Copyright 2007 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer that changes buffer(...) into memoryview(...).""" 5 | 6 | # Local imports 7 | from .. import fixer_base 8 | from ..fixer_util import Name 9 | 10 | 11 | class FixBuffer(fixer_base.BaseFix): 12 | BM_compatible = True 13 | 14 | explicit = True # The user must ask for this fixer 15 | 16 | PATTERN = """ 17 | power< name='buffer' trailer< '(' [any] ')' > any* > 18 | """ 19 | 20 | def transform(self, node, results): 21 | name = results["name"] 22 | name.replace(Name(u"memoryview", prefix=name.prefix)) 23 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_callable.py: -------------------------------------------------------------------------------- 1 | # Copyright 2007 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer for callable(). 5 | 6 | This converts callable(obj) into isinstance(obj, collections.Callable), adding a 7 | collections import if needed.""" 8 | 9 | # Local imports 10 | from lib2to3 import fixer_base 11 | from lib2to3.fixer_util import Call, Name, String, Attr, touch_import 12 | 13 | class FixCallable(fixer_base.BaseFix): 14 | BM_compatible = True 15 | 16 | order = "pre" 17 | 18 | # Ignore callable(*args) or use of keywords. 19 | # Either could be a hint that the builtin callable() is not being used. 20 | PATTERN = """ 21 | power< 'callable' 22 | trailer< lpar='(' 23 | ( not(arglist | argument) any ','> ) 25 | rpar=')' > 26 | after=any* 27 | > 28 | """ 29 | 30 | def transform(self, node, results): 31 | func = results['func'] 32 | 33 | touch_import(None, u'collections', node=node) 34 | 35 | args = [func.clone(), String(u', ')] 36 | args.extend(Attr(Name(u'collections'), Name(u'Callable'))) 37 | return Call(Name(u'isinstance'), args, prefix=node.prefix) 38 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_exec.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer for exec. 5 | 6 | This converts usages of the exec statement into calls to a built-in 7 | exec() function. 8 | 9 | exec code in ns1, ns2 -> exec(code, ns1, ns2) 10 | """ 11 | 12 | # Local imports 13 | from .. import pytree 14 | from .. import fixer_base 15 | from ..fixer_util import Comma, Name, Call 16 | 17 | 18 | class FixExec(fixer_base.BaseFix): 19 | BM_compatible = True 20 | 21 | PATTERN = """ 22 | exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > 23 | | 24 | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > 25 | """ 26 | 27 | def transform(self, node, results): 28 | assert results 29 | syms = self.syms 30 | a = results["a"] 31 | b = results.get("b") 32 | c = results.get("c") 33 | args = [a.clone()] 34 | args[0].prefix = "" 35 | if b is not None: 36 | args.extend([Comma(), b.clone()]) 37 | if c is not None: 38 | args.extend([Comma(), c.clone()]) 39 | 40 | return Call(Name(u"exec"), args, prefix=node.prefix) 41 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_funcattrs.py: -------------------------------------------------------------------------------- 1 | """Fix function attribute names (f.func_x -> f.__x__).""" 2 | # Author: Collin Winter 3 | 4 | # Local imports 5 | from .. import fixer_base 6 | from ..fixer_util import Name 7 | 8 | 9 | class FixFuncattrs(fixer_base.BaseFix): 10 | BM_compatible = True 11 | 12 | PATTERN = """ 13 | power< any+ trailer< '.' attr=('func_closure' | 'func_doc' | 'func_globals' 14 | | 'func_name' | 'func_defaults' | 'func_code' 15 | | 'func_dict') > any* > 16 | """ 17 | 18 | def transform(self, node, results): 19 | attr = results["attr"][0] 20 | attr.replace(Name((u"__%s__" % attr.value[5:]), 21 | prefix=attr.prefix)) 22 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_future.py: -------------------------------------------------------------------------------- 1 | """Remove __future__ imports 2 | 3 | from __future__ import foo is replaced with an empty line. 4 | """ 5 | # Author: Christian Heimes 6 | 7 | # Local imports 8 | from .. import fixer_base 9 | from ..fixer_util import BlankLine 10 | 11 | class FixFuture(fixer_base.BaseFix): 12 | BM_compatible = True 13 | 14 | PATTERN = """import_from< 'from' module_name="__future__" 'import' any >""" 15 | 16 | # This should be run last -- some things check for the import 17 | run_order = 10 18 | 19 | def transform(self, node, results): 20 | new = BlankLine() 21 | new.prefix = node.prefix 22 | return new 23 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_getcwdu.py: -------------------------------------------------------------------------------- 1 | """ 2 | Fixer that changes os.getcwdu() to os.getcwd(). 3 | """ 4 | # Author: Victor Stinner 5 | 6 | # Local imports 7 | from .. import fixer_base 8 | from ..fixer_util import Name 9 | 10 | class FixGetcwdu(fixer_base.BaseFix): 11 | BM_compatible = True 12 | 13 | PATTERN = """ 14 | power< 'os' trailer< dot='.' name='getcwdu' > any* > 15 | """ 16 | 17 | def transform(self, node, results): 18 | name = results["name"] 19 | name.replace(Name(u"getcwd", prefix=name.prefix)) 20 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_imports2.py: -------------------------------------------------------------------------------- 1 | """Fix incompatible imports and module references that must be fixed after 2 | fix_imports.""" 3 | from . import fix_imports 4 | 5 | 6 | MAPPING = { 7 | 'whichdb': 'dbm', 8 | 'anydbm': 'dbm', 9 | } 10 | 11 | 12 | class FixImports2(fix_imports.FixImports): 13 | 14 | run_order = 7 15 | 16 | mapping = MAPPING 17 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_input.py: -------------------------------------------------------------------------------- 1 | """Fixer that changes input(...) into eval(input(...)).""" 2 | # Author: Andre Roberge 3 | 4 | # Local imports 5 | from .. import fixer_base 6 | from ..fixer_util import Call, Name 7 | from .. import patcomp 8 | 9 | 10 | context = patcomp.compile_pattern("power< 'eval' trailer< '(' any ')' > >") 11 | 12 | 13 | class FixInput(fixer_base.BaseFix): 14 | BM_compatible = True 15 | PATTERN = """ 16 | power< 'input' args=trailer< '(' [any] ')' > > 17 | """ 18 | 19 | def transform(self, node, results): 20 | # If we're already wrapped in a eval() call, we're done. 21 | if context.match(node.parent.parent): 22 | return 23 | 24 | new = node.clone() 25 | new.prefix = u"" 26 | return Call(Name(u"eval"), [new], prefix=node.prefix) 27 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_intern.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Georg Brandl. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer for intern(). 5 | 6 | intern(s) -> sys.intern(s)""" 7 | 8 | # Local imports 9 | from .. import pytree 10 | from .. import fixer_base 11 | from ..fixer_util import Name, Attr, touch_import 12 | 13 | 14 | class FixIntern(fixer_base.BaseFix): 15 | BM_compatible = True 16 | order = "pre" 17 | 18 | PATTERN = """ 19 | power< 'intern' 20 | trailer< lpar='(' 21 | ( not(arglist | argument) any ','> ) 23 | rpar=')' > 24 | after=any* 25 | > 26 | """ 27 | 28 | def transform(self, node, results): 29 | syms = self.syms 30 | obj = results["obj"].clone() 31 | if obj.type == syms.arglist: 32 | newarglist = obj.clone() 33 | else: 34 | newarglist = pytree.Node(syms.arglist, [obj.clone()]) 35 | after = results["after"] 36 | if after: 37 | after = [n.clone() for n in after] 38 | new = pytree.Node(syms.power, 39 | Attr(Name(u"sys"), Name(u"intern")) + 40 | [pytree.Node(syms.trailer, 41 | [results["lpar"].clone(), 42 | newarglist, 43 | results["rpar"].clone()])] + after) 44 | new.prefix = node.prefix 45 | touch_import(None, u'sys', node) 46 | return new 47 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_itertools.py: -------------------------------------------------------------------------------- 1 | """ Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and 2 | itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363) 3 | 4 | imports from itertools are fixed in fix_itertools_import.py 5 | 6 | If itertools is imported as something else (ie: import itertools as it; 7 | it.izip(spam, eggs)) method calls will not get fixed. 8 | """ 9 | 10 | # Local imports 11 | from .. import fixer_base 12 | from ..fixer_util import Name 13 | 14 | class FixItertools(fixer_base.BaseFix): 15 | BM_compatible = True 16 | it_funcs = "('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')" 17 | PATTERN = """ 18 | power< it='itertools' 19 | trailer< 20 | dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > > 21 | | 22 | power< func=%(it_funcs)s trailer< '(' [any] ')' > > 23 | """ %(locals()) 24 | 25 | # Needs to be run after fix_(map|zip|filter) 26 | run_order = 6 27 | 28 | def transform(self, node, results): 29 | prefix = None 30 | func = results['func'][0] 31 | if ('it' in results and 32 | func.value not in (u'ifilterfalse', u'izip_longest')): 33 | dot, it = (results['dot'], results['it']) 34 | # Remove the 'itertools' 35 | prefix = it.prefix 36 | it.remove() 37 | # Replace the node wich contains ('.', 'function') with the 38 | # function (to be consistant with the second part of the pattern) 39 | dot.remove() 40 | func.parent.replace(func) 41 | 42 | prefix = prefix or func.prefix 43 | func.replace(Name(func.value[1:], prefix=prefix)) 44 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_long.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer that turns 'long' into 'int' everywhere. 5 | """ 6 | 7 | # Local imports 8 | from lib2to3 import fixer_base 9 | from lib2to3.fixer_util import is_probably_builtin 10 | 11 | 12 | class FixLong(fixer_base.BaseFix): 13 | BM_compatible = True 14 | PATTERN = "'long'" 15 | 16 | def transform(self, node, results): 17 | if is_probably_builtin(node): 18 | node.value = u"int" 19 | node.changed() 20 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_methodattrs.py: -------------------------------------------------------------------------------- 1 | """Fix bound method attributes (method.im_? -> method.__?__). 2 | """ 3 | # Author: Christian Heimes 4 | 5 | # Local imports 6 | from .. import fixer_base 7 | from ..fixer_util import Name 8 | 9 | MAP = { 10 | "im_func" : "__func__", 11 | "im_self" : "__self__", 12 | "im_class" : "__self__.__class__" 13 | } 14 | 15 | class FixMethodattrs(fixer_base.BaseFix): 16 | BM_compatible = True 17 | PATTERN = """ 18 | power< any+ trailer< '.' attr=('im_func' | 'im_self' | 'im_class') > any* > 19 | """ 20 | 21 | def transform(self, node, results): 22 | attr = results["attr"][0] 23 | new = unicode(MAP[attr.value]) 24 | attr.replace(Name(new, prefix=attr.prefix)) 25 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_ne.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer that turns <> into !=.""" 5 | 6 | # Local imports 7 | from .. import pytree 8 | from ..pgen2 import token 9 | from .. import fixer_base 10 | 11 | 12 | class FixNe(fixer_base.BaseFix): 13 | # This is so simple that we don't need the pattern compiler. 14 | 15 | _accept_type = token.NOTEQUAL 16 | 17 | def match(self, node): 18 | # Override 19 | return node.value == u"<>" 20 | 21 | def transform(self, node, results): 22 | new = pytree.Leaf(token.NOTEQUAL, u"!=", prefix=node.prefix) 23 | return new 24 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_nonzero.py: -------------------------------------------------------------------------------- 1 | """Fixer for __nonzero__ -> __bool__ methods.""" 2 | # Author: Collin Winter 3 | 4 | # Local imports 5 | from .. import fixer_base 6 | from ..fixer_util import Name, syms 7 | 8 | class FixNonzero(fixer_base.BaseFix): 9 | BM_compatible = True 10 | PATTERN = """ 11 | classdef< 'class' any+ ':' 12 | suite< any* 13 | funcdef< 'def' name='__nonzero__' 14 | parameters< '(' NAME ')' > any+ > 15 | any* > > 16 | """ 17 | 18 | def transform(self, node, results): 19 | name = results["name"] 20 | new = Name(u"__bool__", prefix=name.prefix) 21 | name.replace(new) 22 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_numliterals.py: -------------------------------------------------------------------------------- 1 | """Fixer that turns 1L into 1, 0755 into 0o755. 2 | """ 3 | # Copyright 2007 Georg Brandl. 4 | # Licensed to PSF under a Contributor Agreement. 5 | 6 | # Local imports 7 | from ..pgen2 import token 8 | from .. import fixer_base 9 | from ..fixer_util import Number 10 | 11 | 12 | class FixNumliterals(fixer_base.BaseFix): 13 | # This is so simple that we don't need the pattern compiler. 14 | 15 | _accept_type = token.NUMBER 16 | 17 | def match(self, node): 18 | # Override 19 | return (node.value.startswith(u"0") or node.value[-1] in u"Ll") 20 | 21 | def transform(self, node, results): 22 | val = node.value 23 | if val[-1] in u'Ll': 24 | val = val[:-1] 25 | elif val.startswith(u'0') and val.isdigit() and len(set(val)) > 1: 26 | val = u"0o" + val[1:] 27 | 28 | return Number(val, prefix=node.prefix) 29 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_paren.py: -------------------------------------------------------------------------------- 1 | """Fixer that addes parentheses where they are required 2 | 3 | This converts ``[x for x in 1, 2]`` to ``[x for x in (1, 2)]``.""" 4 | 5 | # By Taek Joo Kim and Benjamin Peterson 6 | 7 | # Local imports 8 | from .. import fixer_base 9 | from ..fixer_util import LParen, RParen 10 | 11 | # XXX This doesn't support nested for loops like [x for x in 1, 2 for x in 1, 2] 12 | class FixParen(fixer_base.BaseFix): 13 | BM_compatible = True 14 | 15 | PATTERN = """ 16 | atom< ('[' | '(') 17 | (listmaker< any 18 | comp_for< 19 | 'for' NAME 'in' 20 | target=testlist_safe< any (',' any)+ [','] 21 | > 22 | [any] 23 | > 24 | > 25 | | 26 | testlist_gexp< any 27 | comp_for< 28 | 'for' NAME 'in' 29 | target=testlist_safe< any (',' any)+ [','] 30 | > 31 | [any] 32 | > 33 | >) 34 | (']' | ')') > 35 | """ 36 | 37 | def transform(self, node, results): 38 | target = results["target"] 39 | 40 | lparen = LParen() 41 | lparen.prefix = target.prefix 42 | target.prefix = u"" # Make it hug the parentheses 43 | target.insert_child(0, lparen) 44 | target.append_child(RParen()) 45 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_raw_input.py: -------------------------------------------------------------------------------- 1 | """Fixer that changes raw_input(...) into input(...).""" 2 | # Author: Andre Roberge 3 | 4 | # Local imports 5 | from .. import fixer_base 6 | from ..fixer_util import Name 7 | 8 | class FixRawInput(fixer_base.BaseFix): 9 | 10 | BM_compatible = True 11 | PATTERN = """ 12 | power< name='raw_input' trailer< '(' [any] ')' > any* > 13 | """ 14 | 15 | def transform(self, node, results): 16 | name = results["name"] 17 | name.replace(Name(u"input", prefix=name.prefix)) 18 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_reduce.py: -------------------------------------------------------------------------------- 1 | # Copyright 2008 Armin Ronacher. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer for reduce(). 5 | 6 | Makes sure reduce() is imported from the functools module if reduce is 7 | used in that module. 8 | """ 9 | 10 | from lib2to3 import fixer_base 11 | from lib2to3.fixer_util import touch_import 12 | 13 | 14 | 15 | class FixReduce(fixer_base.BaseFix): 16 | 17 | BM_compatible = True 18 | order = "pre" 19 | 20 | PATTERN = """ 21 | power< 'reduce' 22 | trailer< '(' 23 | arglist< ( 24 | (not(argument) any ',' 27 | not(argument 31 | > 32 | """ 33 | 34 | def transform(self, node, results): 35 | touch_import(u'functools', u'reduce', node) 36 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_repr.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer that transforms `xyzzy` into repr(xyzzy).""" 5 | 6 | # Local imports 7 | from .. import fixer_base 8 | from ..fixer_util import Call, Name, parenthesize 9 | 10 | 11 | class FixRepr(fixer_base.BaseFix): 12 | 13 | BM_compatible = True 14 | PATTERN = """ 15 | atom < '`' expr=any '`' > 16 | """ 17 | 18 | def transform(self, node, results): 19 | expr = results["expr"].clone() 20 | 21 | if expr.type == self.syms.testlist1: 22 | expr = parenthesize(expr) 23 | return Call(Name(u"repr"), [expr], prefix=node.prefix) 24 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_standarderror.py: -------------------------------------------------------------------------------- 1 | # Copyright 2007 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Fixer for StandardError -> Exception.""" 5 | 6 | # Local imports 7 | from .. import fixer_base 8 | from ..fixer_util import Name 9 | 10 | 11 | class FixStandarderror(fixer_base.BaseFix): 12 | BM_compatible = True 13 | PATTERN = """ 14 | 'StandardError' 15 | """ 16 | 17 | def transform(self, node, results): 18 | return Name(u"Exception", prefix=node.prefix) 19 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_sys_exc.py: -------------------------------------------------------------------------------- 1 | """Fixer for sys.exc_{type, value, traceback} 2 | 3 | sys.exc_type -> sys.exc_info()[0] 4 | sys.exc_value -> sys.exc_info()[1] 5 | sys.exc_traceback -> sys.exc_info()[2] 6 | """ 7 | 8 | # By Jeff Balogh and Benjamin Peterson 9 | 10 | # Local imports 11 | from .. import fixer_base 12 | from ..fixer_util import Attr, Call, Name, Number, Subscript, Node, syms 13 | 14 | class FixSysExc(fixer_base.BaseFix): 15 | # This order matches the ordering of sys.exc_info(). 16 | exc_info = [u"exc_type", u"exc_value", u"exc_traceback"] 17 | BM_compatible = True 18 | PATTERN = """ 19 | power< 'sys' trailer< dot='.' attribute=(%s) > > 20 | """ % '|'.join("'%s'" % e for e in exc_info) 21 | 22 | def transform(self, node, results): 23 | sys_attr = results["attribute"][0] 24 | index = Number(self.exc_info.index(sys_attr.value)) 25 | 26 | call = Call(Name(u"exc_info"), prefix=sys_attr.prefix) 27 | attr = Attr(Name(u"sys"), call) 28 | attr[1].children[0].prefix = results["dot"].prefix 29 | attr.append(Subscript(index)) 30 | return Node(syms.power, attr, prefix=node.prefix) 31 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_unicode.py: -------------------------------------------------------------------------------- 1 | """Fixer that changes unicode to str, unichr to chr, and u"..." into "...". 2 | 3 | """ 4 | 5 | import re 6 | from ..pgen2 import token 7 | from .. import fixer_base 8 | 9 | _mapping = {u"unichr" : u"chr", u"unicode" : u"str"} 10 | _literal_re = re.compile(ur"[uU][rR]?[\'\"]") 11 | 12 | class FixUnicode(fixer_base.BaseFix): 13 | BM_compatible = True 14 | PATTERN = "STRING | 'unicode' | 'unichr'" 15 | 16 | def transform(self, node, results): 17 | if node.type == token.NAME: 18 | new = node.clone() 19 | new.value = _mapping[node.value] 20 | return new 21 | elif node.type == token.STRING: 22 | if _literal_re.match(node.value): 23 | new = node.clone() 24 | new.value = new.value[1:] 25 | return new 26 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_ws_comma.py: -------------------------------------------------------------------------------- 1 | """Fixer that changes 'a ,b' into 'a, b'. 2 | 3 | This also changes '{a :b}' into '{a: b}', but does not touch other 4 | uses of colons. It does not touch other uses of whitespace. 5 | 6 | """ 7 | 8 | from .. import pytree 9 | from ..pgen2 import token 10 | from .. import fixer_base 11 | 12 | class FixWsComma(fixer_base.BaseFix): 13 | 14 | explicit = True # The user must ask for this fixers 15 | 16 | PATTERN = """ 17 | any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]> 18 | """ 19 | 20 | COMMA = pytree.Leaf(token.COMMA, u",") 21 | COLON = pytree.Leaf(token.COLON, u":") 22 | SEPS = (COMMA, COLON) 23 | 24 | def transform(self, node, results): 25 | new = node.clone() 26 | comma = False 27 | for child in new.children: 28 | if child in self.SEPS: 29 | prefix = child.prefix 30 | if prefix.isspace() and u"\n" not in prefix: 31 | child.prefix = u"" 32 | comma = True 33 | else: 34 | if comma: 35 | prefix = child.prefix 36 | if not prefix: 37 | child.prefix = u" " 38 | comma = False 39 | return new 40 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_xreadlines.py: -------------------------------------------------------------------------------- 1 | """Fix "for x in f.xreadlines()" -> "for x in f". 2 | 3 | This fixer will also convert g(f.xreadlines) into g(f.__iter__).""" 4 | # Author: Collin Winter 5 | 6 | # Local imports 7 | from .. import fixer_base 8 | from ..fixer_util import Name 9 | 10 | 11 | class FixXreadlines(fixer_base.BaseFix): 12 | BM_compatible = True 13 | PATTERN = """ 14 | power< call=any+ trailer< '.' 'xreadlines' > trailer< '(' ')' > > 15 | | 16 | power< any+ trailer< '.' no_call='xreadlines' > > 17 | """ 18 | 19 | def transform(self, node, results): 20 | no_call = results.get("no_call") 21 | 22 | if no_call: 23 | no_call.replace(Name(u"__iter__", prefix=no_call.prefix)) 24 | else: 25 | node.replace([x.clone() for x in results["call"]]) 26 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/fixes/fix_zip.py: -------------------------------------------------------------------------------- 1 | """ 2 | Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...) 3 | unless there exists a 'from future_builtins import zip' statement in the 4 | top-level namespace. 5 | 6 | We avoid the transformation if the zip() call is directly contained in 7 | iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:. 8 | """ 9 | 10 | # Local imports 11 | from .. import fixer_base 12 | from ..fixer_util import Name, Call, in_special_context 13 | 14 | class FixZip(fixer_base.ConditionalFix): 15 | 16 | BM_compatible = True 17 | PATTERN = """ 18 | power< 'zip' args=trailer< '(' [any] ')' > 19 | > 20 | """ 21 | 22 | skip_on = "future_builtins.zip" 23 | 24 | def transform(self, node, results): 25 | if self.should_skip(node): 26 | return 27 | 28 | if in_special_context(node): 29 | return None 30 | 31 | new = node.clone() 32 | new.prefix = u"" 33 | new = Call(Name(u"list"), [new]) 34 | new.prefix = node.prefix 35 | return new 36 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/pgen2/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2004-2005 Elemental Security, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """The pgen2 package.""" 5 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/pgen2/token.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | """Token constants (from "token.h").""" 4 | 5 | # Taken from Python (r53757) and modified to include some tokens 6 | # originally monkeypatched in by pgen2.tokenize 7 | 8 | #--start constants-- 9 | ENDMARKER = 0 10 | NAME = 1 11 | NUMBER = 2 12 | STRING = 3 13 | NEWLINE = 4 14 | INDENT = 5 15 | DEDENT = 6 16 | LPAR = 7 17 | RPAR = 8 18 | LSQB = 9 19 | RSQB = 10 20 | COLON = 11 21 | COMMA = 12 22 | SEMI = 13 23 | PLUS = 14 24 | MINUS = 15 25 | STAR = 16 26 | SLASH = 17 27 | VBAR = 18 28 | AMPER = 19 29 | LESS = 20 30 | GREATER = 21 31 | EQUAL = 22 32 | DOT = 23 33 | PERCENT = 24 34 | BACKQUOTE = 25 35 | LBRACE = 26 36 | RBRACE = 27 37 | EQEQUAL = 28 38 | NOTEQUAL = 29 39 | LESSEQUAL = 30 40 | GREATEREQUAL = 31 41 | TILDE = 32 42 | CIRCUMFLEX = 33 43 | LEFTSHIFT = 34 44 | RIGHTSHIFT = 35 45 | DOUBLESTAR = 36 46 | PLUSEQUAL = 37 47 | MINEQUAL = 38 48 | STAREQUAL = 39 49 | SLASHEQUAL = 40 50 | PERCENTEQUAL = 41 51 | AMPEREQUAL = 42 52 | VBAREQUAL = 43 53 | CIRCUMFLEXEQUAL = 44 54 | LEFTSHIFTEQUAL = 45 55 | RIGHTSHIFTEQUAL = 46 56 | DOUBLESTAREQUAL = 47 57 | DOUBLESLASH = 48 58 | DOUBLESLASHEQUAL = 49 59 | AT = 50 60 | OP = 51 61 | COMMENT = 52 62 | NL = 53 63 | RARROW = 54 64 | ERRORTOKEN = 55 65 | N_TOKENS = 56 66 | NT_OFFSET = 256 67 | #--end constants-- 68 | 69 | tok_name = {} 70 | for _name, _value in globals().items(): 71 | if type(_value) is type(0): 72 | tok_name[_value] = _name 73 | 74 | 75 | def ISTERMINAL(x): 76 | return x < NT_OFFSET 77 | 78 | def ISNONTERMINAL(x): 79 | return x >= NT_OFFSET 80 | 81 | def ISEOF(x): 82 | return x == ENDMARKER 83 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/lib2to3/pygram.py: -------------------------------------------------------------------------------- 1 | # Copyright 2006 Google, Inc. All Rights Reserved. 2 | # Licensed to PSF under a Contributor Agreement. 3 | 4 | """Export the Python grammar and symbols.""" 5 | 6 | # Python imports 7 | import os 8 | 9 | # Local imports 10 | from .pgen2 import token 11 | from .pgen2 import driver 12 | from . import pytree 13 | 14 | # The grammar file 15 | _GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "Grammar.txt") 16 | _PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), 17 | "PatternGrammar.txt") 18 | 19 | 20 | class Symbols(object): 21 | 22 | def __init__(self, grammar): 23 | """Initializer. 24 | 25 | Creates an attribute for each grammar symbol (nonterminal), 26 | whose value is the symbol's type (an int >= 256). 27 | """ 28 | for name, symbol in grammar.symbol2number.iteritems(): 29 | setattr(self, name, symbol) 30 | 31 | 32 | python_grammar = driver.load_grammar(_GRAMMAR_FILE) 33 | 34 | python_symbols = Symbols(python_grammar) 35 | 36 | python_grammar_no_print_statement = python_grammar.copy() 37 | del python_grammar_no_print_statement.keywords["print"] 38 | 39 | pattern_grammar = driver.load_grammar(_PATTERN_GRAMMAR_FILE) 40 | pattern_symbols = Symbols(pattern_grammar) 41 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/md5.py: -------------------------------------------------------------------------------- 1 | # $Id$ 2 | # 3 | # Copyright (C) 2005 Gregory P. Smith (greg@krypto.org) 4 | # Licensed to PSF under a Contributor Agreement. 5 | 6 | import warnings 7 | warnings.warn("the md5 module is deprecated; use hashlib instead", 8 | DeprecationWarning, 2) 9 | 10 | from hashlib import md5 11 | new = md5 12 | 13 | blocksize = 1 # legacy value (wrong in any useful sense) 14 | digest_size = 16 15 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/new.py: -------------------------------------------------------------------------------- 1 | """Create new objects of various types. Deprecated. 2 | 3 | This module is no longer required except for backward compatibility. 4 | Objects of most types can now be created by calling the type object. 5 | """ 6 | from warnings import warnpy3k 7 | warnpy3k("The 'new' module has been removed in Python 3.0; use the 'types' " 8 | "module instead.", stacklevel=2) 9 | del warnpy3k 10 | 11 | from types import ClassType as classobj 12 | from types import FunctionType as function 13 | from types import InstanceType as instance 14 | from types import MethodType as instancemethod 15 | from types import ModuleType as module 16 | 17 | from types import CodeType as code 18 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/pydoc_data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/pydoc_data/__init__.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/sha.py: -------------------------------------------------------------------------------- 1 | # $Id$ 2 | # 3 | # Copyright (C) 2005 Gregory P. Smith (greg@krypto.org) 4 | # Licensed to PSF under a Contributor Agreement. 5 | 6 | import warnings 7 | warnings.warn("the sha module is deprecated; use the hashlib module instead", 8 | DeprecationWarning, 2) 9 | 10 | from hashlib import sha1 as sha 11 | new = sha 12 | 13 | blocksize = 1 # legacy value (wrong in any useful sense) 14 | digest_size = 20 15 | digestsize = 20 16 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/shlex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/shlex.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/site-packages/README.txt: -------------------------------------------------------------------------------- 1 | This directory exists so that 3rd party packages can be installed 2 | here. Read the source for site.py for more details. 3 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/sqlite3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/sqlite3/__init__.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/sqlite3/dbapi2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/sqlite3/dbapi2.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/statvfs.py: -------------------------------------------------------------------------------- 1 | """Constants for interpreting the results of os.statvfs() and os.fstatvfs().""" 2 | from warnings import warnpy3k 3 | warnpy3k("the statvfs module has been removed in Python 3.0", stacklevel=2) 4 | del warnpy3k 5 | 6 | # Indices for statvfs struct members in the tuple returned by 7 | # os.statvfs() and os.fstatvfs(). 8 | 9 | F_BSIZE = 0 # Preferred file system block size 10 | F_FRSIZE = 1 # Fundamental file system block size 11 | F_BLOCKS = 2 # Total number of file system blocks (FRSIZE) 12 | F_BFREE = 3 # Total number of free blocks 13 | F_BAVAIL = 4 # Free blocks available to non-superuser 14 | F_FILES = 5 # Total number of file nodes 15 | F_FFREE = 6 # Total number of free file nodes 16 | F_FAVAIL = 7 # Free nodes available to non-superuser 17 | F_FLAG = 8 # Flags (see your local statvfs man page) 18 | F_NAMEMAX = 9 # Maximum file name length 19 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/struct.py: -------------------------------------------------------------------------------- 1 | from _struct import * 2 | from _struct import _clearcache 3 | from _struct import __doc__ 4 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/sunaudio.py: -------------------------------------------------------------------------------- 1 | """Interpret sun audio headers.""" 2 | from warnings import warnpy3k 3 | warnpy3k("the sunaudio module has been removed in Python 3.0; " 4 | "use the sunau module instead", stacklevel=2) 5 | del warnpy3k 6 | 7 | 8 | MAGIC = '.snd' 9 | 10 | class error(Exception): 11 | pass 12 | 13 | 14 | def get_long_be(s): 15 | """Convert a 4-char value to integer.""" 16 | return (ord(s[0])<<24) | (ord(s[1])<<16) | (ord(s[2])<<8) | ord(s[3]) 17 | 18 | 19 | def gethdr(fp): 20 | """Read a sound header from an open file.""" 21 | if fp.read(4) != MAGIC: 22 | raise error, 'gethdr: bad magic word' 23 | hdr_size = get_long_be(fp.read(4)) 24 | data_size = get_long_be(fp.read(4)) 25 | encoding = get_long_be(fp.read(4)) 26 | sample_rate = get_long_be(fp.read(4)) 27 | channels = get_long_be(fp.read(4)) 28 | excess = hdr_size - 24 29 | if excess < 0: 30 | raise error, 'gethdr: bad hdr_size' 31 | if excess > 0: 32 | info = fp.read(excess) 33 | else: 34 | info = '' 35 | return (data_size, encoding, sample_rate, channels, info) 36 | 37 | 38 | def printhdr(file): 39 | """Read and print the sound header of a named file.""" 40 | hdr = gethdr(open(file, 'r')) 41 | data_size, encoding, sample_rate, channels, info = hdr 42 | while info[-1:] == '\0': 43 | info = info[:-1] 44 | print 'File name: ', file 45 | print 'Data size: ', data_size 46 | print 'Encoding: ', encoding 47 | print 'Sample rate:', sample_rate 48 | print 'Channels: ', channels 49 | print 'Info: ', repr(info) 50 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/tarfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Lib/tarfile.py -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/this.py: -------------------------------------------------------------------------------- 1 | s = """Gur Mra bs Clguba, ol Gvz Crgref 2 | 3 | Ornhgvshy vf orggre guna htyl. 4 | Rkcyvpvg vf orggre guna vzcyvpvg. 5 | Fvzcyr vf orggre guna pbzcyrk. 6 | Pbzcyrk vf orggre guna pbzcyvpngrq. 7 | Syng vf orggre guna arfgrq. 8 | Fcnefr vf orggre guna qrafr. 9 | Ernqnovyvgl pbhagf. 10 | Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf. 11 | Nygubhtu cenpgvpnyvgl orngf chevgl. 12 | Reebef fubhyq arire cnff fvyragyl. 13 | Hayrff rkcyvpvgyl fvyraprq. 14 | Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff. 15 | Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg. 16 | Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu. 17 | Abj vf orggre guna arire. 18 | Nygubhtu arire vf bsgra orggre guna *evtug* abj. 19 | Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn. 20 | Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn. 21 | Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!""" 22 | 23 | d = {} 24 | for c in (65, 97): 25 | for i in range(26): 26 | d[chr(i+c)] = chr((i+13) % 26 + c) 27 | 28 | print "".join([d.get(c, c) for c in s]) 29 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/unittest/__main__.py: -------------------------------------------------------------------------------- 1 | """Main entry point""" 2 | 3 | import sys 4 | if sys.argv[0].endswith("__main__.py"): 5 | sys.argv[0] = "python -m unittest" 6 | 7 | __unittest = True 8 | 9 | from .main import main, TestProgram, USAGE_AS_MAIN 10 | TestProgram.USAGE = USAGE_AS_MAIN 11 | 12 | main(module=None) 13 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/wsgiref/__init__.py: -------------------------------------------------------------------------------- 1 | """wsgiref -- a WSGI (PEP 333) Reference Library 2 | 3 | Current Contents: 4 | 5 | * util -- Miscellaneous useful functions and wrappers 6 | 7 | * headers -- Manage response headers 8 | 9 | * handlers -- base classes for server/gateway implementations 10 | 11 | * simple_server -- a simple BaseHTTPServer that supports WSGI 12 | 13 | * validate -- validation wrapper that sits between an app and a server 14 | to detect errors in either 15 | 16 | To-Do: 17 | 18 | * cgi_gateway -- Run WSGI apps under CGI (pending a deployment standard) 19 | 20 | * cgi_wrapper -- Run CGI apps under WSGI 21 | 22 | * router -- a simple middleware component that handles URL traversal 23 | """ 24 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/xml/__init__.py: -------------------------------------------------------------------------------- 1 | """Core XML support for Python. 2 | 3 | This package contains four sub-packages: 4 | 5 | dom -- The W3C Document Object Model. This supports DOM Level 1 + 6 | Namespaces. 7 | 8 | parsers -- Python wrappers for XML parsers (currently only supports Expat). 9 | 10 | sax -- The Simple API for XML, developed by XML-Dev, led by David 11 | Megginson and ported to Python by Lars Marius Garshol. This 12 | supports the SAX 2 API. 13 | 14 | etree -- The ElementTree XML library. This is a subset of the full 15 | ElementTree XML release. 16 | 17 | """ 18 | 19 | 20 | __all__ = ["dom", "parsers", "sax", "etree"] 21 | 22 | _MINIMUM_XMLPLUS_VERSION = (0, 8, 4) 23 | 24 | 25 | try: 26 | import _xmlplus 27 | except ImportError: 28 | pass 29 | else: 30 | try: 31 | v = _xmlplus.version_info 32 | except AttributeError: 33 | # _xmlplus is too old; ignore it 34 | pass 35 | else: 36 | if v >= _MINIMUM_XMLPLUS_VERSION: 37 | import sys 38 | _xmlplus.__path__.extend(__path__) 39 | sys.modules[__name__] = _xmlplus 40 | else: 41 | del v 42 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/xml/dom/NodeFilter.py: -------------------------------------------------------------------------------- 1 | # This is the Python mapping for interface NodeFilter from 2 | # DOM2-Traversal-Range. It contains only constants. 3 | 4 | class NodeFilter: 5 | """ 6 | This is the DOM2 NodeFilter interface. It contains only constants. 7 | """ 8 | FILTER_ACCEPT = 1 9 | FILTER_REJECT = 2 10 | FILTER_SKIP = 3 11 | 12 | SHOW_ALL = 0xFFFFFFFFL 13 | SHOW_ELEMENT = 0x00000001 14 | SHOW_ATTRIBUTE = 0x00000002 15 | SHOW_TEXT = 0x00000004 16 | SHOW_CDATA_SECTION = 0x00000008 17 | SHOW_ENTITY_REFERENCE = 0x00000010 18 | SHOW_ENTITY = 0x00000020 19 | SHOW_PROCESSING_INSTRUCTION = 0x00000040 20 | SHOW_COMMENT = 0x00000080 21 | SHOW_DOCUMENT = 0x00000100 22 | SHOW_DOCUMENT_TYPE = 0x00000200 23 | SHOW_DOCUMENT_FRAGMENT = 0x00000400 24 | SHOW_NOTATION = 0x00000800 25 | 26 | def acceptNode(self, node): 27 | raise NotImplementedError 28 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/xml/etree/__init__.py: -------------------------------------------------------------------------------- 1 | # $Id: __init__.py 3375 2008-02-13 08:05:08Z fredrik $ 2 | # elementtree package 3 | 4 | # -------------------------------------------------------------------- 5 | # The ElementTree toolkit is 6 | # 7 | # Copyright (c) 1999-2008 by Fredrik Lundh 8 | # 9 | # By obtaining, using, and/or copying this software and/or its 10 | # associated documentation, you agree that you have read, understood, 11 | # and will comply with the following terms and conditions: 12 | # 13 | # Permission to use, copy, modify, and distribute this software and 14 | # its associated documentation for any purpose and without fee is 15 | # hereby granted, provided that the above copyright notice appears in 16 | # all copies, and that both that copyright notice and this permission 17 | # notice appear in supporting documentation, and that the name of 18 | # Secret Labs AB or the author not be used in advertising or publicity 19 | # pertaining to distribution of the software without specific, written 20 | # prior permission. 21 | # 22 | # SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD 23 | # TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- 24 | # ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR 25 | # BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 26 | # DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 27 | # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 28 | # ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 29 | # OF THIS SOFTWARE. 30 | # -------------------------------------------------------------------- 31 | 32 | # Licensed to PSF under a Contributor Agreement. 33 | # See http://www.python.org/psf/license for licensing details. 34 | -------------------------------------------------------------------------------- /Vendor/IronPython/Lib/xml/parsers/__init__.py: -------------------------------------------------------------------------------- 1 | """Python interfaces to XML parsers. 2 | 3 | This package contains one module: 4 | 5 | expat -- Python wrapper for James Clark's Expat parser, with namespace 6 | support. 7 | 8 | """ 9 | -------------------------------------------------------------------------------- /Vendor/IronPython/Microsoft.Dynamic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Microsoft.Dynamic.dll -------------------------------------------------------------------------------- /Vendor/IronPython/Microsoft.Scripting.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/Microsoft.Scripting.Metadata.dll -------------------------------------------------------------------------------- /Vendor/IronPython/Microsoft.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/IronPython/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/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/ZLibMC/app.ico -------------------------------------------------------------------------------- /Vendor/ZLibMC/app.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/Vendor/zlib-1.2.8/ChangeLog -------------------------------------------------------------------------------- /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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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/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/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/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | using System.Resources; 14 | using System.Runtime.CompilerServices; 15 | using System.Runtime.InteropServices; 16 | 17 | [assembly: AssemblyCompany("FalloutSnip")] 18 | [assembly: AssemblyTitle("FalloutSnip - Version 1.0 (b95ea7a)")] 19 | [assembly: AssemblyCopyright("Copyright (c) 2015")] 20 | [assembly: AssemblyTrademark("All Rights Reserved")] 21 | [assembly: CLSCompliant(false)] 22 | [assembly: AssemblyDelaySign(false)] 23 | [assembly: AssemblyVersion("1.0.5799.3")] 24 | [assembly: AssemblyFileVersion("1.0.5799.3")] 25 | [assembly: AssemblyInformationalVersion("FalloutSnip - Version 1.0")] 26 | 27 | 28 | -------------------------------------------------------------------------------- /build/buildver.txt: -------------------------------------------------------------------------------- 1 | 1.0.5800.9 -------------------------------------------------------------------------------- /build/falloutsnip.buildtasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/build/falloutsnip.buildtasks.dll -------------------------------------------------------------------------------- /build/falloutsnip.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/build/falloutsnip.snk -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /conf/DockPanel.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/conf/DockPanel.config -------------------------------------------------------------------------------- /conf/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /falloutsnip_README.TXT: -------------------------------------------------------------------------------- 1 | figment's TESsnip Fork (Fallout Edition) 2 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 3 | 4 | FalloutSnip is a fork of the TESVSnip which was itself a fork of the TESsnip utility bundled with Fallout Mod Manager with changes specifically for Fallout 4. 5 | 6 | In the word of the original author, TESsnip is a low level plugin editor that allows you to open esm/esp files, view the record structure and cut/copy/paste records and subrecords between different parents, including different esp's. You can also view and edit the data saved in a subrecord, in either hex or string format, as well as editing record headers. 7 | 8 | Requirements: 9 | .NET 3.5 10 | 11 | Change Log: 12 | v 1.0 13 | - Initial Version Forked from TESVSnip 14 | 15 | 16 | Credits: 17 | * timeslip - The original author of TESsnip 18 | * Crystal Project - Icons released under LGPL 19 | 20 | 21 | License: 22 | * The TESsnip code is licensed under GPL so this is by extension also GPL 23 | * Included third party components are covered by their own license 24 | * IronLab PythonConsole (GPL) https://code.google.com/p/ironlab/ 25 | * Revit Python Shell (MIT) https://code.google.com/p/revitpythonshell/ 26 | 27 | 28 | Source: 29 | git://github.com/figment/falloutsnip.git 30 | -------------------------------------------------------------------------------- /scripts/lib/Licence_CeCILL_V2-en.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/scripts/lib/Licence_CeCILL_V2-en.html -------------------------------------------------------------------------------- /scripts/lib/Licence_CeCILL_V2-fr.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/scripts/lib/Licence_CeCILL_V2-fr.html -------------------------------------------------------------------------------- /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("FalloutSnip.Framework") 6 | clr.AddReferenceByPartialName("FalloutSnip.Domain") 7 | clr.AddReferenceByPartialName("System.Core") 8 | try: 9 | # FalloutSnip Application may not be loaded on command line 10 | clr.AddReferenceByPartialName("FalloutSnip") 11 | clr.AddReferenceByPartialName("System.Windows.Forms") 12 | clr.AddReferenceByPartialName("System.Drawing") 13 | except: 14 | pass 15 | -------------------------------------------------------------------------------- /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("FalloutSnip.Domain") 11 | clr.AddReferenceToFileAndPath(binpath + 'FalloutSnip.Framework.dll') 12 | clr.AddReferenceToFileAndPath(binpath + 'FalloutSnip.Domain.dll') 13 | clr.AddReferenceByPartialName("System.Core") 14 | #import FalloutSnip.Framework, FalloutSnip.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 FalloutSnip.Domain 12 | import ListItems 13 | plugins = FalloutSnip.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(FalloutSnip.Domain.Model.Plugin(gameDir + pluginName, filter)) 23 | #plugins.AddRecord(FalloutSnip.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/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 FalloutSnip.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 = FalloutSnip.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(FalloutSnip.Domain.Model.Plugin(gameDir + pluginName, filter)) 24 | 25 | import ExtractNPCs 26 | skyrimRaces = FalloutSnip.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 FalloutSnip.Domain.Services import Spells 35 | 36 | aRaces = System.Collections.Generic.List[FalloutSnip.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/viewhtml.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | pushd "%~dp0" 3 | start viewhtml\bin\release\viewhtml.exe %* 4 | popd -------------------------------------------------------------------------------- /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/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/HtmlRenderer.dll -------------------------------------------------------------------------------- /thirdparty/ICSharpCode.AvalonEdit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/ICSharpCode.AvalonEdit.dll -------------------------------------------------------------------------------- /thirdparty/Ionic.Zlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/Ionic.Zlib.dll -------------------------------------------------------------------------------- /thirdparty/MagicLibrary.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/MagicLibrary.dll -------------------------------------------------------------------------------- /thirdparty/PythonConsoleControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/PythonConsoleControl.dll -------------------------------------------------------------------------------- /thirdparty/WeifenLuo.WinFormsUI.Docking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/WeifenLuo.WinFormsUI.Docking.dll -------------------------------------------------------------------------------- /thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figment/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/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/falloutsnip/44deac608aff2809cee005774461d3fd0feb9ed3/thirdparty/msbuild.community.tasks.v1.3.0.528/MSBuild.Community.Tasks.pdb --------------------------------------------------------------------------------