├── .gitignore
├── README.md
├── ScriptEase2.7.zip
├── ScriptEase2.8.zip
├── StandardCplusplusMaster.zip
├── Tutorials
├── Hack-E-BotMakingyourRobotMove.docx
├── LibraryTutorials.docx
├── Neverwinter Nights
│ ├── NWN Tutorial 0.docx
│ ├── NWN Tutorial 1.docx
│ ├── NWN Tutorial 2.docx
│ ├── NWN Tutorial 3.docx
│ ├── NWN Tutorial 4.docx
│ ├── NWN Tutorial 5.docx
│ └── NWN Tutorial 6.docx
├── README.txt
├── ScriptEaseIITranslatorInstructions.docx
└── Unity
│ ├── Unity Tutorial 1.pdf
│ ├── Unity Tutorial 2.pdf
│ ├── Unity Tutorial 3.pdf
│ ├── Unity Tutorial 4.pdf
│ └── Unity Tutorial 5.pdf
├── build.xml
├── buildandinstalltranslators.bash
├── commonBuild.xml
├── installer
├── SE_2012_installerscript.iss
├── SE_II_installerscript.iss
├── java.ico
└── nwnse1.ico
├── installtranslators.bash
├── mailingLists.properties
├── scriptease2
└── scriptease
│ ├── ScriptEase.java
│ ├── controller
│ ├── BindingAdapter.java
│ ├── BindingVisitor.java
│ ├── FileManager.java
│ ├── FragmentAdapter.java
│ ├── FragmentVisitor.java
│ ├── ModelAdapter.java
│ ├── ModelVisitor.java
│ ├── MouseForwardingAdapter.java
│ ├── ScopeVisitor.java
│ ├── StoryAdapter.java
│ ├── StoryComponentUtils.java
│ ├── StoryMetrics.java
│ ├── StoryVisitor.java
│ ├── exceptionhandler
│ │ └── ScriptEaseExceptionHandler.java
│ ├── groupvisitor
│ │ ├── GroupVisitor.java
│ │ ├── SameBindingGroupVisitor.java
│ │ └── SameNameGroupVisitor.java
│ ├── io
│ │ ├── FileIO.java
│ │ ├── XMLAttribute.java
│ │ ├── XMLNode.java
│ │ └── converter
│ │ │ ├── IdentityArrayListConverter.java
│ │ │ ├── fragment
│ │ │ ├── FormatDefinitionFragmentConverter.java
│ │ │ ├── FormatReferenceFragmentConverter.java
│ │ │ ├── IndentedFragmentConverter.java
│ │ │ ├── LineFragmentConverter.java
│ │ │ ├── LiteralFragmentConverter.java
│ │ │ ├── ScopeFragmentConverter.java
│ │ │ ├── SeriesFragmentConverter.java
│ │ │ └── SimpleDataFragmentConverter.java
│ │ │ ├── model
│ │ │ ├── DescribeItConverter.java
│ │ │ ├── DescribeItNodeConverter.java
│ │ │ ├── DialogueLineConverter.java
│ │ │ ├── GameTypeConverter.java
│ │ │ ├── LanguageDictionaryConverter.java
│ │ │ ├── LibraryModelConverter.java
│ │ │ ├── SlotConverter.java
│ │ │ └── StoryModelConverter.java
│ │ │ └── storycomponent
│ │ │ ├── ActivityItConverter.java
│ │ │ ├── AskItConverter.java
│ │ │ ├── CauseItConverter.java
│ │ │ ├── CodeBlockReferenceConverter.java
│ │ │ ├── CodeBlockSourceConverter.java
│ │ │ ├── ComplexStoryComponentConverter.java
│ │ │ ├── ControlItConverter.java
│ │ │ ├── KnowItBindingConverter.java
│ │ │ ├── KnowItConverter.java
│ │ │ ├── NoteConverter.java
│ │ │ ├── PickItConverter.java
│ │ │ ├── ScriptItConverter.java
│ │ │ ├── StoryComponentContainerConverter.java
│ │ │ ├── StoryComponentConverter.java
│ │ │ ├── StoryGroupConverter.java
│ │ │ ├── StoryNodeConverter.java
│ │ │ ├── StoryPointConverter.java
│ │ │ └── behaviour
│ │ │ ├── BehaviourConverter.java
│ │ │ ├── CollaborativeTaskConverter.java
│ │ │ ├── IndependentTaskConverter.java
│ │ │ └── TaskConverter.java
│ ├── logger
│ │ ├── Logging.aj
│ │ ├── MultiHandler.java
│ │ ├── NetworkHandler.java
│ │ ├── ScriptEaseFormatter.java
│ │ └── ScriptEaseMemoryHandler.java
│ ├── modelverifier
│ │ ├── ModelVerifier.java
│ │ ├── problem
│ │ │ ├── ModelProblem.java
│ │ │ └── StoryProblem.java
│ │ └── rule
│ │ │ ├── ParameterBoundRule.java
│ │ │ ├── ReferenceRule.java
│ │ │ ├── StoryRule.java
│ │ │ └── UniqueNameRule.java
│ ├── observer
│ │ ├── CodeBlockPanelObserver.java
│ │ ├── FileManagerObserver.java
│ │ ├── ObserverManager.java
│ │ ├── ParameterPanelObserver.java
│ │ ├── RecentFileObserver.java
│ │ ├── ResourceObserver.java
│ │ ├── ResourceTreeAdapter.java
│ │ ├── ResourceTreeObserver.java
│ │ ├── SEFocusObserver.java
│ │ ├── SEGraphToolBarObserver.java
│ │ ├── SEModelEvent.java
│ │ ├── SEModelObserver.java
│ │ ├── SetEffectObserver.java
│ │ ├── StatusObserver.java
│ │ ├── StoryComponentPanelJListObserver.java
│ │ ├── StoryModelAdapter.java
│ │ ├── StoryModelObserver.java
│ │ ├── TranslatorObserver.java
│ │ ├── UndoManagerObserver.java
│ │ ├── library
│ │ │ ├── LibraryEvent.java
│ │ │ └── LibraryObserver.java
│ │ └── storycomponent
│ │ │ ├── StoryComponentEvent.java
│ │ │ └── StoryComponentObserver.java
│ └── undo
│ │ ├── FieldModification.java
│ │ ├── History.java
│ │ ├── Modification.java
│ │ ├── Undo.aj
│ │ ├── UndoManager.java
│ │ └── UndoableCommand.java
│ ├── gui
│ ├── ExceptionDialog.java
│ ├── MenuFactory.java
│ ├── SEFocusManager.java
│ ├── SEGraph
│ │ ├── SEGraph.java
│ │ ├── SEGraphFactory.java
│ │ ├── SEGraphNodeTransferHandler.java
│ │ ├── SEGraphToolBar.java
│ │ ├── StoryGraphManager.java
│ │ ├── controllers
│ │ │ └── GraphGroupController.java
│ │ ├── models
│ │ │ ├── DescribeItNodeGraphModel.java
│ │ │ ├── DialogueLineGraphModel.java
│ │ │ ├── SEGraphModel.java
│ │ │ ├── StoryNodeGraphModel.java
│ │ │ └── TaskGraphModel.java
│ │ ├── observers
│ │ │ ├── SEGraphAdapter.java
│ │ │ └── SEGraphObserver.java
│ │ └── renderers
│ │ │ ├── DescribeItNodeRenderer.java
│ │ │ ├── DialogueLineNodeRenderer.java
│ │ │ ├── EditableDescribeItNodeRenderer.java
│ │ │ ├── SEGraphNodeRenderer.java
│ │ │ ├── StoryNodeRenderer.java
│ │ │ └── TaskNodeRenderer.java
│ ├── StatusManager.java
│ ├── WidgetDecorator.java
│ ├── WindowFactory.java
│ ├── action
│ │ ├── ActiveModelSensitiveAction.java
│ │ ├── ActiveTranslatorSensitiveAction.java
│ │ ├── components
│ │ │ ├── CopyAction.java
│ │ │ ├── CutAction.java
│ │ │ ├── DeleteAction.java
│ │ │ ├── DisableAction.java
│ │ │ ├── DuplicateAction.java
│ │ │ └── PasteAction.java
│ │ ├── file
│ │ │ ├── CloseActiveModelAction.java
│ │ │ ├── CloseModelAction.java
│ │ │ ├── NewStoryModelAction.java
│ │ │ ├── OpenRecentFileAction.java
│ │ │ ├── OpenStoryModelAction.java
│ │ │ ├── SaveModelAction.java
│ │ │ ├── SaveModelExplicitlyAction.java
│ │ │ ├── SaveModelPackageAction.java
│ │ │ ├── SaveModelWithoutCodeAction.java
│ │ │ ├── TestCodeAction.java
│ │ │ └── TestStoryAction.java
│ │ ├── library
│ │ │ ├── AddLibraryToStoryModelAction.java
│ │ │ └── RemoveLibraryFromStoryModelAction.java
│ │ ├── libraryeditor
│ │ │ ├── NewActivityAction.java
│ │ │ ├── NewBehaviourAction.java
│ │ │ ├── NewCauseAction.java
│ │ │ ├── NewDescriptionAction.java
│ │ │ ├── NewEffectAction.java
│ │ │ └── codeeditor
│ │ │ │ ├── AbstractInsertFragmentAction.java
│ │ │ │ ├── AbstractMoveFragmentAction.java
│ │ │ │ ├── InsertIndentAction.java
│ │ │ │ ├── InsertLineAction.java
│ │ │ │ ├── InsertLiteralAction.java
│ │ │ │ ├── InsertReferenceAction.java
│ │ │ │ ├── InsertScopeAction.java
│ │ │ │ ├── InsertSeriesAction.java
│ │ │ │ ├── InsertSimpleAction.java
│ │ │ │ ├── MoveFragmentDownAction.java
│ │ │ │ └── MoveFragmentUpAction.java
│ │ ├── metrics
│ │ │ └── MetricsAction.java
│ │ ├── preferences
│ │ │ └── StoryPropertiesAction.java
│ │ ├── system
│ │ │ ├── ExitScriptEaseAction.java
│ │ │ └── ShowErrorLogAction.java
│ │ ├── typemenus
│ │ │ ├── TypeAction.java
│ │ │ └── TypeDialogBuilder.java
│ │ └── undo
│ │ │ ├── RedoAction.java
│ │ │ └── UndoAction.java
│ ├── component
│ │ ├── BindingWidget.java
│ │ ├── ComponentFactory.java
│ │ ├── ExpansionButton.java
│ │ ├── ScriptWidgetFactory.java
│ │ ├── SlotPanel.java
│ │ ├── TypeWidget.java
│ │ └── UserInformationPane.java
│ ├── dialog
│ │ └── DialogBuilder.java
│ ├── filters
│ │ ├── CategoryFilter.java
│ │ ├── Filter.java
│ │ ├── Filterable.java
│ │ ├── SimilarFilter.java
│ │ ├── StoryComponentFilter.java
│ │ ├── StoryComponentSearchFilter.java
│ │ ├── TranslatorFilter.java
│ │ ├── TypeFilter.java
│ │ └── VisibilityFilter.java
│ ├── internationalization
│ │ └── Il8nResources.java
│ ├── libraryeditor
│ │ ├── EffectHolderPanel.java
│ │ ├── LibraryEditorPanel.java
│ │ ├── LibraryEditorPanelFactory.java
│ │ ├── ParameterPanel.java
│ │ └── codeblocks
│ │ │ ├── CodeBlockPanel.java
│ │ │ └── CodeFragmentPanel.java
│ ├── pane
│ │ ├── BehaviourEditorPanel.java
│ │ ├── DescribeItPanel.java
│ │ ├── DialogueEditorPanel.java
│ │ ├── LibraryPanel.java
│ │ ├── MetricsPanel.java
│ │ ├── PanelFactory.java
│ │ ├── ResourcePanel.java
│ │ ├── ResourceTree.java
│ │ └── SEModelTabbedPane.java
│ ├── storycomponentpanel
│ │ ├── StoryComponentPanel.java
│ │ ├── StoryComponentPanelFactory.java
│ │ ├── StoryComponentPanelJList.java
│ │ ├── StoryComponentPanelLayoutManager.java
│ │ ├── StoryComponentPanelManager.java
│ │ └── StoryComponentPanelTree.java
│ ├── transfer
│ │ ├── BindingTransferHandlerExportOnly.java
│ │ ├── BindingTransferable.java
│ │ ├── BindingWidgetTransferHandler.java
│ │ ├── StoryComponentPanelTransferHandler.java
│ │ └── StoryComponentTransferUtils.java
│ ├── translatoreditor
│ │ └── TranslatorEditorFactory.java
│ └── ui
│ │ ├── BindingWidgetUI.java
│ │ ├── ScriptEaseUI.java
│ │ ├── TypeWidgetUI.java
│ │ └── border
│ │ └── GradientLineBorder.java
│ ├── model
│ ├── CodeBlock.java
│ ├── CodeBlockReference.java
│ ├── CodeBlockSource.java
│ ├── StoryComponent.java
│ ├── TypedComponent.java
│ ├── atomic
│ │ ├── KnowIt.java
│ │ ├── Note.java
│ │ ├── describeits
│ │ │ ├── DescribeIt.java
│ │ │ └── DescribeItNode.java
│ │ └── knowitbindings
│ │ │ ├── KnowItBinding.java
│ │ │ ├── KnowItBindingAutomatic.java
│ │ │ ├── KnowItBindingFunction.java
│ │ │ ├── KnowItBindingNull.java
│ │ │ ├── KnowItBindingReference.java
│ │ │ ├── KnowItBindingResource.java
│ │ │ ├── KnowItBindingStoryGroup.java
│ │ │ ├── KnowItBindingStoryPoint.java
│ │ │ └── KnowItBindingUninitialized.java
│ ├── complex
│ │ ├── ActivityIt.java
│ │ ├── AskIt.java
│ │ ├── CauseIt.java
│ │ ├── ComplexStoryComponent.java
│ │ ├── ControlIt.java
│ │ ├── PickIt.java
│ │ ├── ScriptIt.java
│ │ ├── StoryComponentContainer.java
│ │ ├── StoryGroup.java
│ │ ├── StoryNode.java
│ │ ├── StoryPoint.java
│ │ └── behaviours
│ │ │ ├── Behaviour.java
│ │ │ ├── CollaborativeTask.java
│ │ │ ├── IndependentTask.java
│ │ │ └── Task.java
│ └── semodel
│ │ ├── SEModel.java
│ │ ├── SEModelManager.java
│ │ ├── ScriptEaseKeywords.java
│ │ ├── StoryModel.java
│ │ ├── dialogue
│ │ └── DialogueLine.java
│ │ └── librarymodel
│ │ ├── DescribeItManager.java
│ │ ├── LibraryModel.java
│ │ └── TypeConverter.java
│ ├── resources
│ ├── Il8nResources.properties
│ ├── Il8nResources_en_US.properties
│ ├── Il8nResources_fr_FR.properties
│ ├── Il8nResources_pl_PL.properties
│ ├── default_preferences.ini
│ ├── icons
│ │ ├── buttonicons
│ │ │ ├── connect.png
│ │ │ ├── delete.png
│ │ │ ├── disconnect.png
│ │ │ ├── group.png
│ │ │ ├── insert.png
│ │ │ └── select.png
│ │ ├── cursors
│ │ │ ├── connect.png
│ │ │ ├── delete.png
│ │ │ ├── disconnect.png
│ │ │ ├── group.png
│ │ │ ├── insert.png
│ │ │ ├── select.png
│ │ │ ├── unavailable.png
│ │ │ └── ungroup.png
│ │ ├── noteicon.png
│ │ ├── questIcons
│ │ │ ├── Cursors
│ │ │ │ ├── con_dep.png
│ │ │ │ ├── dc_dep.png
│ │ │ │ ├── del_dep.png
│ │ │ │ ├── insertBet_dep.png
│ │ │ │ └── selection_dep.png
│ │ │ ├── Large Size Images.zip
│ │ │ ├── Large Size Images
│ │ │ │ ├── con_dep.png
│ │ │ │ ├── con_hover.png
│ │ │ │ ├── con_static.png
│ │ │ │ ├── dc_dep.png
│ │ │ │ ├── dc_hover.png
│ │ │ │ ├── dc_static.png
│ │ │ │ ├── del_dep.png
│ │ │ │ ├── del_hover.png
│ │ │ │ ├── del_static.png
│ │ │ │ ├── insertAlt_dep.png
│ │ │ │ ├── insertAlt_hover.png
│ │ │ │ ├── insertAlt_static.png
│ │ │ │ ├── insertBet_dep.png
│ │ │ │ ├── insertBet_hover.png
│ │ │ │ ├── insertBet_static.png
│ │ │ │ ├── selection_dep.png
│ │ │ │ ├── selection_hover.png
│ │ │ │ └── selection_static.png
│ │ │ ├── addition.png
│ │ │ ├── addition_line.png
│ │ │ └── trashcan.png
│ │ └── src
│ │ │ ├── Cursors
│ │ │ ├── addition_cursor.pdn
│ │ │ ├── connection_new.pdn
│ │ │ ├── deletion_cursor.pdn
│ │ │ ├── disconnection_new.pdn
│ │ │ ├── node_add.png
│ │ │ ├── node_delete.png
│ │ │ ├── path_draw.png
│ │ │ └── path_erase.png
│ │ │ ├── Large Size Images
│ │ │ ├── con_dep.png
│ │ │ ├── con_hover.png
│ │ │ ├── con_static.png
│ │ │ ├── dc_dep.png
│ │ │ ├── dc_hover.png
│ │ │ ├── dc_static.png
│ │ │ ├── del_dep.png
│ │ │ ├── del_hover.png
│ │ │ ├── del_static.png
│ │ │ ├── insertAlt_dep.png
│ │ │ ├── insertAlt_hover.png
│ │ │ ├── insertAlt_static.png
│ │ │ ├── insertBet_dep.png
│ │ │ ├── insertBet_hover.png
│ │ │ ├── insertBet_static.png
│ │ │ ├── selection_dep.png
│ │ │ ├── selection_hover.png
│ │ │ └── selection_static.png
│ │ │ ├── addition_new.pdn
│ │ │ ├── addition_new.png
│ │ │ ├── connection_new.pdn
│ │ │ ├── connection_new_icon.pdn
│ │ │ ├── connection_new_icon.png
│ │ │ ├── deletion_new.pdn
│ │ │ ├── deletion_new.png
│ │ │ ├── disconnection_new.pdn
│ │ │ ├── disconnection_new_icon.pdn
│ │ │ ├── disconnection_new_icon.png
│ │ │ └── trashcan.png
│ ├── lib
│ │ ├── commons-logging-1.1.1.jar
│ │ ├── httpclient-4.0.1.jar
│ │ ├── httpcore-4.0.1.jar
│ │ ├── jcommon-1.0.17.jar
│ │ ├── jfreechart-1.0.14.jar
│ │ └── xstream-1.3.1
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.txt
│ │ │ └── lib
│ │ │ ├── commons-lang-license.txt
│ │ │ ├── junit-license.txt
│ │ │ ├── oro-license.txt
│ │ │ ├── woodstox-license.txt
│ │ │ ├── xpp3-license.txt
│ │ │ ├── xpp3_min-1.1.4c.jar
│ │ │ └── xstream-1.3.1.jar
│ ├── monocleDinosaur.txt
│ ├── schema
│ │ ├── CodeElementSchema.xsd
│ │ ├── LanguageDictionarySchema.xsd
│ │ └── LibrarySchema.xsd
│ └── scriptease.ini
│ ├── translator
│ ├── GameCompilerException.java
│ ├── LanguageDictionary.java
│ ├── Translator.java
│ ├── TranslatorManager.java
│ ├── codegenerator
│ │ ├── CodeGenerationException.java
│ │ ├── CodeGenerator.java
│ │ ├── LocationInformation.java
│ │ ├── ScriptInfo.java
│ │ ├── SemanticAnalyzer.java
│ │ └── code
│ │ │ ├── CodeContextSet.java
│ │ │ ├── CodeGenerationNamifier.java
│ │ │ ├── contexts
│ │ │ ├── CodeBlockContext.java
│ │ │ ├── Context.java
│ │ │ ├── ContextFactory.java
│ │ │ ├── DialogueLineContext.java
│ │ │ ├── FileContext.java
│ │ │ ├── ResourceContext.java
│ │ │ ├── knowitbinding
│ │ │ │ ├── KnowItBindingAutomaticContext.java
│ │ │ │ ├── KnowItBindingContext.java
│ │ │ │ ├── KnowItBindingFunctionContext.java
│ │ │ │ ├── KnowItBindingNullContext.java
│ │ │ │ ├── KnowItBindingReferenceContext.java
│ │ │ │ ├── KnowItBindingResourceContext.java
│ │ │ │ ├── KnowItBindingStoryGroupContext.java
│ │ │ │ ├── KnowItBindingStoryPointContext.java
│ │ │ │ └── KnowItBindingUninitializedContext.java
│ │ │ └── storycomponent
│ │ │ │ ├── AskItContext.java
│ │ │ │ ├── KnowItContext.java
│ │ │ │ ├── PickItContext.java
│ │ │ │ ├── StoryComponentContext.java
│ │ │ │ └── complexstorycomponent
│ │ │ │ ├── ComplexStoryComponentContext.java
│ │ │ │ ├── scriptit
│ │ │ │ ├── ActivityItContext.java
│ │ │ │ ├── BehaviourContext.java
│ │ │ │ ├── CauseItContext.java
│ │ │ │ ├── ControlItContext.java
│ │ │ │ └── ScriptItContext.java
│ │ │ │ ├── storynode
│ │ │ │ ├── StoryGroupContext.java
│ │ │ │ ├── StoryNodeContext.java
│ │ │ │ └── StoryPointContext.java
│ │ │ │ └── task
│ │ │ │ ├── CollaborativeTaskContext.java
│ │ │ │ ├── IndependentTaskContext.java
│ │ │ │ └── TaskContext.java
│ │ │ └── fragments
│ │ │ ├── AbstractFragment.java
│ │ │ ├── FormatReferenceFragment.java
│ │ │ ├── LiteralFragment.java
│ │ │ ├── SimpleDataFragment.java
│ │ │ └── container
│ │ │ ├── AbstractContainerFragment.java
│ │ │ ├── FormatDefinitionFragment.java
│ │ │ ├── IndentFragment.java
│ │ │ ├── LineFragment.java
│ │ │ ├── ScopeFragment.java
│ │ │ └── SeriesFragment.java
│ └── io
│ │ ├── model
│ │ ├── EditableResource.java
│ │ ├── GameModule.java
│ │ ├── GameType.java
│ │ ├── Resource.java
│ │ ├── SimpleResource.java
│ │ └── Slot.java
│ │ └── tools
│ │ ├── BitwiseConverter.java
│ │ ├── FileReader.java
│ │ └── ScriptEaseFileAccess.java
│ └── util
│ ├── BiHashMap.java
│ ├── FileOp.java
│ ├── GUIOp.java
│ ├── ImageOp.java
│ ├── ListOp.java
│ └── StringOp.java
└── translators_src
├── botstory
├── .cproject
├── .settings
│ └── org.eclipse.cdt.managedbuilder.core.prefs
├── Debug
│ ├── botstory.exe
│ └── src
│ │ ├── HEBStory.o
│ │ └── main.o
└── src
│ ├── HEBStory.cpp
│ ├── HEBStory.h
│ └── main.cpp
├── hackebot
├── Examples
│ ├── Dance.ses
│ ├── Dance
│ │ └── Dance.ino
│ ├── README.txt
│ ├── Square.ses
│ ├── Square
│ │ └── Square.ino
│ ├── Triangle.ses
│ └── Triangle
│ │ └── Triangle.ino
├── io
│ ├── HackEBotFile.java
│ ├── HackEBotResource.java
│ └── HackEBotScript.java
├── resources
│ ├── HackEBot.png
│ ├── apidictionary.xml
│ ├── includes
│ │ ├── .HEBStory.cpp.swp
│ │ ├── HEBStory.cpp
│ │ ├── HEBStory.h
│ │ ├── HackEBot_Move.cpp
│ │ ├── HackEBot_Move.h
│ │ ├── HackEBot_Sonar.cpp
│ │ └── HackEBot_Sonar.h
│ └── languageDictionary.xml
└── translator.ini
├── nwn
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── build.xml
├── io
│ ├── ErfFile.java
│ ├── ErfKey.java
│ ├── NWNConversation.java
│ ├── NWNDialogueLine.java
│ ├── NWNGameConstant.java
│ ├── NWNObject.java
│ ├── NWNResource.java
│ ├── ResourceListElement.java
│ ├── TlkManager.java
│ └── genericfileformat
│ │ ├── GeneratedJournalGFF.java
│ │ └── GenericFileFormat.java
├── resources
│ ├── NWNIcon_Small.gif
│ ├── apidictionary.xml
│ ├── includes
│ │ ├── i_se_aux.nss
│ │ ├── i_se_behav.nss
│ │ ├── i_se_behav2.nss
│ │ ├── i_se_journal.nss
│ │ ├── i_se_quest.nss
│ │ ├── i_se_story.nss
│ │ └── i_se_structs.nss
│ └── languageDictionary.xml
└── translator.ini
├── pinball
├── CustomPicker
│ ├── CustomPicker.java
│ ├── ImageMapParser.java
│ ├── PickerPanel.java
│ └── WidgetMap.java
├── Includes
│ ├── ball.global
│ ├── display.global
│ ├── game.global
│ ├── hitcount.global
│ ├── network.global
│ ├── queue.global
│ ├── score.global
│ └── time.global
├── LOTR.xml
├── LOTRPBGameObject.java
├── LOTRPlayFieldSwitches.png
├── LampMap.png
├── Makefile
├── Makefile.prj.inc
├── Module.pin
├── PinballGameModule.java
├── apidictionary.xml
├── dSwitchMap
├── lampMap
├── languageDictionary.xml
├── pinball.gif
├── switchMap
└── translator.ini
└── unity
├── .settings
└── org.eclipse.jdt.core.prefs
├── build.xml
├── io
├── UnityFile.class
├── UnityFile.java
├── UnityProject$1.class
├── UnityProject.class
├── UnityProject.java
├── UnityScript.class
├── UnityScript.java
├── constants
│ ├── UnityField.class
│ ├── UnityField.java
│ ├── UnityType.class
│ └── UnityType.java
└── unityresource
│ ├── PropertyValue$Type.class
│ ├── PropertyValue.class
│ ├── PropertyValue.java
│ ├── UnityResource.class
│ ├── UnityResource.java
│ ├── UnityResourceFactory.class
│ └── UnityResourceFactory.java
├── lib
├── snakeyaml-1.11-javadoc.jar
├── snakeyaml-1.11-sources.jar
└── snakeyaml-1.11.jar
├── libraries
├── APathFinding
│ ├── APathFindingLibrary.sel
│ └── SEPath.js
├── Colour
│ └── ColourLibrary.sel
└── ParkGameAnimation
│ ├── ParkGameAnimationLibrary.sel
│ └── SEAnimationController.js
├── resources
├── apiDictionary.xml
├── includes
│ ├── SEDialogue.js
│ ├── SEFunctions.js
│ ├── SEGameObject.cs
│ ├── SEStory.js
│ ├── SEVariable.js
│ ├── XMLNode.js
│ ├── XMLNodeList.js
│ └── XMLParser.js
├── languageDictionary.xml
└── unity_icon.png
└── translator.ini
/.gitignore:
--------------------------------------------------------------------------------
1 | # --------------- READ ME -----------------------------------
2 | # This file declares what files will be ignored by git. Comments are after hash (#) characters.
3 | #
4 | # You may need to alter this file if you change the file structure or get a new library or
5 | # something that unfortunately collides with one of these filters.
6 | # Some of the filters are there for a good reason, but others are broad to avoid over-specification.
7 | # Use your best judgement on what will be allowed into git by changes to this file.
8 | #
9 | # Google .gitignore to learn more about this type of file.
10 | # - remiller
11 | # ----------------------------------------------------------
12 |
13 | # ignore eclipse garbage
14 | */.externalToolBuilders
15 |
16 | # Don't save the user prefs in git. Logs aren't necessary in the repo, either.
17 | # Nor are classpath and project files. They all contain person-specific paths.
18 | */user_preferences.ini
19 | *.log
20 | *.log.lck
21 | *.log.*
22 | *.log.*.lck
23 | .classpath
24 | .project
25 | scriptease2/.externalToolBuilders
26 | translators_src/*/.externalToolBuilders
27 | scriptease2/.settings/
28 |
29 | # Don't store distributables or distro temp directories.
30 | # They should be made as needed, not remembered by git.
31 | scriptease2/bin
32 | build/
33 | jar/
34 | ScriptEase2.zip
35 | scriptease2/output
36 |
37 | # same goes for translators
38 | translators_src/*/bin
39 | translators_src/*/build
40 | translators_src/*/zip
41 | translators_src/*/*.zip
42 | translators_src/*/.settings/org.eclipse.jdt.core.prefs
43 |
44 | # and while we're at it, don't allow anything in the installed translators directory into the repo.
45 | # Translator development stuff should go into translators_src
46 | scriptease2/translators/
47 |
48 | # ignore the sloccount directory.
49 | sloccount-2.26/
50 |
51 | build.xml
52 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ScriptEase II
2 | ScriptEase II is a program that allows video game designers to add events to their games without directly knowing how to code software.
3 | Instead of a programming language, ScriptEase gives the user a graphical user interface to add functionality to their game worlds.
4 | ScriptEase II can work with any supported game through the use of specific translators plugins.
5 |
6 |
7 | ## Deprecation Notice
8 | This project is largely no longer maintained. ScriptEase II was the product of University of Alberta research before becoming an open source project in 2015.
9 |
10 | ## Versions
11 | ScriptEase II is currently in version 2.8, however a more stable environment 2.7 is available for download from our [website](http://webdocs.cs.ualberta.ca/~script/scriptease-ii-downloads/). The zip file for version 2.7 is also available in our repository. Please see "Issues" for the current problems with 2.8
12 |
13 | ## Documentation
14 | Installation, running and developer documentation can be found on [the wiki](https://github.com/UA-ScriptEase/scriptease/wiki).
15 |
16 | ## ScriptEase I Links
17 | Some old remnants of the first version of ScriptEase:
18 |
19 | Quest pack: http://www.cs.ualberta.ca/~script/files/QuestPak.spz
20 | *NOTE* Right-click and Save-As this file link or else your browser may attempt to open it.
21 |
22 | Special Conversation Templates: http://www.cs.ualberta.ca/~script/files/conversations.erf
23 | *NOTE* Save as above.
24 |
25 | Last ScriptEase 1 JAR file: http://webdocs.cs.ualberta.ca/~script/ScriptEase.jar
26 |
27 | ## Translator Specific Library
28 | The Hack-E-Bot translator utilizes github user Maniacbug's [StandardCplusplu](https://github.com/maniacbug/StandardCplusplus) Arduino library.
29 | A zipped copy of the library can be found in this repository, but please feel free to download a fresh copy from the given link.
30 |
--------------------------------------------------------------------------------
/ScriptEase2.7.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/ScriptEase2.7.zip
--------------------------------------------------------------------------------
/ScriptEase2.8.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/ScriptEase2.8.zip
--------------------------------------------------------------------------------
/StandardCplusplusMaster.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/StandardCplusplusMaster.zip
--------------------------------------------------------------------------------
/Tutorials/Hack-E-BotMakingyourRobotMove.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Hack-E-BotMakingyourRobotMove.docx
--------------------------------------------------------------------------------
/Tutorials/LibraryTutorials.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/LibraryTutorials.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 0.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 0.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 1.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 1.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 2.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 2.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 3.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 3.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 4.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 4.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 5.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 5.docx
--------------------------------------------------------------------------------
/Tutorials/Neverwinter Nights/NWN Tutorial 6.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Neverwinter Nights/NWN Tutorial 6.docx
--------------------------------------------------------------------------------
/Tutorials/README.txt:
--------------------------------------------------------------------------------
1 | ********************************************
2 | * Translator Tutorials *
3 | ********************************************
4 |
5 | These tutorials will help you familiarize
6 | yourself with how ScriptEase works and how
7 | to use it with the NeverWinter Nights game
8 | engine, the Unity game engine, the Hack-E-bot
9 | Arduino environment, and others.
10 |
11 | LibraryTutorials: step-by-step walkthrough on
12 | how to make your own causes, effects and
13 | definitions for the translator you're working
14 | with.
15 |
16 | TranslatorInstructions: an indepth look at the
17 | translator structure.
18 |
19 |
--------------------------------------------------------------------------------
/Tutorials/ScriptEaseIITranslatorInstructions.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/ScriptEaseIITranslatorInstructions.docx
--------------------------------------------------------------------------------
/Tutorials/Unity/Unity Tutorial 1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Unity/Unity Tutorial 1.pdf
--------------------------------------------------------------------------------
/Tutorials/Unity/Unity Tutorial 2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Unity/Unity Tutorial 2.pdf
--------------------------------------------------------------------------------
/Tutorials/Unity/Unity Tutorial 3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Unity/Unity Tutorial 3.pdf
--------------------------------------------------------------------------------
/Tutorials/Unity/Unity Tutorial 4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Unity/Unity Tutorial 4.pdf
--------------------------------------------------------------------------------
/Tutorials/Unity/Unity Tutorial 5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/Tutorials/Unity/Unity Tutorial 5.pdf
--------------------------------------------------------------------------------
/buildandinstalltranslators.bash:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ant zip
3 | cd translators_src/nwn
4 | ant install -Ddebug.mode=true
5 | cd ../unity
6 | ant install -Ddebug.mode=true
7 | cd ../..
8 | echo "Both translators installed"
9 |
10 |
--------------------------------------------------------------------------------
/installer/SE_2012_installerscript.iss:
--------------------------------------------------------------------------------
1 | ; ScriptEase I installer script
2 | ; @author Richard Zhao
3 |
4 | [Setup]
5 | AppName=ScriptEase
6 | AppVerName=ScriptEase
7 | DefaultDirName={pf}\ScriptEase
8 | ; Since no icons will be created in "{group}", we don't need the wizard
9 | ; to ask for a Start Menu folder name:
10 | DisableProgramGroupPage=yes
11 | UninstallDisplayIcon={app}\nwnse1.ico
12 | OutputDir=.
13 |
14 | [Files]
15 | ; all files should be listed here
16 | Source: "ScriptEase.jar"; DestDir: "{app}";
17 | Source: "ScriptEase.url"; DestDir: "{app}";
18 | Source: "nwnse1.ico"; DestDir: "{app}";
19 |
20 | [Icons]
21 | ; all shortcuts should be created here
22 | Name: "{commonprograms}\ScriptEase\ScriptEase"; Filename: "{pf}\Java\jre1.6.0_07\bin\javaw.exe"; Parameters: "-Xmx800M -jar ""{app}\ScriptEase.jar"""; WorkingDir: "{app}"; IconFilename: "{app}\nwnse1.ico"
23 | Name: "{commondesktop}\ScriptEase"; Filename: "{pf}\Java\jre1.6.0_07\bin\javaw.exe"; Parameters: "-Xmx800M -jar ""{app}\ScriptEase.jar"""; WorkingDir: "{app}"; IconFilename: "{app}\nwnse1.ico"
24 | Name: "{commonprograms}\ScriptEase\ScriptEase on the Web"; Filename: "{app}\ScriptEase.url";
25 |
26 | [code]
27 |
28 | var
29 | NWNlocation: String;
30 |
31 | function InitializeSetup(): Boolean;
32 | begin
33 | if (RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Bioware\NWN\Neverwinter',
34 | 'Location', NWNlocation)) = False then
35 | begin
36 | // NWN not installed
37 | MsgBox('Neverwinter Nights is not detected on your machine', mbInformation, MB_OK);
38 | end;
39 | Result := True;
40 | end;
41 |
42 | [INI]
43 | ; the ini file is generated based on the location of NWN in the registry
44 | Filename: "{app}\scriptease.ini"; Section: "Locations"; Flags: uninsdeletesection; Key: "NWN"; String: "{reg:HKLM\SOFTWARE\Bioware\NWN\Neverwinter,Location|C:\NeverwinterNights\NWN}"
45 |
46 | [UninstallDelete]
47 | Type: files; Name: "{app}\scriptease.ini"
48 |
49 |
--------------------------------------------------------------------------------
/installer/java.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/installer/java.ico
--------------------------------------------------------------------------------
/installer/nwnse1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/installer/nwnse1.ico
--------------------------------------------------------------------------------
/installtranslators.bash:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd translators_src/nwn
3 | ant install -Ddebug.mode=true
4 | cd ../unity
5 | ant install -Ddebug.mode=true
6 | cd ../..
7 | echo "Both translators installed"
8 |
9 |
--------------------------------------------------------------------------------
/mailingLists.properties:
--------------------------------------------------------------------------------
1 | # Below are the variables for the ANT script that declares who will be notified of new internal & public builds.
2 | # Each email address must be separated with a space.
3 | # - remiller
4 |
5 | # internal releases
6 | internalMail= dszafron@ualberta.ca remiller@ualberta.ca neesha@ualberta.ca rxzhao@cs.ualberta.ca kschenk@ualberta.ca svidal@ualberta.ca czeto@ualberta.ca
7 |
8 | # public releases
9 | publicMail= ${internalMail} mike.carbonaro@ualberta.ca jamie.schmitt@gmail.com mfchurch@ualberta.ca lari@ualberta.ca graves@ualberta.ca
10 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/ModelVisitor.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller;
2 |
3 | import scriptease.model.semodel.SEModel;
4 | import scriptease.model.semodel.StoryModel;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 | import scriptease.translator.Translator;
7 |
8 | /**
9 | * Generic controller object that is a collection of double dispatch methods to
10 | * correspond with a call to PatternModel.process(). Pass an implementation of
11 | * ModelVisitor
to a {@link SEModel}'s
12 | * {@link SEModel#process()} method to get type-specific behaviour.
13 | *
14 | * Classes should not implement this interface directly since it is strongly
15 | * recommended (and stylistically required) that they subclass
16 | * {@link ModelAdapter}.
17 | *
18 | * ModelVisitor
is an implementation of the Visitor design pattern.
19 | *
20 | * @author kschenk
21 | *
22 | * @see StoryVisitor
23 | * @see ModelAdapter
24 | */
25 | public interface ModelVisitor {
26 | public void processStoryModel(StoryModel storyModel);
27 |
28 | public void processLibraryModel(LibraryModel libraryModel);
29 |
30 | public void processTranslator(Translator translator);
31 | }
32 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/groupvisitor/SameBindingGroupVisitor.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.groupvisitor;
2 |
3 | import scriptease.model.atomic.KnowIt;
4 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
5 | import scriptease.model.atomic.knowitbindings.KnowItBindingResource;
6 |
7 | public class SameBindingGroupVisitor extends GroupVisitor {
8 |
9 | public SameBindingGroupVisitor(KnowIt component) {
10 | super(component);
11 | }
12 |
13 | /**
14 | * Checks if the given knowIt's binding matches the group's Binding
15 | *
16 | * @param knowIt
17 | * @return
18 | */
19 | @Override
20 | protected boolean isPartOfGroup(KnowIt knowIt) {
21 | final KnowItBinding comparingBinding = knowIt.getBinding();
22 | if (this.original != null) {
23 | // Don't group constants
24 | if (comparingBinding instanceof KnowItBindingResource
25 | && !((KnowItBindingResource) comparingBinding)
26 | .isIdentifiableGameConstant())
27 | return false;
28 | else
29 | return comparingBinding.equals((this.original).getBinding());
30 | }
31 | return false;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/groupvisitor/SameNameGroupVisitor.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.groupvisitor;
2 |
3 | import scriptease.model.atomic.KnowIt;
4 |
5 | public class SameNameGroupVisitor extends GroupVisitor {
6 |
7 | public SameNameGroupVisitor(KnowIt component) {
8 | super(component);
9 | }
10 |
11 | /**
12 | * Checks if the given knowIt's name matches the original knowIts name
13 | *
14 | * @param knowIt
15 | * @return
16 | */
17 | @Override
18 | protected boolean isPartOfGroup(KnowIt knowIt) {
19 | if (this.original != null) {
20 | return this.original.getDisplayText().equals(
21 | knowIt.getDisplayText())
22 | && this.original != knowIt;
23 | }
24 | return false;
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/XMLAttribute.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io;
2 |
3 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
4 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
5 |
6 | /**
7 | * Enumeration of all of the XML attributes we can write out. Also includes
8 | * methods to read and write the attributes.
9 | *
10 | * @author kschenk
11 | * @author jyuen
12 | *
13 | */
14 | public enum XMLAttribute {
15 | AUTHOR("author"),
16 |
17 | CONTROL("control"),
18 |
19 | DEFAULT("default"),
20 |
21 | DEFAULT_FORMAT("defaultFormat"),
22 |
23 | FLAVOUR("flavour"),
24 |
25 | FORMAT("format"),
26 |
27 | NAME("name"),
28 |
29 | DESCRIPTION("description"),
30 |
31 | VALUE("value"),
32 |
33 | ID("id"),
34 |
35 | INITIATE("Initiate"),
36 |
37 | READONLY("readonly"),
38 |
39 | RESPOND("Respond"),
40 |
41 | REF("ref"),
42 |
43 | LIBRARY("library"),
44 |
45 | PROBABILITY("Probability"),
46 |
47 | DATA("data"),
48 |
49 | UNIQUE("unique"),
50 |
51 | FILTER("filter"),
52 |
53 | FILTERBY("filterBy"),
54 |
55 | SEPARATOR("separator"),
56 |
57 | TYPE("type"),
58 |
59 | PRIORITY("priority"),
60 |
61 | LEGALVALUES("legalValues");
62 |
63 | private final String name;
64 |
65 | private XMLAttribute(String name) {
66 | this.name = name;
67 | }
68 |
69 | public void write(HierarchicalStreamWriter writer, String data) {
70 | writer.addAttribute(this.name, data);
71 | }
72 |
73 | public String read(HierarchicalStreamReader reader) {
74 | return reader.getAttribute(this.name);
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/IdentityArrayListConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter;
2 |
3 | import sun.awt.util.IdentityArrayList;
4 |
5 | import com.thoughtworks.xstream.converters.collections.CollectionConverter;
6 | import com.thoughtworks.xstream.mapper.Mapper;
7 |
8 | /**
9 | * The reason we need this class is because the regular ol' CollectionConverter
10 | * can't deal with IdentityArrayLists.
11 | *
12 | * @author kschenk
13 | *
14 | */
15 | public class IdentityArrayListConverter extends CollectionConverter {
16 |
17 | public IdentityArrayListConverter(Mapper mapper) {
18 | super(mapper);
19 | }
20 |
21 | @SuppressWarnings("rawtypes")
22 | @Override
23 | public boolean canConvert(Class type) {
24 | return type.equals(IdentityArrayList.class);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/fragment/FormatDefinitionFragmentConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.fragment;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import scriptease.controller.io.XMLAttribute;
7 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
8 | import scriptease.translator.codegenerator.code.fragments.container.FormatDefinitionFragment;
9 |
10 | import com.thoughtworks.xstream.converters.Converter;
11 | import com.thoughtworks.xstream.converters.MarshallingContext;
12 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
13 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
14 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
15 |
16 | public class FormatDefinitionFragmentConverter implements Converter {
17 | @Override
18 | public void marshal(Object source, HierarchicalStreamWriter writer,
19 | MarshallingContext context) {
20 | final FormatDefinitionFragment format = (FormatDefinitionFragment) source;
21 |
22 | XMLAttribute.ID.write(writer, format.getDirectiveText());
23 |
24 | // Write Sub Fragments
25 | context.convertAnother(format.getSubFragments());
26 | }
27 |
28 | @SuppressWarnings("unchecked")
29 | @Override
30 | public Object unmarshal(HierarchicalStreamReader reader,
31 | UnmarshallingContext context) {
32 | final String id = XMLAttribute.ID.read(reader);
33 | final List subFragments = new ArrayList();
34 |
35 | // Read sub fragments
36 | if (reader.hasMoreChildren()) {
37 | subFragments.addAll((List) context
38 | .convertAnother(null, ArrayList.class));
39 | }
40 |
41 | return new FormatDefinitionFragment(id, subFragments);
42 | }
43 |
44 | @SuppressWarnings("rawtypes")
45 | @Override
46 | public boolean canConvert(Class type) {
47 | return type.equals(FormatDefinitionFragment.class);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/fragment/FormatReferenceFragmentConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.fragment;
2 |
3 | import scriptease.controller.io.XMLAttribute;
4 | import scriptease.translator.codegenerator.code.fragments.FormatReferenceFragment;
5 | import scriptease.util.StringOp;
6 |
7 | import com.thoughtworks.xstream.converters.Converter;
8 | import com.thoughtworks.xstream.converters.MarshallingContext;
9 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
10 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
11 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
12 |
13 | public class FormatReferenceFragmentConverter implements Converter {
14 | @Override
15 | public void marshal(Object source, HierarchicalStreamWriter writer,
16 | MarshallingContext context) {
17 | final FormatReferenceFragment reference = (FormatReferenceFragment) source;
18 |
19 | XMLAttribute.DATA.write(writer, reference.getType().name());
20 | XMLAttribute.REF.write(writer, reference.getDirectiveText());
21 | }
22 |
23 | @Override
24 | public Object unmarshal(HierarchicalStreamReader reader,
25 | UnmarshallingContext context) {
26 | final String ref = XMLAttribute.REF.read(reader);
27 | final String data = XMLAttribute.DATA.read(reader);
28 |
29 | final FormatReferenceFragment reference;
30 |
31 | if (StringOp.exists(data)) {
32 | reference = new FormatReferenceFragment(ref,
33 | FormatReferenceFragment.Type.valueOf(data.toUpperCase()));
34 | } else
35 | reference = new FormatReferenceFragment(ref);
36 |
37 | return reference;
38 | }
39 |
40 | @SuppressWarnings("rawtypes")
41 | @Override
42 | public boolean canConvert(Class type) {
43 | return type.equals(FormatReferenceFragment.class);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/fragment/IndentedFragmentConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.fragment;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
7 | import scriptease.translator.codegenerator.code.fragments.container.IndentFragment;
8 |
9 | import com.thoughtworks.xstream.converters.Converter;
10 | import com.thoughtworks.xstream.converters.MarshallingContext;
11 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
12 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
13 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
14 |
15 | public class IndentedFragmentConverter implements Converter {
16 |
17 | @Override
18 | public void marshal(Object source, HierarchicalStreamWriter writer,
19 | MarshallingContext context) {
20 | final IndentFragment indented = (IndentFragment) source;
21 |
22 | // Write sub fragments
23 | context.convertAnother(indented.getSubFragments());
24 | }
25 |
26 | @SuppressWarnings("unchecked")
27 | @Override
28 | public Object unmarshal(HierarchicalStreamReader reader,
29 | UnmarshallingContext context) {
30 | final List subFragments = new ArrayList();
31 |
32 | // Read sub fragments
33 | if (reader.hasMoreChildren()) {
34 | subFragments.addAll((List) context
35 | .convertAnother(null, ArrayList.class));
36 | }
37 |
38 | return new IndentFragment(subFragments);
39 | }
40 |
41 | @SuppressWarnings("rawtypes")
42 | @Override
43 | public boolean canConvert(Class type) {
44 | return type.equals(IndentFragment.class);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/fragment/LineFragmentConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.fragment;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
7 | import scriptease.translator.codegenerator.code.fragments.container.LineFragment;
8 |
9 | import com.thoughtworks.xstream.converters.Converter;
10 | import com.thoughtworks.xstream.converters.MarshallingContext;
11 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
12 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
13 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
14 |
15 | public class LineFragmentConverter implements Converter {
16 |
17 | @Override
18 | public void marshal(Object source, HierarchicalStreamWriter writer,
19 | MarshallingContext context) {
20 | final LineFragment line = (LineFragment) source;
21 |
22 | // Write Sub Fragments
23 | context.convertAnother(line.getSubFragments());
24 | }
25 |
26 | @SuppressWarnings("unchecked")
27 | @Override
28 | public Object unmarshal(HierarchicalStreamReader reader,
29 | UnmarshallingContext context) {
30 | final List subFragments = new ArrayList();
31 |
32 | // Read Sub Fragments
33 | if (reader.hasMoreChildren()) {
34 | subFragments.addAll((List) context
35 | .convertAnother(null, ArrayList.class));
36 | }
37 |
38 | return new LineFragment(subFragments);
39 | }
40 |
41 | @SuppressWarnings("rawtypes")
42 | @Override
43 | public boolean canConvert(Class type) {
44 | return type.equals(LineFragment.class);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/fragment/LiteralFragmentConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.fragment;
2 |
3 | import scriptease.translator.codegenerator.code.fragments.LiteralFragment;
4 |
5 | import com.thoughtworks.xstream.converters.Converter;
6 | import com.thoughtworks.xstream.converters.MarshallingContext;
7 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
8 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
9 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
10 |
11 | public class LiteralFragmentConverter implements Converter {
12 |
13 | @Override
14 | public void marshal(Object source, HierarchicalStreamWriter writer,
15 | MarshallingContext context) {
16 | writer.setValue(((LiteralFragment) source).getDirectiveText());
17 | }
18 |
19 | @Override
20 | public Object unmarshal(HierarchicalStreamReader reader,
21 | UnmarshallingContext context) {
22 | final String text = reader.getValue();
23 |
24 | return new LiteralFragment(text);
25 | }
26 |
27 | @SuppressWarnings("rawtypes")
28 | @Override
29 | public boolean canConvert(Class type) {
30 | return type.equals(LiteralFragment.class);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/storycomponent/ActivityItConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.storycomponent;
2 |
3 | import scriptease.model.complex.ActivityIt;
4 | import scriptease.model.semodel.librarymodel.LibraryModel;
5 |
6 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
7 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
8 |
9 | /**
10 | * Converts {@link ActivityIt}s to/from XML.
11 | *
12 | * @author jyuen
13 | */
14 | public class ActivityItConverter extends ScriptItConverter {
15 |
16 | @SuppressWarnings("rawtypes")
17 | @Override
18 | public boolean canConvert(Class type) {
19 | return type.equals(ActivityIt.class);
20 | }
21 |
22 | @Override
23 | protected ActivityIt buildComponent(HierarchicalStreamReader reader,
24 | UnmarshallingContext context, LibraryModel library) {
25 | return new ActivityIt(library, "");
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/storycomponent/NoteConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.storycomponent;
2 |
3 | import scriptease.model.StoryComponent;
4 | import scriptease.model.atomic.Note;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
8 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
9 |
10 | /**
11 | * Converts Notes to/from XML. This is very simple.
12 | *
13 | * @author kschenk
14 | *
15 | * @see ComplexStoryComponentConverter
16 | */
17 | public class NoteConverter extends StoryComponentConverter {
18 | @SuppressWarnings("rawtypes")
19 | @Override
20 | public boolean canConvert(Class type) {
21 | return type.equals(Note.class);
22 | }
23 |
24 | @Override
25 | protected StoryComponent buildComponent(HierarchicalStreamReader reader,
26 | UnmarshallingContext context, LibraryModel library) {
27 | return new Note(library);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/storycomponent/StoryComponentContainerConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.storycomponent;
2 |
3 | import scriptease.model.StoryComponent;
4 | import scriptease.model.complex.StoryComponentContainer;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
8 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
9 |
10 | /**
11 | * Converts only {@link StoryComponentContainer}s to/from XML.
12 | * StoryComponentContainers are special in that they need to be configured with
13 | * what they accept as children. This converter produces a container that will
14 | * allow anything as a child, and relies on the model to provide a properly
15 | * configured container. This means that whenever this converter produces a
16 | * container, that container's properties should be copied (if possible) into
17 | * the one that should already exist within the model.
18 | *
19 | * @author remiller
20 | *
21 | * @see StoryComponentConverter
22 | * @see ComplexStoryComponentConverter
23 | */
24 | public class StoryComponentContainerConverter extends
25 | ComplexStoryComponentConverter {
26 | @SuppressWarnings("rawtypes")
27 | @Override
28 | public boolean canConvert(Class type) {
29 | return type.equals(StoryComponentContainer.class);
30 | }
31 |
32 | @Override
33 | protected StoryComponent buildComponent(HierarchicalStreamReader reader,
34 | UnmarshallingContext context, LibraryModel library) {
35 | return new StoryComponentContainer();
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/storycomponent/StoryPointConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.storycomponent;
2 |
3 | import scriptease.controller.io.XMLNode;
4 | import scriptease.model.StoryComponent;
5 | import scriptease.model.complex.StoryPoint;
6 | import scriptease.model.semodel.librarymodel.LibraryModel;
7 |
8 | import com.thoughtworks.xstream.converters.MarshallingContext;
9 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
10 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
11 | import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
12 |
13 | /**
14 | * Converts the StoryPoint class to and from XML.
15 | *
16 | * @author mfchurch
17 | * @author kschenk
18 | */
19 | public class StoryPointConverter extends StoryNodeConverter {
20 | @Override
21 | public void marshal(Object source, final HierarchicalStreamWriter writer,
22 | final MarshallingContext context) {
23 | final StoryPoint storyPoint = (StoryPoint) source;
24 |
25 | super.marshal(source, writer, context);
26 |
27 | XMLNode.FAN_IN.writeInteger(writer, storyPoint.getFanIn());
28 | }
29 |
30 | @Override
31 | public Object unmarshal(HierarchicalStreamReader reader,
32 | UnmarshallingContext context) {
33 |
34 | final StoryPoint storyPoint = (StoryPoint) super.unmarshal(reader,
35 | context);
36 | final String fanIn = XMLNode.FAN_IN.readString(reader);
37 |
38 | storyPoint.setFanIn(new Integer(fanIn));
39 |
40 | return storyPoint;
41 | }
42 |
43 | @SuppressWarnings("rawtypes")
44 | @Override
45 | public boolean canConvert(Class type) {
46 | return type.equals(StoryPoint.class);
47 | }
48 |
49 | @Override
50 | protected StoryComponent buildComponent(HierarchicalStreamReader reader,
51 | UnmarshallingContext context, LibraryModel library) {
52 | return new StoryPoint("");
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/io/converter/storycomponent/behaviour/IndependentTaskConverter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.io.converter.storycomponent.behaviour;
2 |
3 | import scriptease.model.StoryComponent;
4 | import scriptease.model.complex.behaviours.IndependentTask;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | import com.thoughtworks.xstream.converters.UnmarshallingContext;
8 | import com.thoughtworks.xstream.io.HierarchicalStreamReader;
9 |
10 | /**
11 | * Converts the IndependentTask {@link IndependentTask} to and from xml.
12 | *
13 | * @author jyuen
14 | */
15 | public class IndependentTaskConverter extends TaskConverter {
16 | @SuppressWarnings("rawtypes")
17 | @Override
18 | public boolean canConvert(Class type) {
19 | return type.equals(IndependentTask.class);
20 | }
21 |
22 | @Override
23 | protected StoryComponent buildComponent(HierarchicalStreamReader reader,
24 | UnmarshallingContext context, LibraryModel library) {
25 | final IndependentTask task = new IndependentTask(library);
26 | // remove the default generated initiator container.
27 | task.removeStoryChild(task.getInitiatorContainer());
28 | return task;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/logger/MultiHandler.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.logger;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import java.util.logging.Handler;
6 | import java.util.logging.LogRecord;
7 |
8 | /**
9 | * Extends a Normal Handler allowing the Handler to publish to multiple sub
10 | * handlers at once. Used by MemoryHandler's push method to allow multiple sub
11 | * handlers.
12 | *
13 | * @author mfchurch
14 | *
15 | */
16 | public class MultiHandler extends Handler {
17 | private List targets;
18 |
19 | public MultiHandler(List targets) {
20 | this.targets = new ArrayList(targets);
21 | }
22 |
23 | @Override
24 | public void close() throws SecurityException {
25 | for (Handler target : this.targets) {
26 | target.close();
27 | }
28 | }
29 |
30 | @Override
31 | public void flush() {
32 | for (Handler target : this.targets) {
33 | target.flush();
34 | }
35 | }
36 |
37 | @Override
38 | public void publish(LogRecord record) {
39 | for (Handler target : this.targets) {
40 | target.publish(record);
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/logger/ScriptEaseFormatter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.logger;
2 |
3 | import java.text.SimpleDateFormat;
4 | import java.util.Calendar;
5 | import java.util.logging.Formatter;
6 | import java.util.logging.LogRecord;
7 |
8 | /**
9 | * Provides custom formatting for logging output used in ScriptEase
10 | *
11 | * @author mfchurch
12 | *
13 | */
14 | public class ScriptEaseFormatter extends Formatter {
15 |
16 | @Override
17 | public String format(LogRecord record) {
18 | String DATE_FORMAT = "yyyy-MM-dd hh:mm:ss";
19 | SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
20 |
21 | return sdf.format(Calendar.getInstance().getTime()) + " | "
22 | + record.getLevel() + ": " + record.getMessage() + "\n";
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/modelverifier/problem/ModelProblem.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.modelverifier.problem;
2 |
3 | import scriptease.model.StoryComponent;
4 |
5 | /**
6 | * A ModelProblem represents a problem identified in the model. It extends the
7 | * StoryProblem class by adding a runnable solution to the problem.
8 | * ModelProblem's also have a priority which specifies in which order the
9 | * problems should be dealt with (higher means dealt with first).
10 | *
11 | * @author mfchurch
12 | *
13 | */
14 | public class ModelProblem extends StoryProblem {
15 | private Runnable solution;
16 | private int priority;
17 |
18 | public ModelProblem(StoryComponent component, String description,
19 | Runnable solution, int priority) {
20 | super(component, description);
21 | this.solution = solution;
22 | this.priority = priority;
23 | }
24 |
25 | public int getPriority() {
26 | return this.priority;
27 | }
28 |
29 | public void solve() {
30 | this.solution.run();
31 | }
32 |
33 | @Override
34 | public String toString() {
35 | return "ModelProblem[" + this.component + " : " + this.description
36 | + "]";
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/modelverifier/problem/StoryProblem.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.modelverifier.problem;
2 |
3 | import scriptease.model.StoryComponent;
4 |
5 | /**
6 | * A StoryProblem represents a problem identified in the story by a StoryRule.
7 | * It contains the problemed component, and a description of the solution.
8 | * Notify specifies if the user should be notified about the problem (Defaults
9 | * to true).
10 | *
11 | * @author mfchurch
12 | *
13 | */
14 | public class StoryProblem {
15 | protected StoryComponent component;
16 | protected String description;
17 | protected boolean notify;
18 |
19 | public StoryProblem(StoryComponent component, String description) {
20 | this.component = component;
21 | this.description = description;
22 | this.notify = true;
23 | }
24 |
25 | public StoryComponent getComponent() {
26 | return this.component;
27 | }
28 |
29 | public String getDescription() {
30 | return this.description;
31 | }
32 |
33 | public void setNotify(boolean shouldNotify) {
34 | this.notify = shouldNotify;
35 | }
36 |
37 | public boolean shouldNotify() {
38 | return this.notify;
39 | }
40 |
41 | @Override
42 | public String toString() {
43 | return "StoryProblem[" + this.component + " : " + this.description
44 | + "]";
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/modelverifier/rule/StoryRule.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.modelverifier.rule;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.controller.modelverifier.problem.StoryProblem;
6 | import scriptease.model.StoryComponent;
7 | import scriptease.model.complex.ComplexStoryComponent;
8 |
9 | /**
10 | * A StoryRule is used with ModelVerifier to identify problems in
11 | * the model. When a StoryRule's validModel method is called, it returns
12 | * ModelProblems for each component which does not follow the StoryRule's
13 | * criteria.
14 | *
15 | * @author mfchurch
16 | *
17 | */
18 | public interface StoryRule {
19 |
20 | /**
21 | * Notifies the StoryRule of a change in the model (given by root).
22 | * StoryRule then validates the model, and returns any StoryComponent's
23 | * which are not correct according to it's heuristic.
24 | *
25 | * @return - Map of StoryComponents which have failed the rule's check, to
26 | * Strings which describe the problem.
27 | */
28 | public Collection validate(ComplexStoryComponent root,
29 | StoryComponent source);
30 | }
31 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/CodeBlockPanelObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.gui.libraryeditor.codeblocks.CodeBlockPanel;
4 |
5 | /**
6 | * Listens to changes for CodeBLockPanel {@link CodeBlockPanel}
7 | *
8 | * @author jyuen
9 | */
10 | public interface CodeBlockPanelObserver {
11 | /**
12 | * Notifies the receiver that the codeBlockPanel has changed
13 | */
14 | public void codeBlockPanelChanged();
15 | }
16 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/FileManagerObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import java.io.File;
4 |
5 | import scriptease.model.semodel.SEModel;
6 |
7 | /**
8 | * A class can implement the FileManagerObserver interface if it needs to be
9 | * informed when FileManager saves/loads models.
10 | *
11 | * @author graves
12 | */
13 | public interface FileManagerObserver {
14 | /**
15 | * This method is called whenever the FileManager notifies observers of
16 | * changes they should be aware of.
17 | *
18 | * @param model
19 | * The model that was referenced.
20 | * @param location
21 | * The disk location where the model is stored.
22 | */
23 | public void fileReferenced(SEModel model, File location);
24 | }
25 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/ParameterPanelObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.gui.libraryeditor.ParameterPanel;
4 |
5 | /**
6 | * Listens to changes for ParameterPanel {@link ParameterPanel}
7 | *
8 | * @author jyuen
9 | */
10 | public interface ParameterPanelObserver {
11 | /**
12 | * Notifies the receiver that the parameterPanel has changed
13 | */
14 | public void parameterPanelChanged();
15 | }
16 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/RecentFileObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | /**
4 | * Observes for changes to recent files including recent files that no longer
5 | * exist.
6 | *
7 | * @author jyuen
8 | */
9 | public interface RecentFileObserver {
10 |
11 | /**
12 | * This method is called whenever the FileManager notifies recent file
13 | * observers of changes they should be aware of.
14 | */
15 | public void updateRecentFiles();
16 | }
17 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/ResourceObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.translator.io.model.EditableResource;
4 | import scriptease.translator.io.model.Resource;
5 |
6 | /**
7 | * Notifies changes to resources. Since only {@link EditableResource}s can be
8 | * changed, this only applies to them.
9 | *
10 | * @author kschenk
11 | *
12 | */
13 | public interface ResourceObserver {
14 |
15 | public void nameChanged(EditableResource resource, String name);
16 |
17 | public void childRemoved(EditableResource resource, Resource child);
18 |
19 | public void childAdded(EditableResource resource, Resource child);
20 | }
21 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/ResourceTreeAdapter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.translator.io.model.GameType;
4 | import scriptease.translator.io.model.Resource;
5 |
6 | /**
7 | * Adapter for {@link ResourceTreeObserver}.
8 | *
9 | * @author kschenk
10 | *
11 | */
12 | public abstract class ResourceTreeAdapter implements ResourceTreeObserver {
13 |
14 | @Override
15 | public void resourceTreeFilled() {
16 |
17 | }
18 |
19 | @Override
20 | public void resourceAddButtonClicked(GameType type) {
21 | }
22 |
23 | @Override
24 | public void resourceEditButtonClicked(Resource resource) {
25 | }
26 |
27 | @Override
28 | public void resourceRemoveButtonClicked(Resource resource) {
29 | };
30 |
31 | @Override
32 | public void resourceSelected(Resource resource) {
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/ResourceTreeObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.translator.io.model.GameType;
4 | import scriptease.translator.io.model.Resource;
5 |
6 | /**
7 | * {@link ResourceTreeObserver}s are notified of changes to a resource tree.
8 | *
9 | * @author kschenk
10 | *
11 | */
12 | public interface ResourceTreeObserver {
13 |
14 | /**
15 | * Called when the resource tree is filled with resources.
16 | */
17 | public void resourceTreeFilled();
18 |
19 | /**
20 | * Called when a resource is selected in a resource tree.
21 | *
22 | * @param resource
23 | */
24 | public void resourceSelected(Resource resource);
25 |
26 | /**
27 | * Called when a resource's edit button is pressed
28 | *
29 | * @param resource
30 | */
31 | public void resourceEditButtonClicked(Resource resource);
32 |
33 | /**
34 | * Called when the add resource button is pressed.
35 | */
36 | public void resourceAddButtonClicked(GameType type);
37 |
38 | /**
39 | * Called when a resource's edit button is pressed
40 | *
41 | * @param resource
42 | */
43 | public void resourceRemoveButtonClicked(Resource resource);
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/SEFocusObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import java.awt.Component;
4 |
5 | import scriptease.gui.SEFocusManager;
6 |
7 | /**
8 | * This observer has its events fired when we set focus in
9 | * {@link SEFocusManager}. We use this primarily for deletion and cut, copy,
10 | * paste of StoryComponentPanels, the Library Panel, and the SEGraph since
11 | * regular focus tends to act bizarrely.
12 | *
13 | * @author kschenk
14 | *
15 | */
16 | public interface SEFocusObserver {
17 |
18 | /**
19 | * Fired when the current component gains focus. We pass in the old focus in case we need to
20 | * use it, because the new focus can always be calculated via SEFocusManager.
21 | *
22 | * @param oldFocus
23 | * The previously focused on component
24 | */
25 | public void gainFocus(Component oldFocus);
26 |
27 | /**
28 | * Fired when the current component loses focus. Focus gets set before this
29 | * is called, so you can get the newly focused component with a call to
30 | * {@link SEFocusManager#getFocus()} within the method body.
31 | *
32 | * @param oldFocus
33 | */
34 | public void loseFocus(Component oldFocus);
35 | }
36 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/SEGraphToolBarObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.gui.SEGraph.SEGraphToolBar.Mode;
4 |
5 | /**
6 | * Alerts changes to the mode.
7 | *
8 | * @author kschenk
9 | *
10 | */
11 | public interface SEGraphToolBarObserver {
12 | /**
13 | * Called when the mode changes.
14 | *
15 | * @param mode
16 | * the new mode
17 | */
18 | public void modeChanged(Mode mode);
19 | }
20 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/SEModelEvent.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.semodel.SEModel;
4 | import scriptease.model.semodel.SEModelManager;
5 |
6 | /**
7 | * Encapsulates the possible changes in a {@link SEModelManager}. An instance of
8 | * PatternModelPoolEvent
will be passed to objects who are
9 | * interested in such changes, who can then query the event for more specific
10 | * information as to what has changed.
11 | *
12 | * @author remiller
13 | * @author kschenk
14 | * @author jyuen
15 | *
16 | */
17 | public final class SEModelEvent {
18 | private final SEModel source;
19 | private final Type eventType;
20 |
21 | public static enum Type {
22 | ACTIVATED, ADDED, REMOVED, TITLECHANGED, BEHAVIOUR_EDITED;
23 | }
24 |
25 | /**
26 | * Builds a PatternModelPoolEvent
which records the way in
27 | * which the PatternModelPool has changed.
28 | *
29 | * @param changed
30 | * The PatternModel that affected (added, removed, activated,
31 | * etc) the state of the pool.
32 | * @param type
33 | * The type constant that represents how the PatternModelPool
34 | * changed. This should be one of PATTERN_MODEL_*
35 | */
36 | public SEModelEvent(SEModel changed, Type type) {
37 | this.source = changed;
38 | this.eventType = type;
39 | }
40 |
41 | public SEModel getPatternModel() {
42 | return this.source;
43 | }
44 |
45 | public Type getEventType() {
46 | return this.eventType;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/SEModelObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.semodel.SEModel;
4 | import scriptease.model.semodel.SEModelManager;
5 |
6 | /**
7 | * Observer interface for the {@link SEModelManager}.
8 | * PatternModelPoolObserver
s are notified whenever that pool changes.
9 | *
10 | * @author remiller
11 | */
12 | public interface SEModelObserver {
13 | /**
14 | * Notifies the receiver that the model pool has changed.
15 | *
16 | * @param event
17 | * The {@link SEModel} that was added.
18 | */
19 | public void modelChanged(SEModelEvent event);
20 | }
21 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/SetEffectObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.complex.ScriptIt;
4 |
5 | /**
6 | * Observer for EffectHolderPanels that fires when an effect is set.
7 | *
8 | * @author kschenk
9 | *
10 | */
11 | public interface SetEffectObserver {
12 | public void effectChanged(ScriptIt newEffect);
13 | }
14 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/StatusObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | /**
4 | * Allows implementers to be notified of changes to the ScriptEase status
5 | *
6 | * @author kschenk
7 | */
8 | public interface StatusObserver {
9 | /**
10 | * Tells the StatusObserver
that there has been a change to the
11 | * status text.
12 | *
13 | * @param newText
14 | * The text that the status has been changed to
15 | */
16 | public void statusChanged(String newText);
17 | }
18 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/StoryComponentPanelJListObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.StoryComponent;
4 |
5 | public interface StoryComponentPanelJListObserver {
6 | public void componentSelected(StoryComponent component);
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/StoryModelAdapter.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.complex.behaviours.Behaviour;
4 | import scriptease.model.semodel.dialogue.DialogueLine;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | /**
8 | * Adapter for StoryModelObserver
9 | *
10 | * @author kschenk
11 | * @author jyuen
12 | */
13 | public abstract class StoryModelAdapter implements StoryModelObserver {
14 |
15 | @Override
16 | public void dialogueRootAdded(DialogueLine root) {
17 | }
18 |
19 | @Override
20 | public void dialogueRootRemoved(DialogueLine removed) {
21 | }
22 |
23 | @Override
24 | public void libraryAdded(LibraryModel library) {
25 | }
26 |
27 | @Override
28 | public void libraryRemoved(LibraryModel library) {
29 | }
30 |
31 | @Override
32 | public void dialogueChildAdded(DialogueLine added, DialogueLine parent) {
33 | }
34 |
35 | @Override
36 | public void dialogueChildRemoved(DialogueLine removed, DialogueLine parent) {
37 | }
38 |
39 | @Override
40 | public void behaviourEditPressed(Behaviour behaviour) {
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/StoryModelObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.model.complex.behaviours.Behaviour;
4 | import scriptease.model.semodel.dialogue.DialogueLine;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | /**
8 | * Observers are notified of changes to the story model.
9 | *
10 | * @author kschenk
11 | * @author jyuen
12 | *
13 | */
14 | public interface StoryModelObserver {
15 |
16 | /**
17 | * Fired when a library is added to the story model.
18 | *
19 | * @param library
20 | */
21 | public void libraryAdded(LibraryModel library);
22 |
23 | /**
24 | * Fired when a library is removed from the story model.
25 | *
26 | * @param library
27 | */
28 | public void libraryRemoved(LibraryModel library);
29 |
30 | /**
31 | * Fired when a dialogue root is added to the story model.
32 | *
33 | * @param library
34 | */
35 | public void dialogueRootAdded(DialogueLine root);
36 |
37 | /**
38 | * Fired when a dialogue root is removed from the story model.
39 | *
40 | * @param library
41 | */
42 | public void dialogueRootRemoved(DialogueLine removed);
43 |
44 | /**
45 | * Fired when a dialogue child is added to the story model.
46 | *
47 | * @param library
48 | */
49 | public void dialogueChildAdded(DialogueLine added, DialogueLine parent);
50 |
51 | /**
52 | * Fired when a dialogue child is removed from the story model.
53 | *
54 | * @param library
55 | */
56 | public void dialogueChildRemoved(DialogueLine removed, DialogueLine parent);
57 |
58 | /**
59 | * Fired when the edit button is clicked on a behaviour.
60 | *
61 | * @param behaviour
62 | */
63 | public void behaviourEditPressed(Behaviour behaviour);
64 | }
65 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/TranslatorObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | import scriptease.translator.Translator;
4 |
5 | /**
6 | * Allows implementers to be notified of new translators being loaded.
7 | *
8 | * @author remiller
9 | */
10 | public interface TranslatorObserver {
11 | /**
12 | * Tells the TranslatorObserver
that there has been a new
13 | * Translator loaded.
14 | */
15 | public void translatorLoaded(Translator newTranslator);
16 | }
17 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/UndoManagerObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer;
2 |
3 | public interface UndoManagerObserver {
4 |
5 | public void stackChanged();
6 | }
7 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/library/LibraryEvent.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer.library;
2 |
3 | import scriptease.model.StoryComponent;
4 | import scriptease.model.semodel.librarymodel.LibraryModel;
5 |
6 | /**
7 | * Encapsulates the possible changes in a {@link LibraryModel}. An instance of
8 | * LibraryEvent
will be passed to observers who can then query the
9 | * event for more specific information.
10 | *
11 | * @author mfchurch
12 | * @author kschenk
13 | *
14 | */
15 | public final class LibraryEvent {
16 | private final StoryComponent source;
17 |
18 | public static enum Type {
19 | ADDITION, REMOVAL, CHANGE
20 | }
21 |
22 | private final Type eventType;
23 |
24 | /**
25 | * Builds a LibraryEvent
which records the way in which the
26 | * LibraryModel has changed.
27 | *
28 | * @param source
29 | * The StoryComponent added, or removed from the observed
30 | * LibaryModel. This may be null if the event is LIBRARY_REMOVED
31 | * @param type
32 | * The type constant that represents how the LibraryModel
33 | * changed.
34 | */
35 | public LibraryEvent(StoryComponent source, Type type) {
36 | this.source = source;
37 | this.eventType = type;
38 | }
39 |
40 | public Type getEventType() {
41 | return this.eventType;
42 | }
43 |
44 | public StoryComponent getSource() {
45 | return this.source;
46 | }
47 |
48 | @Override
49 | public String toString() {
50 | return "LibraryEvent[" + source + ", " + eventType + "]";
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/library/LibraryObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer.library;
2 |
3 | import scriptease.model.semodel.librarymodel.LibraryModel;
4 |
5 | /**
6 | * Observer interface for the {@link LibraryManager}.
7 | * LibraryManagerObserver
s are notified whenever that pool changes.
8 | *
9 | * @author mfchurch
10 | */
11 | public interface LibraryObserver {
12 | /**
13 | * Notifies the receiver that the model pool has changed.
14 | *
15 | * @param event
16 | * The {@link LibraryModel} that was added.
17 | */
18 | public void modelChanged(LibraryModel changed, LibraryEvent event);
19 | }
20 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/observer/storycomponent/StoryComponentObserver.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.observer.storycomponent;
2 |
3 |
4 |
5 | /**
6 | * Represents the observer side of the Observer pattern for StoryComponents.
7 | *
8 | * Classes that implement this interface update themselves when
9 | * {@link #componentChanged(StoryComponentEvent)} is called.
10 | *
11 | * @author remiller
12 | */
13 | public interface StoryComponentObserver {
14 | /**
15 | * Tells the StoryComponentObserver
that there has been a
16 | * change made to a StoryComponent that it is observing. This can include
17 | * changing a property or adding a parameter.
18 | *
19 | * @param event
20 | * The event that encapsulates the information about the change.
21 | */
22 | public void componentChanged(StoryComponentEvent event);
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/undo/FieldModification.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.undo;
2 |
3 | import scriptease.model.StoryComponent;
4 |
5 | /**
6 | * Represents and facilitates implementing the specific subgroup of
7 | * modifications that are simply field setting. The specific method used to set
8 | * or unset the field must be supplied in a subclass's implementation of
9 | * {@link #setOp(Object)}.
10 | *
11 | * For example, a modification that sets a StoryComponent
's name
12 | * could be implemented by subclassing FieldModification
and
13 | * implementing {@link #setOp(Object)} to use
14 | * {@link StoryComponent#setDisplayText(String)} .
15 | *
16 | * @author remiller
17 | *
18 | * @param
19 | * The type of the field being set.
20 | */
21 | public abstract class FieldModification implements Modification {
22 | private final T newValue, oldValue;
23 |
24 | /**
25 | * Builds a new Set-specific Modification object.
26 | *
27 | * @param newValue
28 | * The new value used to set the property.
29 | * @param oldValue
30 | * The original value used to un-set the property.
31 | */
32 | public FieldModification(T newValue, T oldValue) {
33 | this.newValue = newValue;
34 | this.oldValue = oldValue;
35 | }
36 |
37 | @Override
38 | public void redo() {
39 | this.setOp(this.newValue);
40 | }
41 |
42 | @Override
43 | public void undo() {
44 | this.setOp(this.oldValue);
45 | }
46 |
47 | /**
48 | * Performs the specific setX operation. This is what is called by
49 | * {@link #undo()} and {@link #redo()}.
50 | *
51 | * @param value
52 | * The value to set the property to.
53 | */
54 | public abstract void setOp(T value);
55 | }
--------------------------------------------------------------------------------
/scriptease2/scriptease/controller/undo/Modification.java:
--------------------------------------------------------------------------------
1 | package scriptease.controller.undo;
2 |
3 | /**
4 | * Represents one reversible atomic state change. This is derived from the
5 | * Command Pattern. The operation for moving forward, or 'doing', is defined by
6 | * {@link #redo()}, and the operation for moving backwards, or 'undoing' is
7 | * defined by {@link #undo()}.
8 | *
9 | * @author friesen
10 | * @author remiller
11 | */
12 | public interface Modification {
13 | /**
14 | * Performs the modification.
15 | */
16 | public void redo();
17 |
18 | /**
19 | * Performs the opposite operation to undo the modification.
20 | */
21 | public void undo();
22 | }
23 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/SEGraph/StoryGraphManager.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.SEGraph;
2 |
3 | import java.util.ArrayList;
4 |
5 | import scriptease.model.complex.StoryNode;
6 |
7 | public class StoryGraphManager {
8 |
9 | private static final StoryGraphManager instance = new StoryGraphManager();
10 | private ArrayList> storyGraphs = new ArrayList>();
11 |
12 | public static StoryGraphManager getInstance(){
13 | return StoryGraphManager.instance;
14 | }
15 |
16 | public void addGraph(SEGraph graph){
17 | storyGraphs.add(graph);
18 | }
19 |
20 | public ArrayList> getStoryGraphs(){
21 | return storyGraphs;
22 | }
23 |
24 |
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/SEGraph/models/DescribeItNodeGraphModel.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.SEGraph.models;
2 |
3 | import java.util.Collection;
4 | import java.util.HashSet;
5 | import java.util.Set;
6 |
7 | import scriptease.model.atomic.describeits.DescribeItNode;
8 |
9 | public class DescribeItNodeGraphModel extends SEGraphModel {
10 |
11 | public DescribeItNodeGraphModel(DescribeItNode start) {
12 | super(start);
13 | }
14 |
15 | @Override
16 | public DescribeItNode createNewNode() {
17 | return new DescribeItNode("", null);
18 | }
19 |
20 | @Override
21 | public boolean addChild(DescribeItNode child, DescribeItNode existingNode) {
22 | return existingNode.addSuccessor(child);
23 | }
24 |
25 | @Override
26 | public boolean removeChild(DescribeItNode child, DescribeItNode existingNode) {
27 | return existingNode.removeSuccessor(child);
28 | }
29 |
30 | @Override
31 | public Collection getChildren(DescribeItNode node) {
32 | return node.getSuccessors();
33 | }
34 |
35 | @Override
36 | public Collection getParents(DescribeItNode node) {
37 | final Set parents;
38 |
39 | parents = new HashSet();
40 |
41 | for (DescribeItNode storyPoint : this.getNodes()) {
42 | for (DescribeItNode successor : storyPoint.getSuccessors())
43 | if (successor == node) {
44 | parents.add(storyPoint);
45 | }
46 | }
47 | return parents;
48 | }
49 |
50 | @Override
51 | public boolean overwriteNodeData(DescribeItNode existingNode,
52 | DescribeItNode node) {
53 | if (existingNode == node)
54 | return false;
55 |
56 | existingNode.setName(node.getName());
57 | existingNode.setKnowIt(node.getKnowIt());
58 |
59 | return true;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/SEGraph/models/TaskGraphModel.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.SEGraph.models;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.model.complex.behaviours.CollaborativeTask;
6 | import scriptease.model.complex.behaviours.IndependentTask;
7 | import scriptease.model.complex.behaviours.Task;
8 | import scriptease.model.semodel.librarymodel.LibraryModel;
9 |
10 | /**
11 | * A graph model for tasks {@link Task}
12 | *
13 | * @author jyuen
14 | */
15 | public class TaskGraphModel extends SEGraphModel {
16 |
17 | private final Task start;
18 |
19 | public TaskGraphModel(Task start) {
20 | super(start);
21 | this.start = start;
22 | }
23 |
24 | @Override
25 | public Task createNewNode() {
26 | final LibraryModel library = start.getLibrary();
27 |
28 | if (start instanceof IndependentTask)
29 | return new IndependentTask(library);
30 | else
31 | return new CollaborativeTask(library);
32 | }
33 |
34 | @Override
35 | public boolean addChild(Task child, Task existingNode) {
36 | return existingNode.addSuccessor(child);
37 | }
38 |
39 | @Override
40 | public boolean removeChild(Task child, Task existingNode) {
41 | return existingNode.removeSuccessor(child);
42 | }
43 |
44 | @Override
45 | public Collection getChildren(Task node) {
46 | return node.getSuccessors();
47 | }
48 |
49 | @Override
50 | public Collection getParents(Task node) {
51 | return node.getParents();
52 | }
53 |
54 | @Override
55 | public boolean overwriteNodeData(Task existingNode, Task node) {
56 | if (existingNode == node)
57 | return false;
58 |
59 | for (Task parent : existingNode.getParents())
60 | parent.addSuccessor(node);
61 |
62 | for (Task child : existingNode.getSuccessors())
63 | node.addSuccessor(child);
64 |
65 | this.removeNode(existingNode);
66 |
67 | return true;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/SEGraph/observers/SEGraphAdapter.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.SEGraph.observers;
2 |
3 | import java.util.Collection;
4 |
5 | /**
6 | * Adapter of {@link SEGraphObserver} so that we do not need to implement all of
7 | * the methods every time.
8 | *
9 | * @author kschenk
10 | * @author jyuen
11 | */
12 | public abstract class SEGraphAdapter implements SEGraphObserver {
13 |
14 | public void defaultHandler() {
15 | }
16 |
17 | @Override
18 | public void nodesConnected(E child, E parent) {
19 | this.defaultHandler();
20 | }
21 |
22 | @Override
23 | public void nodesDisconnected(E child, E parent) {
24 | this.defaultHandler();
25 | }
26 |
27 | @Override
28 | public void nodeOverwritten(E overwittenNode) {
29 | this.defaultHandler();
30 | }
31 |
32 | @Override
33 | public void nodeAdded(E newNode, Collection children,
34 | Collection parents) {
35 | this.defaultHandler();
36 | }
37 |
38 | @Override
39 | public void nodeRemoved(E removedNode) {
40 | this.defaultHandler();
41 | }
42 |
43 | @Override
44 | public void nodesSelected(Collection nodes) {
45 | this.defaultHandler();
46 | }
47 |
48 | @Override
49 | public void nodesGrouped(Collection nodes) {
50 | this.defaultHandler();
51 | }
52 |
53 | @Override
54 | public void nodesUngrouped(Collection nodes) {
55 | this.defaultHandler();
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/SEGraph/renderers/DescribeItNodeRenderer.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.SEGraph.renderers;
2 |
3 | import java.awt.FlowLayout;
4 |
5 | import javax.swing.JComponent;
6 | import javax.swing.JLabel;
7 | import javax.swing.JPanel;
8 |
9 | import scriptease.gui.SEGraph.SEGraph;
10 | import scriptease.gui.component.ScriptWidgetFactory;
11 | import scriptease.gui.component.TypeWidget;
12 | import scriptease.gui.ui.ScriptEaseUI;
13 | import scriptease.model.atomic.KnowIt;
14 | import scriptease.model.atomic.describeits.DescribeItNode;
15 |
16 | /**
17 | * Renders DescribeItNodes as GraphNodes for display in an SEGraph.
18 | *
19 | * @author kschenk
20 | *
21 | */
22 | public class DescribeItNodeRenderer extends SEGraphNodeRenderer {
23 |
24 | public DescribeItNodeRenderer(SEGraph graph) {
25 | super(graph);
26 | }
27 |
28 | @Override
29 | protected void configureInternalComponents(JComponent component,
30 | DescribeItNode node) {
31 |
32 | component.setLayout(new FlowLayout(FlowLayout.CENTER, 2, 0));
33 |
34 | final KnowIt knowIt = node.getKnowIt();
35 | final JLabel nameLabel;
36 |
37 | if (knowIt != null) {
38 | final JPanel typePanel;
39 |
40 | typePanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
41 |
42 | typePanel.setOpaque(false);
43 |
44 | for (String type : knowIt.getAcceptableTypes()) {
45 | final TypeWidget typeWidget;
46 |
47 | typeWidget = ScriptWidgetFactory.buildTypeWidget(type);
48 |
49 | typeWidget.setSelected(true);
50 | typeWidget.setBackground(ScriptEaseUI.COLOUR_BOUND);
51 | typePanel.add(typeWidget);
52 | }
53 | component.add(typePanel);
54 | nameLabel = new JLabel(knowIt.getDisplayText());
55 | } else {
56 | nameLabel = new JLabel(node.getName());
57 | }
58 |
59 | component.add(nameLabel);
60 |
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/file/CloseModelAction.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package scriptease.gui.action.file;
5 |
6 | import java.awt.event.ActionEvent;
7 |
8 | import scriptease.controller.FileManager;
9 | import scriptease.gui.action.ActiveModelSensitiveAction;
10 | import scriptease.gui.internationalization.Il8nResources;
11 | import scriptease.model.semodel.SEModel;
12 |
13 | /**
14 | * Represents and performs the Close Tab command, as well as encapsulates its
15 | * enabled and name display state.
16 | *
17 | * Close Tab entails closing the currently active tab. This may also remove the
18 | * model from the model pool if it is the last tab open for that model.
19 | *
20 | * @author remiller
21 | */
22 | @SuppressWarnings("serial")
23 | public class CloseModelAction extends ActiveModelSensitiveAction {
24 | private static final String CLOSE_MODEL = Il8nResources
25 | .getString("Close_Model");
26 | private final SEModel model;
27 |
28 | /**
29 | * Defines an CloseModelAction
object with a mnemonic.
30 | */
31 | public CloseModelAction(SEModel model) {
32 | super(CloseModelAction.CLOSE_MODEL);
33 | this.model = model;
34 | }
35 |
36 | @Override
37 | public void actionPerformed(ActionEvent e) {
38 | if (FileManager.getInstance().hasUnsavedChanges(model)) {
39 | FileManager.getInstance().close(this.model);
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/file/NewStoryModelAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.file;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.AbstractAction;
7 | import javax.swing.Action;
8 | import javax.swing.KeyStroke;
9 |
10 | import scriptease.gui.WindowFactory;
11 | import scriptease.gui.internationalization.Il8nResources;
12 |
13 | /**
14 | * Represents and performs the New Model command, as well as encapsulates its
15 | * enabled and name display state.
16 | *
17 | * New Model entails creating a new model after allowing the user to select a module.
18 | *
19 | * @author graves
20 | */
21 | @SuppressWarnings("serial")
22 | public final class NewStoryModelAction extends AbstractAction {
23 | private static final String NEW_MODEL = Il8nResources
24 | .getString("New_Model");
25 |
26 | private static final Action instance = new NewStoryModelAction();
27 |
28 | /**
29 | * Gets the sole instance of this particular type of Action
30 | *
31 | * @return The sole instance of this particular type of Action
32 | */
33 | public static Action getInstance() {
34 | return NewStoryModelAction.instance;
35 | }
36 |
37 | /**
38 | * Defines a NewModelAction
object with accelerator and
39 | * mnemonic.
40 | */
41 | private NewStoryModelAction() {
42 | super(NewStoryModelAction.NEW_MODEL + "...");
43 |
44 | this.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(
45 | KeyEvent.VK_N, ActionEvent.CTRL_MASK));
46 | }
47 |
48 | @Override
49 | public void actionPerformed(ActionEvent e) {
50 | // run a new model wizard!
51 | WindowFactory.getInstance().showNewStoryWizardDialog();
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/library/AddLibraryToStoryModelAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.library;
2 |
3 | import java.awt.event.ActionEvent;
4 |
5 | import scriptease.gui.action.ActiveModelSensitiveAction;
6 | import scriptease.gui.dialog.DialogBuilder;
7 | import scriptease.model.semodel.SEModel;
8 | import scriptease.model.semodel.SEModelManager;
9 | import scriptease.model.semodel.StoryModel;
10 | import scriptease.model.semodel.librarymodel.LibraryModel;
11 |
12 | /**
13 | * Adds a library to an open {@link StoryModel}.
14 | *
15 | * @author kschenk
16 | * @author jyuen
17 | */
18 | @SuppressWarnings("serial")
19 | public class AddLibraryToStoryModelAction extends ActiveModelSensitiveAction {
20 | private final LibraryModel library;
21 |
22 | public AddLibraryToStoryModelAction(LibraryModel library) {
23 | super(library.getTitle());
24 |
25 | this.setEnabled(true);
26 |
27 | this.library = library;
28 | }
29 |
30 | @Override
31 | protected boolean isLegal() {
32 | final SEModel model = SEModelManager.getInstance().getActiveModel();
33 |
34 | return super.isLegal() && model instanceof StoryModel;
35 | }
36 |
37 | @Override
38 | public void actionPerformed(ActionEvent e) {
39 | DialogBuilder.getInstance().showAddLibraryInfoDialog(this.library);
40 | }
41 |
42 | public LibraryModel getLibrary() {
43 | return library;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/library/RemoveLibraryFromStoryModelAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.library;
2 |
3 | import java.awt.event.ActionEvent;
4 |
5 | import scriptease.gui.action.ActiveModelSensitiveAction;
6 | import scriptease.gui.dialog.DialogBuilder;
7 | import scriptease.model.semodel.SEModel;
8 | import scriptease.model.semodel.SEModelManager;
9 | import scriptease.model.semodel.StoryModel;
10 | import scriptease.model.semodel.librarymodel.LibraryModel;
11 |
12 | /**
13 | * Removes a library from an open {@link StoryModel}
14 | *
15 | * @author jyuen
16 | *
17 | */
18 | @SuppressWarnings("serial")
19 | public class RemoveLibraryFromStoryModelAction extends
20 | ActiveModelSensitiveAction {
21 |
22 | private final LibraryModel library;
23 |
24 | public RemoveLibraryFromStoryModelAction(LibraryModel library) {
25 | super(library.getTitle());
26 |
27 | this.setEnabled(true);
28 |
29 | this.library = library;
30 | }
31 |
32 | @Override
33 | protected boolean isLegal() {
34 | final SEModel model = SEModelManager.getInstance().getActiveModel();
35 |
36 | return super.isLegal() && model instanceof StoryModel;
37 | }
38 |
39 | @Override
40 | public void actionPerformed(ActionEvent e) {
41 | DialogBuilder.getInstance().showRemoveLibraryInfoDialog(this.library,
42 | SEModelManager.getInstance().getActiveStoryModel());
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertIndentAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.container.IndentFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Indent command, as well as encapsulating
14 | * its enabled and name display state. This command will insert a new
15 | * "IndentedFragment" into the story component builder code editor pane.
16 | *
17 | * Indents can only be inserted at the very top level, inside of scope
18 | * fragments, or inside of other indented fragments. They cannot be inserted
19 | * into line fragments.
20 | *
21 | * @author kschenk
22 | *
23 | */
24 | @SuppressWarnings("serial")
25 | public final class InsertIndentAction extends AbstractInsertFragmentAction {
26 | private static final String INSERT_INDENT_TEXT = "Indent";
27 |
28 | private static final InsertIndentAction instance = new InsertIndentAction();
29 |
30 | /**
31 | * Defines a InsertIndentAction
object.
32 | */
33 | private InsertIndentAction() {
34 | super(InsertIndentAction.INSERT_INDENT_TEXT);
35 | this.putValue(Action.ACCELERATOR_KEY,
36 | KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.CTRL_MASK));
37 | }
38 |
39 | /**
40 | * Gets the sole instance of this particular type of Action.
41 | *
42 | * @return The sole instance of this particular type of Action
43 | */
44 | public static InsertIndentAction getInstance() {
45 | return InsertIndentAction.instance;
46 | }
47 |
48 | @Override
49 | protected AbstractFragment newFragment() {
50 | return new IndentFragment();
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertLineAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.container.LineFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Line command, as well as encapsulating its
14 | * enabled and name display state. This command will insert a new "LineFragment"
15 | * into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertLineAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_LINE_TEXT = "Line";
23 |
24 | private static final InsertLineAction instance = new InsertLineAction();
25 |
26 | /**
27 | * Defines a InsertLineAction
object.
28 | */
29 | private InsertLineAction() {
30 | super(InsertLineAction.INSERT_LINE_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertLineAction getInstance() {
41 | return InsertLineAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | return new LineFragment();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertLiteralAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.LiteralFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Literal command, as well as encapsulating
14 | * its enabled and name display state. This command will insert a new
15 | * "LiteralFragment" into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertLiteralAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_LITERAL_TEXT = "Literal";
23 |
24 | private static final InsertLiteralAction instance = new InsertLiteralAction();
25 |
26 | /**
27 | * Defines a InsertLiteralAction
object.
28 | */
29 | private InsertLiteralAction() {
30 | super(InsertLiteralAction.INSERT_LITERAL_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_6, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertLiteralAction getInstance() {
41 | return InsertLiteralAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | return new LiteralFragment("");
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertReferenceAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.FormatReferenceFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Reference command, as well as
14 | * encapsulating its enabled and name display state. This command will insert a
15 | * new "ReferenceFragment" into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertReferenceAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_REFERENCE_TEXT = "Reference";
23 |
24 | private static final InsertReferenceAction instance = new InsertReferenceAction();
25 |
26 | /**
27 | * Defines a InsertLiteralAction
object.
28 | */
29 | private InsertReferenceAction() {
30 | super(InsertReferenceAction.INSERT_REFERENCE_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_7, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertReferenceAction getInstance() {
41 | return InsertReferenceAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | return new FormatReferenceFragment("");
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertScopeAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.container.ScopeFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Scope command, as well as encapsulating
14 | * its enabled and name display state. This command will insert a new
15 | * "ScopeFragment" into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertScopeAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_SCOPE_TEXT = "Scope";
23 |
24 | private static final InsertScopeAction instance = new InsertScopeAction();
25 |
26 | /**
27 | * Defines a InsertScopeAction
object.
28 | */
29 | private InsertScopeAction() {
30 | super(InsertScopeAction.INSERT_SCOPE_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_3, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertScopeAction getInstance() {
41 | return InsertScopeAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | return new ScopeFragment();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertSeriesAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.container.SeriesFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Series command, as well as encapsulating
14 | * its enabled and name display state. This command will insert a new
15 | * "SeriesFragment" into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertSeriesAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_SERIES_TEXT = "Series";
23 |
24 | private static final InsertSeriesAction instance = new InsertSeriesAction();
25 |
26 | /**
27 | * Defines a InsertSeriesAction
object.
28 | */
29 | private InsertSeriesAction() {
30 | super(InsertSeriesAction.INSERT_SERIES_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_4, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertSeriesAction getInstance() {
41 | return InsertSeriesAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | return new SeriesFragment();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/InsertSimpleAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.KeyEvent;
5 |
6 | import javax.swing.Action;
7 | import javax.swing.KeyStroke;
8 |
9 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
10 | import scriptease.translator.codegenerator.code.fragments.SimpleDataFragment;
11 |
12 | /**
13 | * Represents and performs the Insert Simple command, as well as encapsulating
14 | * its enabled and name display state. This command will insert a new
15 | * "SimpleFragment" into the story component builder code editor pane.
16 | *
17 | * @author kschenk
18 | *
19 | */
20 | @SuppressWarnings("serial")
21 | public final class InsertSimpleAction extends AbstractInsertFragmentAction {
22 | private static final String INSERT_SIMPLE_TEXT = "Simple";
23 |
24 | private static final InsertSimpleAction instance = new InsertSimpleAction();
25 |
26 | /**
27 | * Defines a InsertLiteralAction
object.
28 | */
29 | private InsertSimpleAction() {
30 | super(InsertSimpleAction.INSERT_SIMPLE_TEXT);
31 | this.putValue(Action.ACCELERATOR_KEY,
32 | KeyStroke.getKeyStroke(KeyEvent.VK_5, ActionEvent.CTRL_MASK));
33 | }
34 |
35 | /**
36 | * Gets the sole instance of this particular type of Action.
37 | *
38 | * @return The sole instance of this particular type of Action
39 | */
40 | public static InsertSimpleAction getInstance() {
41 | return InsertSimpleAction.instance;
42 | }
43 |
44 | @Override
45 | protected AbstractFragment newFragment() {
46 | final SimpleDataFragment fragment = new SimpleDataFragment();
47 |
48 | // We use "Name" the most, so set it to that by default.
49 | fragment.setDirectiveText(SimpleDataFragment.Type.NAME.name());
50 |
51 | return fragment;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/MoveFragmentDownAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | /**
4 | * Represents and performs the Move Fragment Down action as well as
5 | * encapsulating its enabled and name display state. This command will move a
6 | * fragment one down in the list of fragments in a CodeBlock.
7 | *
8 | * @author kschenk
9 | *
10 | */
11 | @SuppressWarnings("serial")
12 | public class MoveFragmentDownAction extends AbstractMoveFragmentAction {
13 | private static final String MOVE_DOWN_TEXT = "Down";
14 |
15 | private static final MoveFragmentDownAction instance = new MoveFragmentDownAction();
16 |
17 | private MoveFragmentDownAction() {
18 | super(MoveFragmentDownAction.MOVE_DOWN_TEXT);
19 | }
20 |
21 | public static MoveFragmentDownAction getInstance() {
22 | return MoveFragmentDownAction.instance;
23 | }
24 |
25 | @Override
26 | protected int delta() {
27 | return 1;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/libraryeditor/codeeditor/MoveFragmentUpAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.libraryeditor.codeeditor;
2 |
3 | /**
4 | * Represents and performs the Move Fragment Up action as well as encapsulating
5 | * its enabled and name display state. This command will move a fragment one up
6 | * in the list of fragments in a CodeBlock.
7 | *
8 | * @author kschenk
9 | *
10 | */
11 | @SuppressWarnings("serial")
12 | public class MoveFragmentUpAction extends AbstractMoveFragmentAction {
13 | private static final String MOVE_UP_TEXT = "Up";
14 |
15 | private static final MoveFragmentUpAction instance = new MoveFragmentUpAction();
16 |
17 | private MoveFragmentUpAction() {
18 | super(MoveFragmentUpAction.MOVE_UP_TEXT);
19 | }
20 |
21 | public static MoveFragmentUpAction getInstance() {
22 | return MoveFragmentUpAction.instance;
23 | }
24 |
25 | @Override
26 | protected int delta() {
27 | return -1;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/preferences/StoryPropertiesAction.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.action.preferences;
2 |
3 | import java.awt.event.ActionEvent;
4 |
5 | import scriptease.gui.action.ActiveModelSensitiveAction;
6 | import scriptease.gui.dialog.DialogBuilder;
7 | import scriptease.model.semodel.SEModel;
8 | import scriptease.model.semodel.SEModelManager;
9 | import scriptease.model.semodel.StoryModel;
10 |
11 | /**
12 | * Represents and performs the Story Properties command, as well as encapsulates its
13 | * enabled and name display state.
14 | *
15 | * Story Properties allows the user to view and edit the current story title, author and description.
16 | *
17 | * @author zturchan
18 | */
19 | @SuppressWarnings("serial")
20 | public class StoryPropertiesAction extends ActiveModelSensitiveAction {
21 |
22 | private static final String STORY_PROPERTIES = "Story Properties...";
23 |
24 | // Singleton
25 | private static StoryPropertiesAction instance = null;
26 |
27 | @Override
28 | protected boolean isLegal() {
29 | final SEModel model = SEModelManager.getInstance().getActiveModel();
30 |
31 | return super.isLegal() && model instanceof StoryModel;
32 | }
33 |
34 | /**
35 | * Gets the sole instance of this particular type of Action
36 | *
37 | * @return The sole instance of this particular type of Action
38 | */
39 | public static StoryPropertiesAction getInstance() {
40 | if (instance == null) {
41 | instance = new StoryPropertiesAction();
42 | }
43 |
44 | return StoryPropertiesAction.instance;
45 | }
46 |
47 | /**
48 | * Defines a StoryPropertiesAction
object with a mnemonic
49 | * and accelerator.
50 | */
51 | private StoryPropertiesAction() {
52 | super(StoryPropertiesAction.STORY_PROPERTIES);
53 | }
54 |
55 | @Override
56 | public void actionPerformed(ActionEvent e) {
57 | DialogBuilder.getInstance().showStoryPropertiesDialog();
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/system/ExitScriptEaseAction.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package scriptease.gui.action.system;
5 |
6 | import java.awt.event.ActionEvent;
7 | import java.awt.event.KeyEvent;
8 |
9 | import javax.swing.AbstractAction;
10 | import javax.swing.Action;
11 |
12 | import scriptease.ScriptEase;
13 | import scriptease.gui.internationalization.Il8nResources;
14 |
15 | /**
16 | * Represents and performs the Exit command, as well as encapsulates its enabled
17 | * and name display state.
18 | *
19 | * Exit entails calling ScriptEase's exit method with no error state.
20 | *
21 | * @author remiller
22 | */
23 | @SuppressWarnings("serial")
24 | public final class ExitScriptEaseAction extends AbstractAction {
25 | private static final String EXIT = Il8nResources.getString("Exit");
26 |
27 | private static final Action instance = new ExitScriptEaseAction();
28 |
29 | /**
30 | * Gets the sole instance of this particular type of Action
31 | *
32 | * @return The sole instance of this particular type of Action
33 | */
34 | public static Action getInstance() {
35 | return ExitScriptEaseAction.instance;
36 | }
37 |
38 | /**
39 | * Defines an ExitScriptEaseAction
object with a mnemonic.
40 | */
41 | private ExitScriptEaseAction() {
42 | super(ExitScriptEaseAction.EXIT);
43 |
44 | this.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_X);
45 | }
46 |
47 | @Override
48 | public void actionPerformed(ActionEvent e) {
49 | ScriptEase.getInstance().exit();
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/action/system/ShowErrorLogAction.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package scriptease.gui.action.system;
5 |
6 | import java.awt.event.ActionEvent;
7 | import java.awt.event.KeyEvent;
8 |
9 | import javax.swing.AbstractAction;
10 | import javax.swing.Action;
11 |
12 | import scriptease.gui.internationalization.Il8nResources;
13 |
14 | /**
15 | * Represents and performs the Show Error Log command, as well as encapsulates its enabled
16 | * and name display state.
17 | *
18 | * Show Error Log entails showing a window with ScriptEase's current error log output.
19 | *
20 | * @author remiller
21 | */
22 | @SuppressWarnings("serial")
23 | public final class ShowErrorLogAction extends AbstractAction {
24 | private static final String SHOW_ERROR_LOG = Il8nResources
25 | .getString("Show_Error_Log");
26 |
27 | private static final Action instance = new ShowErrorLogAction();
28 |
29 | /**
30 | * Gets the sole instance of this particular type of Action
31 | *
32 | * @return The sole instance of this particular type of Action
33 | */
34 | public static Action getInstance() {
35 | return ShowErrorLogAction.instance;
36 | }
37 |
38 | /**
39 | * Defines an CloseModelAction
object with a mnemonic.
40 | */
41 | private ShowErrorLogAction() {
42 | super(ShowErrorLogAction.SHOW_ERROR_LOG);
43 |
44 | this.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_L);
45 | }
46 |
47 | @Override
48 | public void actionPerformed(ActionEvent e) {
49 | System.err.println("SHOW_ERROR_LOG is not functioning yet.");
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/component/ExpansionButton.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.component;
2 |
3 | import java.awt.Dimension;
4 |
5 | import javax.swing.Icon;
6 | import javax.swing.JButton;
7 |
8 | import scriptease.gui.ui.ScriptEaseUI;
9 |
10 | /**
11 | * JButton used for toggling between expanded and collapsed states.
12 | *
13 | * @author mfchurch
14 | */
15 | @SuppressWarnings("serial")
16 | public class ExpansionButton extends JButton {
17 | private final Icon collapse;
18 | private final Icon expand;
19 |
20 | protected ExpansionButton(boolean isCollapsed) {
21 | this.expand = ScriptEaseUI.COLLAPSE_ICON;
22 | this.collapse = ScriptEaseUI.EXPAND_ICON;
23 |
24 | final Dimension MAX_SIZE;
25 |
26 | MAX_SIZE = new Dimension(Math.max(this.collapse.getIconWidth(),
27 | this.expand.getIconWidth()) + 1, Math.max(
28 | this.collapse.getIconHeight(), this.expand.getIconHeight()) + 1);
29 |
30 | this.setMaximumSize(MAX_SIZE);
31 | this.setPreferredSize(MAX_SIZE);
32 | this.setMinimumSize(MAX_SIZE);
33 | this.setFocusable(false);
34 | this.setOpaque(true);
35 | this.setCollapsed(isCollapsed);
36 | }
37 |
38 | public void setCollapsed(boolean isCollapsed) {
39 | if (isCollapsed)
40 | this.setIcon(this.collapse);
41 | else
42 | this.setIcon(this.expand);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/filters/Filterable.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.filters;
2 |
3 | public interface Filterable {
4 | public void updateFilter(Filter newFilter);
5 | }
6 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/filters/StoryComponentFilter.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.filters;
2 |
3 | import scriptease.translator.io.model.Resource;
4 |
5 | /**
6 | * Superclass for all filters that are capable of filtering StoryComponents.
7 | *
8 | * @author mfchurch
9 | * @author remiller
10 | */
11 | public abstract class StoryComponentFilter extends Filter {
12 | @Override
13 | public void addRule(Filter newRule) {
14 | if (newRule instanceof StoryComponentFilter) {
15 | super.addRule(newRule);
16 | } else if (newRule != null)
17 | System.err
18 | .println("Can only update a StoryComponentFilter with another StoryComponentFilter");
19 | }
20 |
21 | @Override
22 | public String toString() {
23 | return "StoryComponentFilter" + super.toString();
24 | }
25 |
26 | @Override
27 | protected int getMatchCount(Resource resource) {
28 | return 0;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/filters/VisibilityFilter.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.filters;
2 |
3 | import scriptease.model.StoryComponent;
4 |
5 | /**
6 | * VisibilityFilter simple checks with the VisibilityManager to verify if the
7 | * component is acceptable.
8 | *
9 | * @author mfchurch
10 | * @author kschenk
11 | */
12 | public class VisibilityFilter extends StoryComponentFilter {
13 | private boolean hideInvisible;
14 |
15 | public VisibilityFilter(boolean hideInvisible) {
16 | this.hideInvisible = hideInvisible;
17 | }
18 |
19 | @Override
20 | public int getMatchCount(StoryComponent component) {
21 | if (this.hideInvisible)
22 | return component.isVisible() ? 1 : 0;
23 | else
24 | return 1;
25 | }
26 |
27 | @Override
28 | public void addRule(Filter newFilter) {
29 | if (newFilter instanceof VisibilityFilter) {
30 | this.hideInvisible = ((VisibilityFilter) newFilter).hideInvisible;
31 | } else
32 | super.addRule(newFilter);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/gui/transfer/BindingTransferable.java:
--------------------------------------------------------------------------------
1 | package scriptease.gui.transfer;
2 |
3 | import java.awt.datatransfer.DataFlavor;
4 | import java.awt.datatransfer.Transferable;
5 | import java.awt.datatransfer.UnsupportedFlavorException;
6 | import java.io.IOException;
7 |
8 | import scriptease.gui.component.BindingWidget;
9 |
10 | /**
11 | * Implementation of Transferable used in BindingTransferHandler for
12 | * BindingWidget drag and drop functionality.
13 | *
14 | * @author graves
15 | */
16 | public class BindingTransferable implements Transferable {
17 | private Object data;
18 |
19 | public BindingTransferable(Object data) {
20 | this.data = data;
21 | }
22 |
23 | @Override
24 | public Object getTransferData(DataFlavor flavor)
25 | throws UnsupportedFlavorException, IOException {
26 | if (flavor.getRepresentationClass() == BindingWidget.class) {
27 | return this.data;
28 | } else {
29 | throw new UnsupportedFlavorException(flavor);
30 | }
31 | }
32 |
33 | @Override
34 | public DataFlavor[] getTransferDataFlavors() {
35 | return new DataFlavor[] { BindingWidgetTransferHandler.KnowItBindingFlavor };
36 | }
37 |
38 | @Override
39 | public boolean isDataFlavorSupported(DataFlavor flavor) {
40 | return flavor.equals(BindingWidgetTransferHandler.KnowItBindingFlavor);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/model/TypedComponent.java:
--------------------------------------------------------------------------------
1 | package scriptease.model;
2 |
3 | import java.util.Collection;
4 |
5 | /**
6 | * Has typing information associated with it.
7 | *
8 | * @author remiller
9 | */
10 | public interface TypedComponent {
11 | /**
12 | * Gets the type for this typed component.
13 | *
14 | * @return The type.
15 | */
16 | public Collection getTypes();
17 | }
18 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/model/atomic/Note.java:
--------------------------------------------------------------------------------
1 | package scriptease.model.atomic;
2 |
3 | import scriptease.controller.StoryVisitor;
4 | import scriptease.model.StoryComponent;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | /**
8 | * A story component that contains text and nothing else. Can be inserted
9 | * anywhere.
10 | *
11 | * @author kschenk
12 | *
13 | */
14 | public final class Note extends StoryComponent {
15 |
16 | /**
17 | * Used to create the common note. If you're adding a note in code, it's
18 | * recommended to use {@link LibraryModel#createNote()} instead.
19 | *
20 | * @param library
21 | * @param id
22 | */
23 | public Note(LibraryModel library) {
24 | this(library, "");
25 | }
26 |
27 | /**
28 | * Used to build notes from save files. If you're adding a note in code,
29 | * it's recommended to use {@link LibraryModel#createNote()} instead.
30 | *
31 | * @param library
32 | * @param id
33 | */
34 | public Note(LibraryModel library, String string) {
35 | super(library, string);
36 | }
37 |
38 | @Override
39 | public Note clone() {
40 | return (Note) super.clone();
41 | }
42 |
43 | @Override
44 | public void process(StoryVisitor visitor) {
45 | visitor.processNote(this);
46 |
47 | }
48 |
49 | @Override
50 | public String getDescription() {
51 | return this.getDisplayText();
52 | }
53 |
54 | @Override
55 | public void setDescription(String description) {
56 | // Do nothing.
57 | }
58 |
59 | @Override
60 | public void revalidateKnowItBindings() {
61 | // Do nothing. Notes don't have any bindings.
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/model/atomic/knowitbindings/KnowItBindingFunction.java:
--------------------------------------------------------------------------------
1 | package scriptease.model.atomic.knowitbindings;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.controller.BindingVisitor;
6 | import scriptease.model.complex.ScriptIt;
7 |
8 | /**
9 | * This class represents a Function binding for a KnowIt
.
10 | *
11 | * @author graves
12 | * @see {@link scriptease.model.atomic.KnowIt}
13 | */
14 | public class KnowItBindingFunction extends KnowItBinding {
15 | private ScriptIt functionValue;
16 |
17 | public KnowItBindingFunction(ScriptIt value) {
18 | this.functionValue = value;
19 | }
20 |
21 | @Override
22 | public String getScriptValue() {
23 | return "";
24 | }
25 |
26 | @Override
27 | public ScriptIt getValue() {
28 | return this.functionValue;
29 | }
30 |
31 | public void setValue(ScriptIt value) {
32 | this.functionValue = value;
33 | }
34 |
35 | @Override
36 | public Collection getTypes() {
37 | return this.functionValue.getTypes();
38 | }
39 |
40 | @Override
41 | public boolean equals(Object other) {
42 | return (other instanceof KnowItBindingFunction)
43 | && ((KnowItBindingFunction) other).functionValue
44 | .codeBlocksEqual(this.functionValue);
45 | }
46 |
47 | @Override
48 | public String toString() {
49 | return "KnowItBindingFunction : " + this.functionValue.toString();
50 | }
51 |
52 | @Override
53 | public KnowItBinding resolveBinding() {
54 | return this;
55 | }
56 |
57 | /**
58 | * Return a new KnowItBindingFunction bound to a clone of its DoIt
59 | */
60 | @Override
61 | public KnowItBinding clone() {
62 | return new KnowItBindingFunction(this.functionValue.clone());
63 | }
64 |
65 | @Override
66 | public void process(BindingVisitor processController) {
67 | processController.processFunction(this);
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/model/complex/ActivityIt.java:
--------------------------------------------------------------------------------
1 | package scriptease.model.complex;
2 |
3 | import scriptease.controller.StoryVisitor;
4 | import scriptease.model.atomic.KnowIt;
5 | import scriptease.model.semodel.librarymodel.LibraryModel;
6 |
7 | /**
8 | * Represents a container of effects, descriptions, questions, and controls.
9 | *
10 | * @author jyuen
11 | */
12 | public class ActivityIt extends ScriptIt {
13 |
14 | /**
15 | * Constructor. Creates a new ActivityIt with the given name
16 | *
17 | * @param name
18 | */
19 | public ActivityIt(LibraryModel library, String name) {
20 | super(library, name);
21 |
22 | this.registerChildType(ScriptIt.class,
23 | ComplexStoryComponent.MAX_NUM_OF_ONE_TYPE);
24 | this.registerChildType(KnowIt.class,
25 | ComplexStoryComponent.MAX_NUM_OF_ONE_TYPE);
26 | this.registerChildType(ControlIt.class,
27 | ComplexStoryComponent.MAX_NUM_OF_ONE_TYPE);
28 | this.registerChildType(AskIt.class,
29 | ComplexStoryComponent.MAX_NUM_OF_ONE_TYPE);
30 | this.registerChildType(PickIt.class,
31 | ComplexStoryComponent.MAX_NUM_OF_ONE_TYPE);
32 | }
33 |
34 | @Override
35 | public void process(StoryVisitor processController) {
36 | processController.processActivityIt(this);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/model/complex/CauseIt.java:
--------------------------------------------------------------------------------
1 | package scriptease.model.complex;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import scriptease.controller.StoryVisitor;
7 | import scriptease.model.StoryComponent;
8 | import scriptease.model.atomic.KnowIt;
9 | import scriptease.model.atomic.Note;
10 | import scriptease.model.complex.behaviours.Behaviour;
11 | import scriptease.model.semodel.librarymodel.LibraryModel;
12 |
13 | /**
14 | * A CauseIt represents a StoryComponent. It acts as a trigger and a cause /
15 | * pre-req. to effects.
16 | *
17 | * It contains codeBlocks, which are able to have parameters, implicits,
18 | * subjects and slots and return types. It also has 3 blocks - Active, Inactive,
19 | * and Always corresponding to the appropriate state of execution.
20 | *
21 | * @author mfchurch
22 | * @author kschenk
23 | * @author jyuen
24 | */
25 | public class CauseIt extends ScriptIt {
26 | public CauseIt(LibraryModel library, String name) {
27 | super(library, name);
28 | final List> validTypes = new ArrayList>();
29 |
30 | validTypes.add(ScriptIt.class);
31 | validTypes.add(KnowIt.class);
32 | validTypes.add(AskIt.class);
33 | validTypes.add(StoryComponentContainer.class);
34 | validTypes.add(Note.class);
35 | validTypes.add(ControlIt.class);
36 | validTypes.add(Behaviour.class);
37 | validTypes.add(PickIt.class);
38 | validTypes.add(ActivityIt.class);
39 |
40 | this.registerChildTypes(validTypes, MAX_NUM_OF_ONE_TYPE);
41 | }
42 |
43 | @Override
44 | public CauseIt clone() {
45 | return (CauseIt) super.clone();
46 | }
47 |
48 | @Override
49 | public void process(StoryVisitor processController) {
50 | processController.processCauseIt(this);
51 | }
52 |
53 | @Override
54 | public String toString() {
55 | return "CauseIt [" + this.getDisplayText() + "]";
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/Il8nResources_en_US.properties:
--------------------------------------------------------------------------------
1 | =
2 | Help = Help
3 | About_ScriptEase = About ScriptEase
4 | File = File
5 | Select_Module = Select Module
6 | New = New
7 | New_Model = New Story
8 | New_Library = New Library
9 | Open_Model = Open
10 | Close_Model = Close
11 | Save = Save
12 | Save_Model = Save
13 | Save_Model_As = Save As
14 | Save_Model_and_Compile = Save and Compile
15 | Show_Error_Log = Show Error Log
16 | Exit = Exit
17 | Add = Add
18 | New_Encounter = New Encounter
19 | New_Do_It = New DoIt
20 | New_Start_It = New StartIt
21 | New_Ask_It = New AskIt
22 | Build = Build
23 | Play_Module_in_NWN = Play Module in NWN
24 | Load_Module_in_NWN = Load Module in NWN
25 | Encounter_Designer = Encounter Designer
26 | Encounter_Builder = Encounter Builder
27 | Read_Only_Module_Viewer = Read Only Module Viewer
28 | Plot_Token_Builder = Plot Token Builder
29 | Conversation_Builder = Conversation Builder
30 | Conversation_Editor = Conversation Editor
31 | Dialogue_Builder = Dialogue Builder
32 | Quest_Designer = Quest Designer
33 | Quest_Builder = Quest Builder
34 | Preferences = Preferences
35 | Edit = Edit
36 | Tools = Tools
37 | Debugger = Debugger
38 | Window = Window
39 | Cascading = Cascading
40 | Arrange_Windows = Arrange Windows
41 | View = View
42 | Tiled = Tiled
43 | Type_Filter_ = Type Filter:
44 | Search_Filter_ = Search:
45 | All = All
46 | Create=Create
47 | DoIt=Effect
48 | KnowIt=Description
49 | Test_Story = Test Story
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/Il8nResources_fr_FR.properties:
--------------------------------------------------------------------------------
1 | File = Fiche
2 | Test_Story = Essayez
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/Il8nResources_pl_PL.properties:
--------------------------------------------------------------------------------
1 | =
2 | Help = Elphay
3 | About_ScriptEase = Boutay Cripteasesay
4 | File = Ilefay
5 | Open_Module___ = Penoay Odulemay...
6 | Open_Module_as_Read_Only___ = Penoay Odulemay saay Eadray Nlyoay...
7 | Close_Module = Losecay Odulemay
8 | Save_Module = Avesay Odulemay
9 | Save_Module_As___ = Avesay Odulemay Saay...
10 | Save_Module_and_Compile = Avesay Odulemay ndaay Ompilecay
11 | Show_Error_Log = Howsay Rroreay Oglay
12 | Exit = Xiteay
13 | Build = Uildbay
14 | Play_Module_in_NWN = Laypay Odulemay niay NWN
15 | Load_Module_in_NWN = Oadlay Odulemay niay NWN
16 | Encounter_Designer = Ncountereay Esignerday
17 | Encounter_Builder = Ncountereay Uilderbay
18 | Read_Only_Module_Viewer = Eadray Nluoay Odulemay Iewervay
19 | Plot_Token_Builder = Lotpay Okentay Uilderbay
20 | Conversation_Builder = Onversationcay Uilderbay
21 | Conversation_Editor = Onversationcay Ditoreay
22 | Dialogue_Builder = Ialogueday Uilderbay
23 | Quest_Designer = Uestqay Esignerday
24 | Quest_Builder = Uestqay Uilderbay
25 | Preferences___ = Referencespay...
26 | Edit = Diteay
27 | Tools = Oolstay
28 | Debugger = Ebugerday
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/default_preferences.ini:
--------------------------------------------------------------------------------
1 | #ScriptEase Default Preferences File.
2 |
3 | #Application knowledge
4 | MaxUndoSteps=50
5 |
6 | # GUI Preferences
7 | UseJavaUI=false
8 | FontSize=12
9 |
10 | # Output directory
11 | outputDirectory=output
12 |
13 | # Debug Mode
14 | debug=false
15 |
16 | # Preferred Layout
17 | PreferredLayout=Compressed
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/connect.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/delete.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/disconnect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/disconnect.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/group.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/insert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/insert.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/buttonicons/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/buttonicons/select.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/connect.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/delete.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/disconnect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/disconnect.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/group.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/insert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/insert.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/select.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/unavailable.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/cursors/ungroup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/cursors/ungroup.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/noteicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/noteicon.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Cursors/con_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Cursors/con_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Cursors/dc_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Cursors/dc_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Cursors/del_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Cursors/del_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Cursors/insertBet_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Cursors/insertBet_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Cursors/selection_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Cursors/selection_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images.zip
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/con_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/dc_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/del_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertAlt_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/insertBet_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/Large Size Images/selection_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/addition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/addition.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/addition_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/addition_line.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/questIcons/trashcan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/questIcons/trashcan.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/addition_cursor.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/addition_cursor.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/connection_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/connection_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/deletion_cursor.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/deletion_cursor.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/disconnection_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/disconnection_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/node_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/node_add.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/node_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/node_delete.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/path_draw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/path_draw.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Cursors/path_erase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Cursors/path_erase.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/con_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/con_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/con_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/con_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/con_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/con_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/dc_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/del_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/del_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/del_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/del_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/del_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/del_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertAlt_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/insertBet_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_dep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_dep.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_hover.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/Large Size Images/selection_static.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/addition_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/addition_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/addition_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/addition_new.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/connection_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/connection_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/connection_new_icon.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/connection_new_icon.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/connection_new_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/connection_new_icon.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/deletion_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/deletion_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/deletion_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/deletion_new.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/disconnection_new.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/disconnection_new.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/disconnection_new_icon.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/disconnection_new_icon.pdn
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/disconnection_new_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/disconnection_new_icon.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/icons/src/trashcan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/icons/src/trashcan.png
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/commons-logging-1.1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/commons-logging-1.1.1.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/httpclient-4.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/httpclient-4.0.1.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/httpcore-4.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/httpcore-4.0.1.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/jcommon-1.0.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/jcommon-1.0.17.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/jfreechart-1.0.14.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/jfreechart-1.0.14.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/xstream-1.3.1/LICENSE.txt:
--------------------------------------------------------------------------------
1 | (BSD Style License)
2 |
3 | Copyright (c) 2003-2006, Joe Walnes
4 | Copyright (c) 2006-2007, XStream Committers
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | Redistributions of source code must retain the above copyright notice, this list of
11 | conditions and the following disclaimer. Redistributions in binary form must reproduce
12 | the above copyright notice, this list of conditions and the following disclaimer in
13 | the documentation and/or other materials provided with the distribution.
14 |
15 | Neither the name of XStream nor the names of its contributors may be used to endorse
16 | or promote products derived from this software without specific prior written
17 | permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
22 | SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
24 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
25 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
27 | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
28 | DAMAGE.
29 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/xstream-1.3.1/README.txt:
--------------------------------------------------------------------------------
1 |
2 | ***********
3 | ********************** XStream **********************
4 | ***********
5 |
6 | "Java to XML Serialization, and back again"
7 |
8 |
9 | --[ Binaries ]-----------------------------------------------
10 |
11 | All binary artifacts are in the 'lib' directory. These include the
12 | xstream jars and any other library used at build time,
13 | or optional runtime extras. XPP3 is recommend for use as it will
14 | greatly improve the performance of XStream.
15 |
16 | --[ Documentation ]------------------------------------------
17 |
18 | Documentation can be found in docs/index.html. This includes:
19 | * Introduction and tutorial
20 | * JavaDoc
21 | * Change log
22 | * Frequently asked questions
23 |
24 | --[ Source ]-------------------------------------------------
25 |
26 | The complete source for XStream is bundled. This includes:
27 | * Main API [src/java]
28 | * Unit tests [src/test]
29 | * Ant build files [build.xml]
30 | * Maven build files [pom.xml]
31 | * Dependencies [lib]
32 |
33 | -------------------------------------------------------------
34 |
35 | -XStream Ccommitters
36 |
37 | http://xstream.codehaus.org/
38 |
39 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/xstream-1.3.1/lib/xpp3_min-1.1.4c.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/xstream-1.3.1/lib/xpp3_min-1.1.4c.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/lib/xstream-1.3.1/lib/xstream-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/lib/xstream-1.3.1/lib/xstream-1.3.1.jar
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/monocleDinosaur.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/scriptease2/scriptease/resources/monocleDinosaur.txt
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/schema/LanguageDictionarySchema.xsd:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/resources/scriptease.ini:
--------------------------------------------------------------------------------
1 | # ====================================================
2 | # ScriptEase Configuration File
3 | #
4 | # This file is for mission-critical data: information
5 | # that absolutely must be present, or else ScriptEase
6 | # cannot possibly hope to run.
7 | # ====================================================
8 |
9 | # The directory where pattern libraries are to be located.
10 | PatternsDirectory=patterns
11 |
12 | # The directory where translators are expected to exist
13 | TranslatorsDirectory=translators
14 |
15 | # The Bug Report Server's web address
16 | BugServer=http://webdocs.cs.ualberta.ca/~script/bugs/buglogger.cgi
17 |
18 | # Expected location for all translators
19 | translatorPath=translators
20 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/GameCompilerException.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator;
2 |
3 | /**
4 | * Represents a problem with game compilation. This is a standard exception
5 | * class, and {@link RuntimeException} may be consulted for details.
6 | *
7 | * @author remiller
8 | */
9 | @SuppressWarnings("serial")
10 | public class GameCompilerException extends RuntimeException {
11 | /**
12 | * Builds a new exception that was caused by the given Throwable problem.
13 | *
14 | * @param cause
15 | * The Throwable problem. May be null
.
16 | */
17 | public GameCompilerException(Throwable cause) {
18 | this("", cause);
19 | }
20 |
21 | /**
22 | * Builds a new exception that contains the given message.
23 | *
24 | * @param message
25 | * The detailed message that described the situation the
26 | * exception was created in.
27 | */
28 | public GameCompilerException(String message) {
29 | this(message, null);
30 | }
31 |
32 | /**
33 | * Builds a new exception that contains the given message and was caused by
34 | * the given Throwable problem.
35 | *
36 | * @param message
37 | * The detailed message that described the situation the
38 | * exception was created in.
39 | * @param cause
40 | * The Throwable problem that caused this exception to exist. May be null
.
41 | */
42 | public GameCompilerException(String message, Throwable cause) {
43 | super(message, cause);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/CodeGenerationException.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator;
2 | /**
3 | * Exception class for code generation exceptions.
4 | *
5 | * @author kschenk
6 | *
7 | */
8 | @SuppressWarnings("serial")
9 | public class CodeGenerationException extends RuntimeException {
10 |
11 | /**
12 | * Constructor that calls super with a message.
13 | *
14 | * @param message
15 | */
16 | public CodeGenerationException(String message) {
17 | super(message);
18 | }
19 |
20 | /**
21 | * Constructor that calls super with a message and the cause.
22 | *
23 | * @param message
24 | * @param cause
25 | */
26 | public CodeGenerationException(String message, Throwable cause) {
27 | super(message, cause);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/ScriptInfo.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator;
2 |
3 | import scriptease.translator.io.model.Resource;
4 |
5 | /**
6 | * Simple metadata class for scripts and their slots.
7 | *
8 | * @author remiller
9 | * @author mfchurch
10 | *
11 | */
12 | public final class ScriptInfo {
13 | private final String code;
14 | private final LocationInformation locationInfo;
15 |
16 | /**
17 | * Builds a ScriptInfo that contains the given script metadata.
18 | *
19 | * @param code
20 | * The code fragment that represents the content of the script.
21 | * @param slot
22 | * The slot
23 | * @param object
24 | * The object
25 | */
26 | public ScriptInfo(String code, LocationInformation locationInfo) {
27 | this.code = code;
28 | this.locationInfo = locationInfo;
29 | }
30 |
31 | public String getCode() {
32 | return this.code;
33 | }
34 |
35 | public String getSlot() {
36 | return this.locationInfo.getSlot();
37 | }
38 |
39 | public Resource getSubject() {
40 | return this.locationInfo.getSubject();
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/ResourceContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts;
2 |
3 | import scriptease.translator.io.model.Resource;
4 |
5 | /**
6 | * ResourceContext is a context for a Resource object.
7 | *
8 | * @author jyuen
9 | */
10 | public class ResourceContext extends Context{
11 |
12 | private final Resource resource;
13 |
14 | /**
15 | * Creates a new AskItContext with the source AskIt based on the context
16 | * passed in.
17 | *
18 | * @param other
19 | * @param source
20 | */
21 | public ResourceContext(Context other, Resource source) {
22 | super(other);
23 |
24 | this.setLocationInfo(other.getLocationInfo());
25 | this.resource = source;
26 | }
27 |
28 | @Override
29 | public String getTemplateID() {
30 | return resource.getTemplateID();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
4 | import scriptease.translator.codegenerator.code.contexts.Context;
5 |
6 | /**
7 | * KnowItBindingContext is Context for a KnowItBinding object.
8 | *
9 | * @see Context
10 | * @author mfchurch
11 | *
12 | */
13 | public class KnowItBindingContext extends Context {
14 | protected KnowItBinding binding;
15 |
16 | public KnowItBindingContext(Context other, KnowItBinding source) {
17 | super(other);
18 | this.binding = source;
19 | }
20 |
21 | /**
22 | * Get the KnowItBinding's Type
23 | */
24 | @Override
25 | public String getType() {
26 | return this.getModel().getType(this.binding.getFirstType())
27 | .getCodeSymbol();
28 | }
29 |
30 | @Override
31 | public String getValue() {
32 | return this.binding.getScriptValue();
33 | }
34 |
35 | @Override
36 | public String getFormattedValue() {
37 | return this.getValue();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingFunctionContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import java.util.List;
4 |
5 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
6 | import scriptease.translator.codegenerator.code.contexts.Context;
7 | import scriptease.translator.codegenerator.code.contexts.ContextFactory;
8 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
9 |
10 | /**
11 | * KnowItBindingFunctionContext is Context for a KnowItBindingFunction object.
12 | *
13 | * @see Context
14 | * @author mfchurch
15 | * @author kschenk
16 | *
17 | */
18 | public class KnowItBindingFunctionContext extends KnowItBindingContext {
19 | public KnowItBindingFunctionContext(Context other, KnowItBinding source) {
20 | super(other, source);
21 | }
22 |
23 | /**
24 | * Get the KnowItBinding's ScriptIt Value
25 | */
26 | @Override
27 | public String getValue() {
28 | final Context scriptItContext = ContextFactory.getInstance()
29 | .createContext(this, this.binding.getValue());
30 |
31 | final List format;
32 | final String value;
33 |
34 | format = this.getTranslator().getLanguageDictionary()
35 | .getFunctionCallFormat();
36 | value = AbstractFragment.resolveFormat(format, scriptItContext);
37 |
38 | return value;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingNullContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
4 | import scriptease.model.atomic.knowitbindings.KnowItBindingNull;
5 | import scriptease.translator.codegenerator.code.contexts.Context;
6 |
7 | /**
8 | * KnowItBindingNullContext is Context for a KnowItBindingNull object.
9 | *
10 | * @see Context
11 | * @author mfchurch
12 | *
13 | */
14 | public class KnowItBindingNullContext extends KnowItBindingContext {
15 | public KnowItBindingNullContext(Context other, KnowItBinding source) {
16 | super(other, source);
17 | }
18 |
19 | /**
20 | * Get the KnowItBinding's GameConstant Value
21 | */
22 | @Override
23 | public String getValue() {
24 | return ((KnowItBindingNull) this.binding).getScriptValue();
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingReferenceContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
4 | import scriptease.model.atomic.knowitbindings.KnowItBindingReference;
5 | import scriptease.translator.codegenerator.code.contexts.Context;
6 | import scriptease.translator.codegenerator.code.contexts.ContextFactory;
7 |
8 | /**
9 | * KnowItBindingReferenceContext is Context for a KnowItBindingReference object.
10 | *
11 | * @see Context
12 | * @author mfchurch
13 | *
14 | */
15 | public class KnowItBindingReferenceContext extends KnowItBindingContext {
16 | public KnowItBindingReferenceContext(Context other, KnowItBinding source) {
17 | super(other, source);
18 | }
19 |
20 | /**
21 | * Get the KnowItBinding's Reference Name
22 | */
23 | @Override
24 | public String getValue() {
25 | Context knowItContext = ContextFactory.getInstance().createContext(
26 | this, ((KnowItBindingReference) this.binding).getValue());
27 | return knowItContext.getName();
28 | }
29 | }
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingStoryGroupContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
6 | import scriptease.model.atomic.knowitbindings.KnowItBindingStoryGroup;
7 | import scriptease.model.complex.StoryGroup;
8 | import scriptease.translator.codegenerator.code.contexts.Context;
9 | import scriptease.translator.codegenerator.code.contexts.ContextFactory;
10 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
11 |
12 | /**
13 | * Code generation Context for a KnowItBindingStoryGroup object.
14 | *
15 | * @see Context
16 | * @see KnowItBindingContext
17 | * @author jyuen
18 | */
19 | public class KnowItBindingStoryGroupContext extends KnowItBindingContext {
20 |
21 | public KnowItBindingStoryGroupContext(Context other, KnowItBinding source) {
22 | super(other, source);
23 | }
24 |
25 | @Override
26 | public String getFormattedValue() {
27 | final Collection typeFormat;
28 |
29 | typeFormat = this.getTranslator().getLibrary()
30 | .getType(StoryGroup.STORY_GROUP_TYPE).getFormat();
31 |
32 | if (typeFormat == null || typeFormat.isEmpty())
33 | return this.getValue();
34 |
35 | return AbstractFragment.resolveFormat(typeFormat, this);
36 | }
37 |
38 | /**
39 | * Get the KnowItBinding's StoryPoint Name
40 | */
41 | @Override
42 | public String getValue() {
43 | final StoryGroup group = ((KnowItBindingStoryGroup) this.binding)
44 | .getValue();
45 |
46 | final Context knowItContext;
47 |
48 | knowItContext = ContextFactory.getInstance().createContext(this, group);
49 |
50 | return knowItContext.getName();
51 | }
52 | }
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/knowitbinding/KnowItBindingUninitializedContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.knowitbinding;
2 |
3 | import scriptease.model.atomic.knowitbindings.KnowItBinding;
4 | import scriptease.model.atomic.knowitbindings.KnowItBindingUninitialized;
5 | import scriptease.translator.codegenerator.code.contexts.Context;
6 | import scriptease.translator.codegenerator.code.contexts.ContextFactory;
7 |
8 | /**
9 | * KnowItBindingUninitializedContext is a Context for a
10 | * KnowItBindingUninitialized object.
11 | *
12 | * @see Context
13 | * @author jyuen
14 | */
15 | public class KnowItBindingUninitializedContext extends KnowItBindingContext {
16 |
17 | public KnowItBindingUninitializedContext(Context other, KnowItBinding source) {
18 | super(other, source);
19 | }
20 |
21 | /**
22 | * Get the KnowItBinding's Reference Name
23 | */
24 | @Override
25 | public String getValue() {
26 | Context knowItContext = ContextFactory.getInstance().createContext(
27 | this, ((KnowItBindingUninitialized) this.binding).getValue());
28 |
29 | return knowItContext.getName();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/AskItContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.controller.StoryComponentUtils;
6 | import scriptease.model.atomic.KnowIt;
7 | import scriptease.model.complex.AskIt;
8 | import scriptease.model.complex.StoryComponentContainer;
9 | import scriptease.translator.codegenerator.code.contexts.Context;
10 |
11 | /**
12 | * AskItContext is Context for a AskIt object.
13 | *
14 | * @see Context
15 | * @author mfchurch
16 | *
17 | */
18 | public class AskItContext extends StoryComponentContext {
19 |
20 | /**
21 | * Creates a new AskItContext with the source AskIt based on the context
22 | * passed in.
23 | *
24 | * @param other
25 | * @param source
26 | */
27 | public AskItContext(Context other, AskIt source) {
28 | super(other, source);
29 | }
30 |
31 | /**
32 | * Get the AskIt's Condition
33 | */
34 | @Override
35 | public String getCondition() {
36 | final KnowIt condition = this.getComponent().getCondition();
37 | if (condition != null)
38 | return this.getNameOf(condition);
39 | return "";
40 | }
41 |
42 | /**
43 | * Get the AskIt's IfChild
44 | */
45 | @Override
46 | public StoryComponentContainer getIfChild() {
47 | return this.getComponent().getIfBlock();
48 | }
49 |
50 | /**
51 | * Get the AskIt's ElseChild
52 | */
53 | @Override
54 | public StoryComponentContainer getElseChild() {
55 | return this.getComponent().getElseBlock();
56 | }
57 |
58 | /**
59 | * Get the AskIt's condition and it's dependencies
60 | */
61 | @Override
62 | public Collection getVariables() {
63 | return StoryComponentUtils.getVariables(this.getComponent());
64 | }
65 |
66 | @Override
67 | public AskIt getComponent() {
68 | return (AskIt) super.getComponent();
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/PickItContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.model.StoryComponent;
6 | import scriptease.model.complex.PickIt;
7 | import scriptease.translator.codegenerator.code.contexts.Context;
8 |
9 | /**
10 | * PickItContext is Context for a PickIt {@link PickIt} object.
11 | *
12 | * @see Context
13 | * @author jyuen
14 | *
15 | */
16 | public class PickItContext extends StoryComponentContext {
17 |
18 | final PickIt pickIt;
19 |
20 | /**
21 | * Creates a new PickItContext with the source PickIt based on the context
22 | * passed in.
23 | *
24 | * @param other
25 | * @param source
26 | */
27 | public PickItContext(Context other, PickIt source) {
28 | super(other, source);
29 |
30 | this.pickIt = source;
31 | }
32 |
33 | @Override
34 | public PickIt getComponent() {
35 | return (PickIt) super.getComponent();
36 | }
37 |
38 | @Override
39 | public String getTotalChoiceProbability() {
40 | int totalProbability = 0;
41 |
42 | for (Integer choiceProbability : pickIt.getChoices().values()) {
43 | totalProbability += choiceProbability;
44 | }
45 |
46 | return Integer.toString(totalProbability);
47 | }
48 |
49 | @Override
50 | public Collection getChoices() {
51 | return pickIt.getChildren();
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/ComplexStoryComponentContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Collection;
5 |
6 | import scriptease.controller.StoryComponentUtils;
7 | import scriptease.model.StoryComponent;
8 | import scriptease.model.atomic.KnowIt;
9 | import scriptease.model.complex.ComplexStoryComponent;
10 | import scriptease.translator.codegenerator.code.contexts.Context;
11 | import scriptease.translator.codegenerator.code.contexts.storycomponent.StoryComponentContext;
12 |
13 | /**
14 | * Context representing a ComplexStoryComponent
15 | *
16 | * @author mfchurch
17 | *
18 | */
19 | public class ComplexStoryComponentContext extends StoryComponentContext {
20 |
21 | /**
22 | * Creates a new ComplexStoryComponentContext.
23 | *
24 | * @param other
25 | * @param source
26 | */
27 | public ComplexStoryComponentContext(Context other,
28 | ComplexStoryComponent source) {
29 | super(other, source);
30 | }
31 |
32 | /**
33 | * Get all of the ComplexStoryComponent's children
34 | */
35 | @Override
36 | public final Collection getChildren() {
37 | return this.getComponent().getChildren();
38 | }
39 |
40 | /**
41 | * Get all of the ComplexStoryComponent's knowIt children
42 | */
43 | @Override
44 | public Collection getVariables() {
45 | final Collection variables = new ArrayList();
46 |
47 | for (StoryComponent child : this.getChildren()) {
48 | variables.addAll(StoryComponentUtils.getVariables(child));
49 | }
50 |
51 | return variables;
52 | }
53 |
54 | @Override
55 | public ComplexStoryComponent getComponent() {
56 | return (ComplexStoryComponent) super.getComponent();
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/scriptit/ActivityItContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.scriptit;
2 |
3 | import scriptease.model.complex.ActivityIt;
4 | import scriptease.translator.codegenerator.code.contexts.Context;
5 |
6 | /**
7 | * Context for {@link ActivityIt}
8 | *
9 | * @author jyuen
10 | */
11 | public class ActivityItContext extends ScriptItContext {
12 |
13 | /**
14 | * Creates a new FunctionItContext with the source FunctionIt based on the context
15 | * passed in.
16 | *
17 | * @param other
18 | * @param source
19 | */
20 | public ActivityItContext(Context other, ActivityIt source) {
21 | super(other, source);
22 | }
23 |
24 | @Override
25 | public ActivityIt getComponent() {
26 | return (ActivityIt) super.getComponent();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/scriptit/BehaviourContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.scriptit;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.model.complex.ScriptIt;
6 | import scriptease.model.complex.behaviours.Behaviour;
7 | import scriptease.model.complex.behaviours.Task;
8 | import scriptease.translator.codegenerator.code.contexts.Context;
9 |
10 | public class BehaviourContext extends ScriptItContext {
11 | private static int uniqueIDCounter = 0;
12 | private final int uniqueID;
13 |
14 | public BehaviourContext(Context other, ScriptIt source) {
15 | super(other, source);
16 | this.uniqueID = uniqueIDCounter++;
17 | }
18 |
19 | @Override
20 | public Behaviour getComponent() {
21 | return (Behaviour) super.getComponent();
22 | }
23 |
24 | @Override
25 | public Task getStartTask() {
26 | return this.getComponent().getStartTask();
27 | }
28 |
29 | @Override
30 | public Collection getTasks() {
31 | return this.getStartTask().getDescendants();
32 | }
33 |
34 | @Override
35 | public String getProbabilityCount() {
36 | // TODO implement behaviour prob count
37 | return super.getProbabilityCount();
38 | }
39 |
40 | @Override
41 | public String getUniqueID() {
42 | return "" + uniqueID;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/scriptit/CauseItContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.scriptit;
2 |
3 | import scriptease.model.atomic.KnowIt;
4 | import scriptease.model.complex.CauseIt;
5 | import scriptease.translator.codegenerator.code.contexts.Context;
6 |
7 | /**
8 | * CauseItContexts are contexts for CauseIts.
9 | *
10 | * @author jyuen
11 | */
12 | public class CauseItContext extends ScriptItContext {
13 |
14 | public CauseItContext(Context other, CauseIt source) {
15 | super(other, source);
16 | }
17 |
18 | @Override
19 | public CauseIt getComponent() {
20 | return (CauseIt) super.getComponent();
21 | }
22 |
23 | @Override
24 | public KnowIt getSubject() {
25 | return this.getComponent().getMainCodeBlock().getSubject();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/storynode/StoryGroupContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.storynode;
2 |
3 | import java.util.Collection;
4 |
5 | import scriptease.model.complex.StoryGroup;
6 | import scriptease.model.complex.StoryPoint;
7 | import scriptease.translator.codegenerator.code.contexts.Context;
8 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
9 |
10 | /**
11 | * Context representing a StoryGroup
12 | *
13 | * @author jyuen
14 | */
15 | public class StoryGroupContext extends StoryNodeContext {
16 |
17 | /**
18 | * Creates a new StoryGroupContext with a previous context and the
19 | * {@link StoryGroup} source.
20 | *
21 | * @param other
22 | * @param source
23 | */
24 | public StoryGroupContext(Context other, StoryPoint source) {
25 | super(other, source);
26 | }
27 |
28 | @Override
29 | public String getFormattedValue() {
30 | final Collection typeFormat;
31 |
32 | typeFormat = this.getTranslator().getLibrary()
33 | .getType(StoryGroup.STORY_GROUP_TYPE).getFormat();
34 | if (typeFormat == null || typeFormat.isEmpty())
35 | return this.getValue();
36 |
37 | return AbstractFragment.resolveFormat(typeFormat, this);
38 | }
39 |
40 | @Override
41 | public StoryGroup getComponent() {
42 | return (StoryGroup) super.getComponent();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/storynode/StoryNodeContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.storynode;
2 |
3 | import scriptease.model.complex.StoryNode;
4 | import scriptease.translator.codegenerator.code.contexts.Context;
5 | import scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.ComplexStoryComponentContext;
6 |
7 | /**
8 | * Context representing a StoryNode
9 | *
10 | * @author jyuen
11 | *
12 | */
13 | public class StoryNodeContext extends ComplexStoryComponentContext {
14 |
15 | /**
16 | * Creates a new StoryNode context
17 | *
18 | * @param other
19 | * @param source
20 | */
21 | public StoryNodeContext(Context other, StoryNode source) {
22 | super(other, source);
23 | }
24 |
25 | @Override
26 | public String getUniqueID() {
27 | return this.getComponent().getUniqueID().toString();
28 | }
29 |
30 | @Override
31 | public StoryNode getComponent() {
32 | return (StoryNode) super.getComponent();
33 | }
34 |
35 | @Override
36 | public String getName() {
37 | return this.getNameOf(this.getComponent());
38 | }
39 |
40 | @Override
41 | public String getValue() {
42 | return this.getName();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/task/CollaborativeTaskContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.task;
2 |
3 | import scriptease.model.complex.behaviours.CollaborativeTask;
4 | import scriptease.model.complex.behaviours.IndependentTask;
5 | import scriptease.translator.codegenerator.code.contexts.Context;
6 |
7 | public class CollaborativeTaskContext extends TaskContext {
8 |
9 | public CollaborativeTaskContext(Context other, CollaborativeTask task) {
10 | super(other, task);
11 | }
12 |
13 | @Override
14 | public IndependentTask getComponent() {
15 | return (IndependentTask) super.getComponent();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/contexts/storycomponent/complexstorycomponent/task/IndependentTaskContext.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.contexts.storycomponent.complexstorycomponent.task;
2 |
3 | import scriptease.model.complex.behaviours.IndependentTask;
4 | import scriptease.translator.codegenerator.code.contexts.Context;
5 |
6 | public class IndependentTaskContext extends TaskContext {
7 |
8 | public IndependentTaskContext(Context other, IndependentTask source) {
9 | super(other, source);
10 | }
11 |
12 | @Override
13 | public IndependentTask getComponent() {
14 | return (IndependentTask) super.getComponent();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/fragments/LiteralFragment.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.fragments;
2 |
3 | import scriptease.controller.FragmentVisitor;
4 | import scriptease.translator.codegenerator.code.contexts.Context;
5 |
6 | /**
7 | * Represents a code location where a text string is to be inserted verbatim
8 | * from the format dictionary.
9 | *
10 | * @author remiller
11 | */
12 | public class LiteralFragment extends AbstractFragment {
13 | /**
14 | * See:
15 | * {@link AbstractFragment#FormatFragment(String, CharacterRange, char[])}
16 | *
17 | * @param text
18 | * The specific literal.
19 | */
20 | public LiteralFragment(String text) {
21 | super(text);
22 | }
23 |
24 | /**
25 | * Gets the literal text. The context is unimportant and can be
26 | * null
.
27 | */
28 | @Override
29 | public String resolve(Context context) {
30 | return this.getDirectiveText();
31 | }
32 |
33 | @Override
34 | public String toString() {
35 | return "\"" + this.getDirectiveText() + "\"";
36 | }
37 |
38 | @Override
39 | public boolean equals(Object obj) {
40 | if (obj instanceof LiteralFragment)
41 | return this.hashCode() == obj.hashCode();
42 | return false;
43 | }
44 |
45 | @Override
46 | public void process(FragmentVisitor visitor) {
47 | visitor.processLiteralFragment(this);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/codegenerator/code/fragments/container/FormatDefinitionFragment.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.codegenerator.code.fragments.container;
2 |
3 | import java.util.List;
4 |
5 | import scriptease.controller.FragmentVisitor;
6 | import scriptease.translator.codegenerator.code.fragments.AbstractFragment;
7 |
8 | /**
9 | * FormatFragment used to store a format in the Language Dictionary. Basic
10 | * implementation of {@link AbstractContainerFragment}.
11 | *
12 | * @author mfchurch
13 | */
14 | public class FormatDefinitionFragment extends AbstractContainerFragment {
15 |
16 | public FormatDefinitionFragment(String text, List children) {
17 | super(text, children);
18 | }
19 |
20 | @Override
21 | public String toString() {
22 | return "FormatIDFragment [" + this.getDirectiveText()
23 | + this.subFragments.toString() + "]";
24 | }
25 |
26 | @Override
27 | public boolean equals(Object obj) {
28 | if (obj instanceof FormatDefinitionFragment) {
29 | return this.hashCode() == obj.hashCode();
30 | }
31 | return false;
32 | }
33 |
34 | @Override
35 | public void process(FragmentVisitor visitor) {
36 | visitor.processFormatDefinitionFragment(this);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/translator/io/tools/FileReader.java:
--------------------------------------------------------------------------------
1 | package scriptease.translator.io.tools;
2 |
3 | import java.io.IOException;
4 | import java.io.RandomAccessFile;
5 |
6 |
7 | public class FileReader {
8 | private static boolean useBigEndian = true;
9 |
10 | public static String readString(RandomAccessFile moduleSource, int numOfChars) {
11 | return new String(FileReader.readBytes(moduleSource, numOfChars));
12 | }
13 |
14 | public static int readIntLSB(RandomAccessFile moduleSource) {
15 | byte[] bytes = FileReader.readBytes(moduleSource, 4);
16 | return BitwiseConverter.byteArrToInt(BitwiseConverter.reverseEndian(bytes, 4));
17 | }
18 |
19 | public static byte[] readBytes(RandomAccessFile moduleSource, int numBytes){
20 | byte[] bytes = new byte[numBytes];
21 | try {
22 | moduleSource.read(bytes);
23 | } catch (IOException e) {
24 | e.printStackTrace();
25 | }
26 | if( FileReader.useBigEndian ){
27 | bytes = BitwiseConverter.reverseEndian(bytes, 4);
28 | }
29 | return bytes;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/scriptease2/scriptease/util/ImageOp.java:
--------------------------------------------------------------------------------
1 | package scriptease.util;
2 |
3 | import java.awt.Graphics2D;
4 | import java.awt.image.BufferedImage;
5 | import java.util.Collection;
6 |
7 | import javax.swing.JComponent;
8 |
9 | //General imageop class, anything that deals with graphics and has no where else where to go
10 | //goes here, all methods should be static
11 |
12 | public class ImageOp {
13 |
14 | // Take a Jcomponent and converts it into an image
15 | public static BufferedImage componentToImage(JComponent component) {
16 | BufferedImage image = new BufferedImage(component.getWidth(),
17 | component.getHeight(), BufferedImage.TYPE_INT_ARGB);
18 |
19 | Graphics2D g = image.createGraphics();
20 | component.paint(g);
21 |
22 | return image;
23 | }
24 |
25 | // Merges a collection of images into a single image
26 | public static BufferedImage mergeImages(
27 | Collection imagesToMerge) {
28 | BufferedImage image;
29 | int pixelBuffer = 3;
30 | int maxWidth = 0;
31 | int sigmaHeight = 0;
32 | int tempNW = 0;
33 |
34 | for (BufferedImage img : imagesToMerge) {
35 | tempNW = img.getWidth();
36 | if (tempNW > maxWidth)
37 | maxWidth = tempNW;
38 |
39 | sigmaHeight += img.getHeight();
40 | }
41 |
42 | image = new BufferedImage(maxWidth, sigmaHeight + imagesToMerge.size()
43 | * pixelBuffer, BufferedImage.TYPE_INT_ARGB);
44 |
45 | int deltaY = 0;
46 | for (BufferedImage img : imagesToMerge) {
47 | image.createGraphics().drawImage(img, 0, deltaY, null);
48 | deltaY += img.getHeight() + pixelBuffer;
49 | }
50 |
51 | return image;
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/translators_src/botstory/.settings/org.eclipse.cdt.managedbuilder.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/CPATH/delimiter=;
3 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/CPATH/operation=remove
4 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/CPLUS_INCLUDE_PATH/delimiter=;
5 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/CPLUS_INCLUDE_PATH/operation=remove
6 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/C_INCLUDE_PATH/delimiter=;
7 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/C_INCLUDE_PATH/operation=remove
8 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/append=true
9 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/appendContributed=true
10 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/LIBRARY_PATH/delimiter=;
11 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/LIBRARY_PATH/operation=remove
12 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/append=true
13 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1403449573/appendContributed=true
14 |
--------------------------------------------------------------------------------
/translators_src/botstory/Debug/botstory.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/botstory/Debug/botstory.exe
--------------------------------------------------------------------------------
/translators_src/botstory/Debug/src/HEBStory.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/botstory/Debug/src/HEBStory.o
--------------------------------------------------------------------------------
/translators_src/botstory/Debug/src/main.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/botstory/Debug/src/main.o
--------------------------------------------------------------------------------
/translators_src/botstory/src/HEBStory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * HEBStory.h
3 | *
4 | * Created on: May 5, 2015
5 | * Author: ehill
6 | */
7 |
8 | #ifndef HEBSTORY_H_
9 | #define HEBSTORY_H_
10 |
11 | #include
12 | #include
13 |
14 | using namespace std;
15 |
16 | class StoryPoint {
17 |
18 | public:
19 |
20 | enum State {PRESUCCEEDED, SUCCEEDED, FAILED, ENABLED, DISABLED};
21 |
22 |
23 | list children;
24 | list parent;
25 | int fanIn;
26 | string uniqueName;
27 | State state;
28 |
29 | StoryPoint(); // Default constructor
30 | StoryPoint(string uniqueName, int fanIn); // Constructor
31 |
32 | static bool CheckSucceeded(string storyPoint);
33 | static bool CheckEnabled(string storyPoint);
34 | static bool CheckFailed(string storyPoint);
35 | static void CheckState(string uniqueName);
36 |
37 | void AddChild(StoryPoint * child);
38 | void DisableDescendants();
39 | void ContinueAt();
40 | bool Exists();
41 |
42 | list GetDescendants();
43 | static list GetAllActive();
44 | static StoryPoint * FindStoryPoint(string uniqueName);
45 |
46 | void EnableStoryPoint();
47 | static void SucceedStoryPoint(string uniqueName);
48 | static void FailStoryPoint(string uniqueName);
49 | static void ContinueAtStoryPoint(string uniqueName);
50 | static void DisableStoryPoint(string uniqueName);
51 | static void RegisterRoot(string uniqueName, int fanIn);
52 | static void RegisterChild(string parentName, string uniqueName, int fanIn);
53 |
54 | };
55 |
56 | extern StoryPoint root;
57 | extern list storyTree;
58 | extern bool storyInitialized;
59 |
60 | #endif /* HEBSTORY_H_ */
61 |
--------------------------------------------------------------------------------
/translators_src/hackebot/Examples/README.txt:
--------------------------------------------------------------------------------
1 | *******************************************
2 | * Hack-E-Bot Examples *
3 | *******************************************
4 |
5 | This is the mod file for our Hack-E-Bot
6 | examples. We don't save anything to this file
7 | currently.
8 |
9 | Square: Moves in a square pattern and turns
10 | randomly when it discovers an obstacle
11 |
12 | Triangle: Moves in a triangle pattern
13 |
14 | Dance: Moves forward, back and does a spin.
15 | Also shows an example of adjusting one of the
16 | wheels so it will move at the same speed as the
17 | other wheel. This may need to be removed or
18 | changed for your own robot
19 |
20 | If the various .ses files have difficulty finding
21 | the mod file, open up the .ses file in a text
22 | editor and change the following XML:
23 |
24 | C:\Users\scriptease\Desktop\HackEBot
25 |
26 | To the folder that you put this mod file in.
--------------------------------------------------------------------------------
/translators_src/hackebot/io/HackEBotResource.java:
--------------------------------------------------------------------------------
1 | package io;
2 |
3 | import java.util.Arrays;
4 | import java.util.Collection;
5 |
6 | import scriptease.translator.io.model.Resource;
7 |
8 | /**
9 | * Hack-E-Bot game object. Eedit
10 | *
11 | * @author ehill
12 | */
13 | public class HackEBotResource extends Resource {
14 | private final String id;
15 | private final Collection types;
16 | private final String name;
17 | private final String tag;
18 |
19 | public HackEBotResource(String id, String type, String name, String tag) {
20 | this.id = id;
21 | this.types = Arrays.asList(type);
22 | this.name = name;
23 | this.tag = tag;
24 | }
25 |
26 | /**
27 | * Returns the ID of the Hack-E-Bot object.
28 | */
29 | @Override
30 | public String getTemplateID() {
31 | return this.id;
32 | }
33 |
34 | @Override
35 | public Collection getTypes() {
36 | return this.types;
37 | }
38 |
39 | public String getName() {
40 | if (this.name == null || this.name.isEmpty())
41 | return this.id + "*";
42 | return this.name;
43 | }
44 |
45 |
46 | @Override
47 | public String getTag() {
48 | return this.tag;
49 | }
50 |
51 | @Override
52 | public int hashCode() {
53 | return this.name.hashCode() + this.id.hashCode()
54 | + this.tag.hashCode() + this.types.hashCode();
55 | }
56 |
57 | @Override
58 | public boolean equals(Object obj) {
59 | return obj instanceof HackEBotResource
60 | && this.hashCode() == obj.hashCode();
61 | }
62 |
63 | @Override
64 | public String toString(){
65 | return this.id;
66 | }
67 |
68 | @Override
69 | public String getCodeText() {
70 | return this.getTag();
71 | }
72 |
73 | }
--------------------------------------------------------------------------------
/translators_src/hackebot/resources/HackEBot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/hackebot/resources/HackEBot.png
--------------------------------------------------------------------------------
/translators_src/hackebot/resources/includes/.HEBStory.cpp.swp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/hackebot/resources/includes/.HEBStory.cpp.swp
--------------------------------------------------------------------------------
/translators_src/hackebot/resources/includes/HEBStory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * HEBStory.h
3 | *
4 | * Created on: May 5, 2015
5 | * Author: ehill
6 | */
7 |
8 | #ifndef HEBSTORY_H_
9 | #define HEBSTORY_H_
10 |
11 | #include
12 | #include
13 |
14 | using namespace std;
15 |
16 | class StoryPoint {
17 |
18 | public:
19 |
20 | enum State {PRESUCCEEDED, SUCCEEDED, FAILED, ENABLED, DISABLED};
21 |
22 |
23 | list children;
24 | list parent;
25 | int fanIn;
26 | string uniqueName;
27 | State state;
28 |
29 | StoryPoint(); // Default constructor
30 | StoryPoint(string uniqueName, int fanIn); // Constructor
31 |
32 | static bool CheckSucceeded(string storyPoint);
33 | static bool CheckEnabled(string storyPoint);
34 | static bool CheckFailed(string storyPoint);
35 | static void CheckState(string uniqueName);
36 |
37 | void AddChild(StoryPoint * child);
38 | void DisableDescendants();
39 | void ContinueAt();
40 | bool Exists();
41 |
42 | list GetDescendants();
43 | static list GetAllActive();
44 | static StoryPoint * FindStoryPoint(string uniqueName);
45 |
46 | void EnableStoryPoint();
47 | static void SucceedStoryPoint(string uniqueName);
48 | static void FailStoryPoint(string uniqueName);
49 | static void ContinueAtStoryPoint(string uniqueName);
50 | static void DisableStoryPoint(string uniqueName);
51 | static void RegisterRoot(string uniqueName, int fanIn);
52 | static void RegisterChild(string parentName, string uniqueName, int fanIn);
53 |
54 | };
55 |
56 | extern StoryPoint root;
57 | extern list storyTree;
58 | extern bool storyInitialized;
59 |
60 | #endif /* HEBSTORY_H_ */
61 |
--------------------------------------------------------------------------------
/translators_src/hackebot/resources/includes/HackEBot_Move.h:
--------------------------------------------------------------------------------
1 | // This will allow the easy control of the two servos for the Hack-E-Bot.
2 | //
3 | // Written by Richard Albritton for Hack-E-Bot Robotics, BSD license
4 |
5 | #if ARDUINO >= 100
6 | #include "Arduino.h"
7 | #else
8 | #include "WProgram.h"
9 | #endif
10 |
11 | extern Servo RightS;
12 | extern Servo LeftS;
13 |
14 | /**
15 | * Added AdjustRight and AdjustRight methods - ehill
16 | */
17 |
18 | class HackEBot_Move {
19 | public:
20 | HackEBot_Move(int L, int R);
21 | //long ServoSetup(int D, int F, int G, int H, int J, int K); //-- used to manually set the servo limits
22 | //void Calibrate(); //-- to Calibrate the servos
23 | void AdjustRight(int r);
24 | void AdjustLeft(int l);
25 | void MoveStop(int S); //-- to stop, S = repeat number.
26 | void MoveF(int S, int Z); //-- to drive forward, S = Speed, Z = Time.
27 | void MoveB(int S, int Z); //-- to drive backward, S = Speed, Z = Time.
28 | void TurnR(int S, int Z); //-- to turn right, S = Speed, Z = Time.
29 | void TurnL(int S, int Z); //-- to turn left, S = Speed, Z = Time.
30 |
31 | private:
32 | int left;
33 | int right;
34 | int servoL;
35 | int servoR;
36 | int CenterL;
37 | int CenterR;
38 |
39 |
40 | };
41 |
--------------------------------------------------------------------------------
/translators_src/hackebot/resources/includes/HackEBot_Sonar.h:
--------------------------------------------------------------------------------
1 | // This will allow the easy get feedback from the Sonar sensor for the Hack-E-Bot.
2 | //
3 | // Written by Richard Albritton for Hack-E-Bot Robotics, BSD license
4 |
5 | #if ARDUINO >= 100
6 | #include "Arduino.h"
7 | #else
8 | #include "WProgram.h"
9 | #endif
10 |
11 | class HackEBot_Sonar {
12 | public:
13 | HackEBot_Sonar(int T, int E);
14 | boolean Ping(int D); //-- to send a sonar ping, D = how far away an object has to be before ping returns TRUE.
15 | long microsecondsToCentimeters(long M); //-- figures out how far a returned ping has travelled in CM, M = microseconds
16 | private:
17 | int sonarTrig;
18 | int sonarEcho;
19 | int Distance;
20 | int duration;
21 | int cm;
22 | };
23 |
--------------------------------------------------------------------------------
/translators_src/hackebot/translator.ini:
--------------------------------------------------------------------------------
1 | # ==========================================================
2 | # Hack-E-Bot Translator Definition
3 | # As with all translator definition files, all incomplete
4 | # paths are relative to the directory the definition file is in.
5 | # ==========================================================
6 |
7 | #Translator Preferences File
8 | #Thurs Nov 06 09:56:16 MDT 2014
9 | NAME=Hack-E-Bot
10 | GAME_DIRECTORY=C:/Arduino
11 | SUPPORTS_TESTING=true
12 | API_DICTIONARY_PATH=resources/apidictionary.xml
13 | COMPILER_PATH=false
14 | LANGUAGE_DICTIONARY_PATH=resources/languageDictionary.xml
15 | #TUTORIALS_PATH=resources/Tutorials
16 | VERSION=2.8
17 | # --- Optional Data: ---
18 | OPTIONAL_LIBRARIES_PATH=resources/libraries
19 | GAME_MODULE_PATH=io/HackEBotFile.class
20 | LANGUAGE_DICTIONARY_PATH=resources/languageDictionary.xml
21 | ICON_PATH=resources/HackEBot.png
22 | SUPPORTED_FILE_EXTENSIONS=txt
23 | ARDUINO_DOCS_PATH=C:/Users/scriptease/Documents/Arduino/Sketchbook
24 |
25 |
26 |
--------------------------------------------------------------------------------
/translators_src/nwn/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=1.6
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.source=1.6
12 |
--------------------------------------------------------------------------------
/translators_src/nwn/io/NWNGameConstant.java:
--------------------------------------------------------------------------------
1 | package io;
2 |
3 | import java.util.Arrays;
4 | import java.util.Collection;
5 |
6 | import scriptease.translator.io.model.Resource;
7 |
8 | /**
9 | * Superclass for all for the NWN implementations of the GameConstant hierarchy.
10 | *
11 | * @author remiller
12 | */
13 | public abstract class NWNGameConstant extends Resource {
14 | private final String resRef;
15 | private final Collection types;
16 | private final String name;
17 | private final String tag;
18 |
19 | public NWNGameConstant(String resRef, String type, String name, String tag) {
20 | this.resRef = resRef;
21 | this.types = Arrays.asList(type);
22 | this.name = name;
23 | this.tag = tag;
24 | }
25 |
26 | /**
27 | * Returns the ResRef of the NWNObject.
28 | */
29 | @Override
30 | public String getTemplateID() {
31 | return this.resRef;
32 | }
33 |
34 | @Override
35 | public Collection getTypes() {
36 | return this.types;
37 | }
38 |
39 | public String getName() {
40 | if (this.name == null || this.name.isEmpty())
41 | return this.resRef + "*";
42 | return this.name;
43 | }
44 |
45 | @Override
46 | public String getTag() {
47 | return this.tag;
48 | }
49 |
50 | @Override
51 | public int hashCode() {
52 | return this.name.hashCode() + this.resRef.hashCode()
53 | + this.tag.hashCode() + this.types.hashCode();
54 | }
55 |
56 | @Override
57 | public boolean equals(Object obj) {
58 | return obj instanceof NWNGameConstant
59 | && this.hashCode() == obj.hashCode();
60 | }
61 |
62 | @Override
63 | public abstract String toString();
64 |
65 | }
--------------------------------------------------------------------------------
/translators_src/nwn/io/NWNObject.java:
--------------------------------------------------------------------------------
1 | package io;
2 |
3 | import scriptease.translator.io.model.Resource;
4 |
5 | /**
6 | * Neverwinter Nights implementation of {@link Resource}.
7 | *
8 | * @author remiller
9 | */
10 | public final class NWNObject extends NWNGameConstant {
11 | public NWNObject(String resRef, String type, String name, String tag) {
12 | super(resRef, type, name, tag);
13 | }
14 |
15 | @Override
16 | public String getCodeText() {
17 | return "SE_AUX_GetNearestObjectByTagIncludeSelf(\"" + this.getTag()
18 | + "\")";
19 | }
20 |
21 | @Override
22 | public String toString() {
23 | return this.getTemplateID();
24 | }
25 |
26 | @Override
27 | public boolean equals(Object obj) {
28 | if (obj instanceof NWNObject)
29 | return this.hashCode() == obj.hashCode();
30 |
31 | return false;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/translators_src/nwn/resources/NWNIcon_Small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UA-ScriptEase/scriptease/03b8d10f87b4cb070a0d61e1bcebc927332fa45b/translators_src/nwn/resources/NWNIcon_Small.gif
--------------------------------------------------------------------------------
/translators_src/nwn/translator.ini:
--------------------------------------------------------------------------------
1 | # ==========================================================
2 | # Neverwinter Nights Translator Definition
3 | # As with all translator definition files, all incomplete
4 | # paths are relative to the directory the definition file is in.
5 | # ==========================================================
6 |
7 | #Translator Preferences File
8 | #Tue Aug 06 13:09:56 MDT 2013
9 | NAME=Neverwinter Nights
10 | GAME_DIRECTORY=C:/NeverwinterNights/NWN/Neverwinter Nights Diamond Edition
11 | SUPPORTS_TESTING=true
12 | API_DICTIONARY_PATH=resources/apidictionary.xml
13 | COMPILER_PATH=C:/NeverwinterNights/NWN/utils/clcompile.exe
14 | LANGUAGE_DICTIONARY_PATH=resources/languageDictionary.xml
15 | TUTORIALS_PATH=resources/Tutorials
16 | VERSION=2.8
17 | # --- Optional Data: ---
18 | OPTIONAL_LIBRARIES_PATH=resources/libraries
19 | GAME_MODULE_PATH=io/ErfFile.class
20 | LANGUAGE_DICTIONARY_PATH=resources/languageDictionary.xml
21 | ICON_PATH=resources/NWNIcon_Small.gif
22 | SUPPORTED_FILE_EXTENSIONS=mod
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/translators_src/pinball/Includes/ball.global:
--------------------------------------------------------------------------------
1 | int ballsInPlay = 0;
2 | int remainingBalls = 0;
3 |
--------------------------------------------------------------------------------
/translators_src/pinball/Includes/display.global:
--------------------------------------------------------------------------------
1 | std::string display_TopLeft = "";
2 | std::string display_TopRight = "";
3 | std::string display_BottomLeft = "";
4 | std::string display_BottomRight = "";
--------------------------------------------------------------------------------
/translators_src/pinball/Includes/game.global:
--------------------------------------------------------------------------------
1 | /**
2 | ** Game.Global defines GameMap used to dynamically allocate memory
3 | ** for game objects and whether or not the game has been started
4 | ** @author mfchurch
5 | **/
6 | #ifndef GAMEGLOBAL
7 | #define GAMEGLOBAL
8 | #include
9 | #include