├── .classpath ├── .gitattributes ├── .github └── workflows │ ├── ant.yml │ └── deploy.yml ├── .gitignore ├── .project ├── LICENSE.txt ├── NearInfinity.iml ├── README.md ├── build.xml ├── lib ├── apng-writer │ ├── LICENSE │ ├── apng-writer-core-src.zip │ └── apng-writer-core.jar ├── commonmark │ ├── LICENSE.txt │ ├── commonmark-0.21.0.jar │ └── commonmark-java-commonmark-parent-0.21.0.zip ├── flatlaf │ ├── LICENSE │ ├── flatlaf-3.4-javadoc.jar │ ├── flatlaf-3.4-sources.jar │ ├── flatlaf-3.4.jar │ ├── flatlaf-intellij-themes-3.4-javadoc.jar │ ├── flatlaf-intellij-themes-3.4-sources.jar │ └── flatlaf-intellij-themes-3.4.jar ├── javacc │ ├── LICENSE │ └── javacc.jar ├── jhexview │ ├── gpl.txt │ ├── jhexview.jar │ └── readme.txt ├── jorbis │ ├── COPYING.LIB │ ├── ChangeLog │ ├── README │ ├── jorbis-0.0.17.zip │ └── jorbis.jar ├── json │ ├── JSON-java-20230227.zip │ └── json-20230227.jar ├── montemedia │ ├── MonteMedia-0.7.7.zip │ ├── MonteMedia.License │ └── montemedia.jar ├── rsyntaxtextarea │ ├── RSyntaxTextArea.License.txt │ ├── readme.txt │ ├── rsyntaxtextarea-3.5.4-sources.jar │ └── rsyntaxtextarea.jar └── tinylog │ ├── license.txt │ ├── readme.txt │ ├── tinylog-api-2.7.0-sources.jar │ ├── tinylog-api-2.7.0.jar │ ├── tinylog-impl-2.7.0-sources.jar │ └── tinylog-impl-2.7.0.jar └── src ├── nearinfinity.properties ├── org └── infinity │ ├── AppOption.java │ ├── FlatLaf.License.txt │ ├── JFontChooser.License.txt │ ├── JHexView.License.txt │ ├── JOrbis.License.txt │ ├── LICENSE.txt │ ├── MonteMedia.License.txt │ ├── NearInfinity.java │ ├── Oracle.License.txt │ ├── RSyntaxTextArea.License.txt │ ├── apng-writer.License.txt │ ├── check │ ├── AbstractChecker.java │ ├── BCSIDSChecker.java │ ├── CreInvChecker.java │ ├── DialogChecker.java │ ├── EffectValidationChecker.java │ ├── EffectsIndexChecker.java │ ├── IDSRefChecker.java │ ├── ResRefChecker.java │ ├── ResourceUseChecker.java │ ├── ScriptChecker.java │ ├── StringDuplicatesChecker.java │ ├── StringSoundsChecker.java │ ├── StringUseChecker.java │ ├── StringValidationChecker.java │ ├── StrrefIndexChecker.java │ └── StructChecker.java │ ├── commonmark.License.txt │ ├── datatype │ ├── AbstractBitmap.java │ ├── AnimateBitmap.java │ ├── AreResourceRef.java │ ├── Bestiary.java │ ├── Bitmap.java │ ├── ColorPicker.java │ ├── ColorValue.java │ ├── Datatype.java │ ├── DecNumber.java │ ├── Editable.java │ ├── EffectBitmap.java │ ├── EffectType.java │ ├── Flag.java │ ├── FloatNumber.java │ ├── HashBitmap.java │ ├── HexNumber.java │ ├── IdsBitmap.java │ ├── IdsFlag.java │ ├── IdsTargetType.java │ ├── InlineEditable.java │ ├── IsBinary.java │ ├── IsNumeric.java │ ├── IsReference.java │ ├── IsTextual.java │ ├── ItemTypeBitmap.java │ ├── IwdRef.java │ ├── KitIdsBitmap.java │ ├── MultiNumber.java │ ├── PriTypeBitmap.java │ ├── ProRef.java │ ├── Readable.java │ ├── RemovableDecNumber.java │ ├── ResourceBitmap.java │ ├── ResourceRef.java │ ├── SecTypeBitmap.java │ ├── SectionCount.java │ ├── SectionOffset.java │ ├── Song2daBitmap.java │ ├── SpawnResourceRef.java │ ├── SpellProtType.java │ ├── StringRef.java │ ├── Summon2daBitmap.java │ ├── TableBitmap.java │ ├── TextBitmap.java │ ├── TextEdit.java │ ├── TextString.java │ ├── Unknown.java │ ├── UnknownBinary.java │ ├── UnknownDecimal.java │ ├── UnsignDecNumber.java │ ├── UnsignHexNumber.java │ ├── UpdateEvent.java │ ├── UpdateListener.java │ └── WmpLinkBitmap.java │ ├── exceptions │ ├── AbortException.java │ ├── ResourceException.java │ └── ResourceNotFoundException.java │ ├── gui │ ├── BIFFEditor.java │ ├── BIFFEditorTable.java │ ├── BcsDropFrame.java │ ├── BookmarkEditor.java │ ├── ButtonPanel.java │ ├── ButtonPopupMenu.java │ ├── ButtonPopupWindow.java │ ├── Center.java │ ├── ChildFrame.java │ ├── ChooseBIFFrame.java │ ├── ClipboardViewer.java │ ├── ColorGrid.java │ ├── DataCheckBoxMenuItem.java │ ├── DataMenuItem.java │ ├── DataRadioButtonMenuItem.java │ ├── DebugConsole.java │ ├── FixedFocusTraversalPolicy.java │ ├── FontChooser.java │ ├── GameProperties.java │ ├── IdsBrowser.java │ ├── InfinityAmpPlus.java │ ├── InfinityScrollPane.java │ ├── InfinityTextArea.java │ ├── ItemCategoryOrderDialog.java │ ├── LinkButton.java │ ├── MassExporter.java │ ├── NewAbstractSettings.java │ ├── NewChrSettings.java │ ├── NewProSettings.java │ ├── NewResSettings.java │ ├── OpenFileFrame.java │ ├── OpenResourceDialog.java │ ├── PopupWindowEvent.java │ ├── PopupWindowListener.java │ ├── PreferencesDialog.java │ ├── QuickSearch.java │ ├── RenderCanvas.java │ ├── ResourceChooser.java │ ├── ResourceTree.java │ ├── ScriptTextArea.java │ ├── ScrollPopupMenu.java │ ├── SortableTable.java │ ├── SoundPanel.java │ ├── SplProtFrame.java │ ├── SpriteAnimationPanel.java │ ├── StandardDialogs.java │ ├── StatusBar.java │ ├── StopWatchTester.java │ ├── StringEditor.java │ ├── StringLookup.java │ ├── StructCellEditor.java │ ├── StructViewer.java │ ├── TableItem.java │ ├── TextListPanel.java │ ├── TileGrid.java │ ├── ToolTipTableCellRenderer.java │ ├── UrlBrowser.java │ ├── ViewFrame.java │ ├── ViewerUtil.java │ ├── WideComboBox.java │ ├── WindowBlocker.java │ ├── WrapLayout.java │ ├── converter │ │ ├── BamFilterBase.java │ │ ├── BamFilterBaseColor.java │ │ ├── BamFilterBaseOutput.java │ │ ├── BamFilterBaseTransform.java │ │ ├── BamFilterColorBCG.java │ │ ├── BamFilterColorBalance.java │ │ ├── BamFilterColorHSL.java │ │ ├── BamFilterColorInvert.java │ │ ├── BamFilterColorLab.java │ │ ├── BamFilterColorReplace.java │ │ ├── BamFilterColorSwap.java │ │ ├── BamFilterFactory.java │ │ ├── BamFilterOutputCombine.java │ │ ├── BamFilterOutputDefault.java │ │ ├── BamFilterOutputGif.java │ │ ├── BamFilterOutputImage.java │ │ ├── BamFilterOutputOverlay.java │ │ ├── BamFilterOutputSplitted.java │ │ ├── BamFilterTransformCenter.java │ │ ├── BamFilterTransformMirror.java │ │ ├── BamFilterTransformResize.java │ │ ├── BamFilterTransformRotate.java │ │ ├── BamFilterTransformTrim.java │ │ ├── BamOptionsDialog.java │ │ ├── BamPaletteDialog.java │ │ ├── ConvertToBam.java │ │ ├── ConvertToBmp.java │ │ ├── ConvertToMos.java │ │ ├── ConvertToPvrz.java │ │ └── ConvertToTis.java │ ├── hexview │ │ ├── BasicColorMap.java │ │ ├── FindDataDialog.java │ │ ├── GenericHexViewer.java │ │ ├── MenuCreator.java │ │ ├── ResourceDataProvider.java │ │ ├── ResourceMenuCreator.java │ │ ├── StructHexViewer.java │ │ ├── StructuredDataProvider.java │ │ └── VariableDataProvider.java │ ├── layeritem │ │ ├── AbstractLayerItem.java │ │ ├── AnimatedLayerItem.java │ │ ├── BasicAnimationProvider.java │ │ ├── IconLayerItem.java │ │ ├── LayerItemEvent.java │ │ ├── LayerItemListener.java │ │ └── ShapedLayerItem.java │ ├── menu │ │ ├── Bookmark.java │ │ ├── BrowserMenuBar.java │ │ ├── BrowserSubMenu.java │ │ ├── EditMenu.java │ │ ├── FileMenu.java │ │ ├── GameMenu.java │ │ ├── HelpMenu.java │ │ ├── LogLevel.java │ │ ├── OptionsMenuItem.java │ │ ├── OverrideMode.java │ │ ├── RecentGame.java │ │ ├── ResRefMode.java │ │ ├── SearchMenu.java │ │ ├── ToolsMenu.java │ │ └── ViewMode.java │ └── options │ │ ├── OptionBase.java │ │ ├── OptionCategory.java │ │ ├── OptionCheckBox.java │ │ ├── OptionContainerBase.java │ │ ├── OptionElementBase.java │ │ ├── OptionGroup.java │ │ ├── OptionGroupBox.java │ │ └── OptionPathBox.java │ ├── icon │ ├── About16.gif │ ├── Add16.gif │ ├── App128.png │ ├── App16.png │ ├── App256.png │ ├── App32.png │ ├── App512.png │ ├── App64.png │ ├── Application16.gif │ ├── ArrowDown15.gif │ ├── ArrowUp15.gif │ ├── Back16.gif │ ├── BlueCircle16.gif │ ├── BlueCircle20.gif │ ├── Bundle16.gif │ ├── Check16.gif │ ├── Check_Not16.gif │ ├── Circle20.gif │ ├── Collapse16.png │ ├── CollapseAll24.png │ ├── Color16.gif │ ├── Copy16.gif │ ├── CreViewer24.png │ ├── Cut16.gif │ ├── Delete16.gif │ ├── Down16.gif │ ├── Edit16.gif │ ├── End16.gif │ ├── Error16.png │ ├── Exit16.gif │ ├── Expand16.png │ ├── ExpandAll24.png │ ├── Export16.gif │ ├── Filter16.png │ ├── Find16.gif │ ├── FindAgain16.gif │ ├── First16.gif │ ├── Forward16.gif │ ├── Goto24.gif │ ├── GreenCircle16.gif │ ├── Help16.gif │ ├── History16.gif │ ├── Icons.java │ ├── Import16.gif │ ├── Information16.png │ ├── Last16.gif │ ├── LaunchRed24.png │ ├── LaunchRedPlus24.png │ ├── Magnify16.png │ ├── Movie16.gif │ ├── Music16.png │ ├── New16.gif │ ├── Open16.gif │ ├── Paste16.gif │ ├── Pause16.gif │ ├── Play16.gif │ ├── Print16.gif │ ├── Properties16.gif │ ├── Redo16.gif │ ├── Refresh16.gif │ ├── Release16.gif │ ├── Remove16.gif │ ├── RowInsertAfter16.gif │ ├── Save16.gif │ ├── SelectInTree16.png │ ├── StepBack16.gif │ ├── StepForward16.gif │ ├── Stop16.gif │ ├── Stop24.gif │ ├── Undo16.gif │ ├── Up16.gif │ ├── Volume16.gif │ ├── Warning16.png │ ├── YellowCircle16.gif │ ├── YellowCircle20.gif │ └── Zoom16.gif │ ├── resource │ ├── AbstractAbility.java │ ├── AbstractStruct.java │ ├── AbstractVariable.java │ ├── AddRemovable.java │ ├── Closeable.java │ ├── Effect.java │ ├── Effect2.java │ ├── HasChildStructs.java │ ├── HasViewerTabs.java │ ├── Profile.java │ ├── Referenceable.java │ ├── Resource.java │ ├── ResourceFactory.java │ ├── StructEntry.java │ ├── StructureFactory.java │ ├── TextResource.java │ ├── Viewable.java │ ├── ViewableContainer.java │ ├── Writeable.java │ ├── are │ │ ├── Actor.java │ │ ├── Ambient.java │ │ ├── Animation.java │ │ ├── AreResource.java │ │ ├── AutomapNote.java │ │ ├── AutomapNotePST.java │ │ ├── Container.java │ │ ├── Door.java │ │ ├── Entrance.java │ │ ├── Explored.java │ │ ├── HasVertices.java │ │ ├── ITEPoint.java │ │ ├── Item.java │ │ ├── ProEffect.java │ │ ├── ProTrap.java │ │ ├── RestSpawn.java │ │ ├── Song.java │ │ ├── SpawnPoint.java │ │ ├── TiledObject.java │ │ ├── Variable.java │ │ ├── Viewer.java │ │ ├── ViewerActor.java │ │ ├── ViewerContainer.java │ │ └── viewer │ │ │ ├── AbstractAnimationProvider.java │ │ │ ├── ActorAnimationProvider.java │ │ │ ├── AreaViewer.java │ │ │ ├── BackgroundAnimationProvider.java │ │ │ ├── BasicCompositeLayer.java │ │ │ ├── BasicLayer.java │ │ │ ├── BasicResource.java │ │ │ ├── LayerActor.java │ │ │ ├── LayerAmbient.java │ │ │ ├── LayerAnimation.java │ │ │ ├── LayerAutomap.java │ │ │ ├── LayerContainer.java │ │ │ ├── LayerDoor.java │ │ │ ├── LayerDoorCells.java │ │ │ ├── LayerDoorPoly.java │ │ │ ├── LayerEntrance.java │ │ │ ├── LayerManager.java │ │ │ ├── LayerObject.java │ │ │ ├── LayerObjectActor.java │ │ │ ├── LayerObjectAmbient.java │ │ │ ├── LayerObjectAnimation.java │ │ │ ├── LayerObjectAreActor.java │ │ │ ├── LayerObjectAutomap.java │ │ │ ├── LayerObjectAutomapPST.java │ │ │ ├── LayerObjectAutomapPSTIni.java │ │ │ ├── LayerObjectContainer.java │ │ │ ├── LayerObjectDoor.java │ │ │ ├── LayerObjectDoorCells.java │ │ │ ├── LayerObjectDoorPoly.java │ │ │ ├── LayerObjectEntrance.java │ │ │ ├── LayerObjectGlobalActor.java │ │ │ ├── LayerObjectIniActor.java │ │ │ ├── LayerObjectProTrap.java │ │ │ ├── LayerObjectRegion.java │ │ │ ├── LayerObjectSpawnPoint.java │ │ │ ├── LayerObjectTransition.java │ │ │ ├── LayerObjectWallPoly.java │ │ │ ├── LayerProTrap.java │ │ │ ├── LayerRegion.java │ │ │ ├── LayerSpawnPoint.java │ │ │ ├── LayerTransition.java │ │ │ ├── LayerWallPoly.java │ │ │ ├── ResourceAnimation.java │ │ │ ├── ResourceIcon.java │ │ │ ├── Settings.java │ │ │ ├── SettingsDialog.java │ │ │ ├── SharedResourceCache.java │ │ │ ├── TilesetChangeEvent.java │ │ │ ├── TilesetChangeListener.java │ │ │ ├── TilesetRenderer.java │ │ │ ├── ViewerConstants.java │ │ │ └── icon │ │ │ ├── ViewerIcons.java │ │ │ ├── btn_addActor.png │ │ │ ├── btn_addAmbient.png │ │ │ ├── btn_addAnim.png │ │ │ ├── btn_addAutomap.png │ │ │ ├── btn_addContainer.png │ │ │ ├── btn_addDoor.png │ │ │ ├── btn_addDoorPoly.png │ │ │ ├── btn_addEntrance.png │ │ │ ├── btn_addProTrap.png │ │ │ ├── btn_addRegion.png │ │ │ ├── btn_addSpawnPoint.png │ │ │ ├── btn_addWallPoly.png │ │ │ ├── btn_editMode.png │ │ │ ├── btn_export.png │ │ │ ├── btn_map.png │ │ │ ├── btn_mapAre.png │ │ │ ├── btn_mapWed.png │ │ │ ├── btn_refresh.png │ │ │ ├── btn_rest.png │ │ │ ├── btn_settings.png │ │ │ ├── btn_songs.png │ │ │ ├── btn_viewMode.png │ │ │ ├── itm_AmbientG1.png │ │ │ ├── itm_AmbientG2.png │ │ │ ├── itm_AmbientL1.png │ │ │ ├── itm_AmbientL2.png │ │ │ ├── itm_Anim1.png │ │ │ ├── itm_Anim1_bw.png │ │ │ ├── itm_Anim2.png │ │ │ ├── itm_Anim2_bw.png │ │ │ ├── itm_AnimBAM1.png │ │ │ ├── itm_AnimBAM1_bw.png │ │ │ ├── itm_AnimBAM2.png │ │ │ ├── itm_AnimBAM2_bw.png │ │ │ ├── itm_AnimPVRZ1.png │ │ │ ├── itm_AnimPVRZ1_bw.png │ │ │ ├── itm_AnimPVRZ2.png │ │ │ ├── itm_AnimPVRZ2_bw.png │ │ │ ├── itm_AnimWBM1.png │ │ │ ├── itm_AnimWBM1_bw.png │ │ │ ├── itm_AnimWBM2.png │ │ │ ├── itm_AnimWBM2_bw.png │ │ │ ├── itm_AreActorB1.png │ │ │ ├── itm_AreActorB2.png │ │ │ ├── itm_AreActorG1.png │ │ │ ├── itm_AreActorG2.png │ │ │ ├── itm_AreActorR1.png │ │ │ ├── itm_AreActorR2.png │ │ │ ├── itm_Automap1.png │ │ │ ├── itm_Automap2.png │ │ │ ├── itm_Container1.png │ │ │ ├── itm_Container2.png │ │ │ ├── itm_ContainerLaunch1.png │ │ │ ├── itm_ContainerLaunch2.png │ │ │ ├── itm_DoorClosed1.png │ │ │ ├── itm_DoorClosed2.png │ │ │ ├── itm_DoorLaunch1.png │ │ │ ├── itm_DoorLaunch2.png │ │ │ ├── itm_DoorOpen1.png │ │ │ ├── itm_DoorOpen2.png │ │ │ ├── itm_Entrance1.png │ │ │ ├── itm_Entrance2.png │ │ │ ├── itm_GamActorB1.png │ │ │ ├── itm_GamActorB2.png │ │ │ ├── itm_GamActorG1.png │ │ │ ├── itm_GamActorG2.png │ │ │ ├── itm_GamActorR1.png │ │ │ ├── itm_GamActorR2.png │ │ │ ├── itm_IniActorB1.png │ │ │ ├── itm_IniActorB2.png │ │ │ ├── itm_IniActorG1.png │ │ │ ├── itm_IniActorG2.png │ │ │ ├── itm_IniActorR1.png │ │ │ ├── itm_IniActorR2.png │ │ │ ├── itm_ProTrap1.png │ │ │ ├── itm_ProTrap2.png │ │ │ ├── itm_Region1.png │ │ │ ├── itm_Region2.png │ │ │ ├── itm_RegionActivation1.png │ │ │ ├── itm_RegionActivation2.png │ │ │ ├── itm_RegionSpeaker1.png │ │ │ ├── itm_RegionSpeaker2.png │ │ │ ├── itm_SpawnPoint1.png │ │ │ ├── itm_SpawnPoint2.png │ │ │ ├── itm_Vertex1.png │ │ │ └── itm_Vertex2.png │ ├── bcs │ │ ├── BafResource.java │ │ ├── BcsAction.java │ │ ├── BcsObject.java │ │ ├── BcsResource.java │ │ ├── BcsStructureBase.java │ │ ├── BcsTrigger.java │ │ ├── Compiler.java │ │ ├── Decompiler.java │ │ ├── ScriptInfo.java │ │ ├── ScriptMessage.java │ │ ├── ScriptType.java │ │ ├── Signatures.java │ │ └── parser │ │ │ ├── BafNode.java │ │ │ ├── BafNodeException.java │ │ │ ├── BafNodeTransformer.java │ │ │ ├── BafParser.java │ │ │ ├── BafParser.jj │ │ │ ├── BafParser.jjt │ │ │ ├── BafParserConstants.java │ │ │ ├── BafParserTokenManager.java │ │ │ ├── BafParserTreeConstants.java │ │ │ ├── JJTBafParserState.java │ │ │ ├── JavaCharStream.java │ │ │ ├── Node.java │ │ │ ├── ParseException.java │ │ │ ├── SimpleNode.java │ │ │ ├── Token.java │ │ │ └── TokenMgrError.java │ ├── chu │ │ ├── ChuResource.java │ │ ├── Control.java │ │ ├── Viewer.java │ │ └── Window.java │ ├── cre │ │ ├── CreResource.java │ │ ├── IndexNumber.java │ │ ├── Item.java │ │ ├── Iwd2Ability.java │ │ ├── Iwd2Shape.java │ │ ├── Iwd2Song.java │ │ ├── Iwd2Spell.java │ │ ├── Iwd2Struct.java │ │ ├── KnownSpells.java │ │ ├── MemorizedSpells.java │ │ ├── SpellMemorization.java │ │ ├── Viewer.java │ │ ├── ViewerAnimation.java │ │ ├── ViewerItems.java │ │ ├── ViewerSpells.java │ │ ├── browser │ │ │ ├── AttributesPanel.java │ │ │ ├── ColorSelectionModel.java │ │ │ ├── CreUtils.java │ │ │ ├── CreatureAnimationModel.java │ │ │ ├── CreatureBrowser.java │ │ │ ├── CreatureControlModel.java │ │ │ ├── CreatureControlPanel.java │ │ │ ├── CreatureSelectionModel.java │ │ │ ├── CreatureStatusModel.java │ │ │ ├── DecoderAttributesTableModel.java │ │ │ ├── ItemSelectionModel.java │ │ │ ├── MediaPanel.java │ │ │ ├── RenderPanel.java │ │ │ ├── SettingsPanel.java │ │ │ ├── bg │ │ │ │ ├── Backgrounds.java │ │ │ │ ├── bg_cave.jpg │ │ │ │ ├── bg_wilderness.jpg │ │ │ │ ├── iwd_wilderness.jpg │ │ │ │ ├── pst_city.jpg │ │ │ │ ├── pst_dungeon.jpg │ │ │ │ └── sod_city_night.jpg │ │ │ └── icon │ │ │ │ ├── Icons.java │ │ │ │ ├── btn_center.png │ │ │ │ ├── btn_end.png │ │ │ │ ├── btn_home.png │ │ │ │ ├── btn_pause.png │ │ │ │ ├── btn_play.png │ │ │ │ ├── btn_resume.png │ │ │ │ ├── btn_step_back.png │ │ │ │ ├── btn_step_forward.png │ │ │ │ ├── btn_stop.png │ │ │ │ ├── circle_blue.png │ │ │ │ ├── circle_green.png │ │ │ │ ├── circle_red.png │ │ │ │ └── circle_yellow.png │ │ └── decoder │ │ │ ├── AmbientDecoder.java │ │ │ ├── AmbientStaticDecoder.java │ │ │ ├── CharacterBaseDecoder.java │ │ │ ├── CharacterDecoder.java │ │ │ ├── CharacterOldDecoder.java │ │ │ ├── EffectDecoder.java │ │ │ ├── FlyingDecoder.java │ │ │ ├── MonsterAnkhegDecoder.java │ │ │ ├── MonsterDecoder.java │ │ │ ├── MonsterIcewindDecoder.java │ │ │ ├── MonsterLarge16Decoder.java │ │ │ ├── MonsterLargeDecoder.java │ │ │ ├── MonsterLayeredDecoder.java │ │ │ ├── MonsterLayeredSpellDecoder.java │ │ │ ├── MonsterMultiDecoder.java │ │ │ ├── MonsterMultiNewDecoder.java │ │ │ ├── MonsterOldDecoder.java │ │ │ ├── MonsterPlanescapeDecoder.java │ │ │ ├── MonsterQuadrantDecoder.java │ │ │ ├── PlaceholderDecoder.java │ │ │ ├── QuadrantsBaseDecoder.java │ │ │ ├── SpriteDecoder.java │ │ │ ├── TownStaticDecoder.java │ │ │ ├── placeholder.bam │ │ │ ├── tables │ │ │ ├── InfinityTables.java │ │ │ ├── SpriteTables.java │ │ │ ├── avatars-bg1.2da │ │ │ ├── avatars-bg2ee.2da │ │ │ ├── avatars-bg2soa.2da │ │ │ ├── avatars-bg2tob.2da │ │ │ ├── avatars-bgee.2da │ │ │ ├── avatars-eet.2da │ │ │ ├── avatars-iwd.2da │ │ │ ├── avatars-iwd2.2da │ │ │ ├── avatars-iwdee.2da │ │ │ ├── avatars-iwdhow.2da │ │ │ ├── avatars-pst.2da │ │ │ ├── avatars-pstee.2da │ │ │ ├── infinityanimations-v5.ids │ │ │ ├── infinityanimations-v6.ids │ │ │ └── notes.txt │ │ │ └── util │ │ │ ├── AnimationInfo.java │ │ │ ├── CreatureInfo.java │ │ │ ├── CycleDef.java │ │ │ ├── DecoderAttribute.java │ │ │ ├── DirDef.java │ │ │ ├── Direction.java │ │ │ ├── EffectInfo.java │ │ │ ├── FrameInfo.java │ │ │ ├── ItemInfo.java │ │ │ ├── NumberRange.java │ │ │ ├── SegmentDef.java │ │ │ ├── SeqDef.java │ │ │ ├── Sequence.java │ │ │ └── SpriteUtils.java │ ├── dlg │ │ ├── AbstractCode.java │ │ ├── Action.java │ │ ├── BrokenReference.java │ │ ├── BrokenStateItem.java │ │ ├── BrokenTransitionItem.java │ │ ├── DlgElement.java │ │ ├── DlgItem.java │ │ ├── DlgResource.java │ │ ├── DlgTreeCellRenderer.java │ │ ├── DlgTreeModel.java │ │ ├── ItemBase.java │ │ ├── OrphanStates.java │ │ ├── OrphanTransitions.java │ │ ├── ResponseTrigger.java │ │ ├── State.java │ │ ├── StateItem.java │ │ ├── StateOwnerItem.java │ │ ├── StateTrigger.java │ │ ├── Transition.java │ │ ├── TransitionItem.java │ │ ├── TransitionOwnerItem.java │ │ ├── TreeItemEntry.java │ │ ├── TreeViewer.java │ │ ├── TreeWorker.java │ │ └── Viewer.java │ ├── effects │ │ ├── BaseOpcode.java │ │ ├── DefaultOpcode.java │ │ ├── Opcode000.java │ │ ├── Opcode001.java │ │ ├── Opcode002.java │ │ ├── Opcode003.java │ │ ├── Opcode004.java │ │ ├── Opcode005.java │ │ ├── Opcode006.java │ │ ├── Opcode007.java │ │ ├── Opcode008.java │ │ ├── Opcode009.java │ │ ├── Opcode010.java │ │ ├── Opcode011.java │ │ ├── Opcode012.java │ │ ├── Opcode013.java │ │ ├── Opcode014.java │ │ ├── Opcode015.java │ │ ├── Opcode016.java │ │ ├── Opcode017.java │ │ ├── Opcode018.java │ │ ├── Opcode019.java │ │ ├── Opcode020.java │ │ ├── Opcode021.java │ │ ├── Opcode022.java │ │ ├── Opcode023.java │ │ ├── Opcode024.java │ │ ├── Opcode025.java │ │ ├── Opcode026.java │ │ ├── Opcode027.java │ │ ├── Opcode028.java │ │ ├── Opcode029.java │ │ ├── Opcode030.java │ │ ├── Opcode031.java │ │ ├── Opcode032.java │ │ ├── Opcode033.java │ │ ├── Opcode034.java │ │ ├── Opcode035.java │ │ ├── Opcode036.java │ │ ├── Opcode037.java │ │ ├── Opcode038.java │ │ ├── Opcode039.java │ │ ├── Opcode040.java │ │ ├── Opcode041.java │ │ ├── Opcode042.java │ │ ├── Opcode043.java │ │ ├── Opcode044.java │ │ ├── Opcode045.java │ │ ├── Opcode046.java │ │ ├── Opcode047.java │ │ ├── Opcode048.java │ │ ├── Opcode049.java │ │ ├── Opcode050.java │ │ ├── Opcode051.java │ │ ├── Opcode052.java │ │ ├── Opcode053.java │ │ ├── Opcode054.java │ │ ├── Opcode055.java │ │ ├── Opcode056.java │ │ ├── Opcode057.java │ │ ├── Opcode058.java │ │ ├── Opcode059.java │ │ ├── Opcode060.java │ │ ├── Opcode061.java │ │ ├── Opcode062.java │ │ ├── Opcode063.java │ │ ├── Opcode064.java │ │ ├── Opcode065.java │ │ ├── Opcode066.java │ │ ├── Opcode067.java │ │ ├── Opcode068.java │ │ ├── Opcode069.java │ │ ├── Opcode070.java │ │ ├── Opcode071.java │ │ ├── Opcode072.java │ │ ├── Opcode073.java │ │ ├── Opcode074.java │ │ ├── Opcode075.java │ │ ├── Opcode076.java │ │ ├── Opcode077.java │ │ ├── Opcode078.java │ │ ├── Opcode079.java │ │ ├── Opcode080.java │ │ ├── Opcode081.java │ │ ├── Opcode082.java │ │ ├── Opcode083.java │ │ ├── Opcode084.java │ │ ├── Opcode085.java │ │ ├── Opcode086.java │ │ ├── Opcode087.java │ │ ├── Opcode088.java │ │ ├── Opcode089.java │ │ ├── Opcode090.java │ │ ├── Opcode091.java │ │ ├── Opcode092.java │ │ ├── Opcode093.java │ │ ├── Opcode094.java │ │ ├── Opcode095.java │ │ ├── Opcode096.java │ │ ├── Opcode097.java │ │ ├── Opcode098.java │ │ ├── Opcode099.java │ │ ├── Opcode100.java │ │ ├── Opcode101.java │ │ ├── Opcode102.java │ │ ├── Opcode103.java │ │ ├── Opcode104.java │ │ ├── Opcode105.java │ │ ├── Opcode106.java │ │ ├── Opcode107.java │ │ ├── Opcode108.java │ │ ├── Opcode109.java │ │ ├── Opcode110.java │ │ ├── Opcode111.java │ │ ├── Opcode112.java │ │ ├── Opcode113.java │ │ ├── Opcode114.java │ │ ├── Opcode115.java │ │ ├── Opcode116.java │ │ ├── Opcode117.java │ │ ├── Opcode118.java │ │ ├── Opcode119.java │ │ ├── Opcode120.java │ │ ├── Opcode121.java │ │ ├── Opcode122.java │ │ ├── Opcode123.java │ │ ├── Opcode124.java │ │ ├── Opcode125.java │ │ ├── Opcode126.java │ │ ├── Opcode127.java │ │ ├── Opcode128.java │ │ ├── Opcode129.java │ │ ├── Opcode130.java │ │ ├── Opcode131.java │ │ ├── Opcode132.java │ │ ├── Opcode133.java │ │ ├── Opcode134.java │ │ ├── Opcode135.java │ │ ├── Opcode136.java │ │ ├── Opcode137.java │ │ ├── Opcode138.java │ │ ├── Opcode139.java │ │ ├── Opcode140.java │ │ ├── Opcode141.java │ │ ├── Opcode142.java │ │ ├── Opcode143.java │ │ ├── Opcode144.java │ │ ├── Opcode145.java │ │ ├── Opcode146.java │ │ ├── Opcode147.java │ │ ├── Opcode148.java │ │ ├── Opcode149.java │ │ ├── Opcode150.java │ │ ├── Opcode151.java │ │ ├── Opcode152.java │ │ ├── Opcode153.java │ │ ├── Opcode154.java │ │ ├── Opcode155.java │ │ ├── Opcode156.java │ │ ├── Opcode157.java │ │ ├── Opcode158.java │ │ ├── Opcode159.java │ │ ├── Opcode160.java │ │ ├── Opcode161.java │ │ ├── Opcode162.java │ │ ├── Opcode163.java │ │ ├── Opcode164.java │ │ ├── Opcode165.java │ │ ├── Opcode166.java │ │ ├── Opcode167.java │ │ ├── Opcode168.java │ │ ├── Opcode169.java │ │ ├── Opcode170.java │ │ ├── Opcode171.java │ │ ├── Opcode172.java │ │ ├── Opcode173.java │ │ ├── Opcode174.java │ │ ├── Opcode175.java │ │ ├── Opcode176.java │ │ ├── Opcode177.java │ │ ├── Opcode178.java │ │ ├── Opcode179.java │ │ ├── Opcode180.java │ │ ├── Opcode181.java │ │ ├── Opcode182.java │ │ ├── Opcode183.java │ │ ├── Opcode184.java │ │ ├── Opcode185.java │ │ ├── Opcode186.java │ │ ├── Opcode187.java │ │ ├── Opcode188.java │ │ ├── Opcode189.java │ │ ├── Opcode190.java │ │ ├── Opcode191.java │ │ ├── Opcode192.java │ │ ├── Opcode193.java │ │ ├── Opcode194.java │ │ ├── Opcode195.java │ │ ├── Opcode196.java │ │ ├── Opcode197.java │ │ ├── Opcode198.java │ │ ├── Opcode199.java │ │ ├── Opcode200.java │ │ ├── Opcode201.java │ │ ├── Opcode202.java │ │ ├── Opcode203.java │ │ ├── Opcode204.java │ │ ├── Opcode205.java │ │ ├── Opcode206.java │ │ ├── Opcode207.java │ │ ├── Opcode208.java │ │ ├── Opcode209.java │ │ ├── Opcode210.java │ │ ├── Opcode211.java │ │ ├── Opcode212.java │ │ ├── Opcode213.java │ │ ├── Opcode214.java │ │ ├── Opcode215.java │ │ ├── Opcode216.java │ │ ├── Opcode217.java │ │ ├── Opcode218.java │ │ ├── Opcode219.java │ │ ├── Opcode220.java │ │ ├── Opcode221.java │ │ ├── Opcode222.java │ │ ├── Opcode223.java │ │ ├── Opcode224.java │ │ ├── Opcode225.java │ │ ├── Opcode226.java │ │ ├── Opcode227.java │ │ ├── Opcode228.java │ │ ├── Opcode229.java │ │ ├── Opcode230.java │ │ ├── Opcode231.java │ │ ├── Opcode232.java │ │ ├── Opcode233.java │ │ ├── Opcode234.java │ │ ├── Opcode235.java │ │ ├── Opcode236.java │ │ ├── Opcode237.java │ │ ├── Opcode238.java │ │ ├── Opcode239.java │ │ ├── Opcode240.java │ │ ├── Opcode241.java │ │ ├── Opcode242.java │ │ ├── Opcode243.java │ │ ├── Opcode244.java │ │ ├── Opcode245.java │ │ ├── Opcode246.java │ │ ├── Opcode247.java │ │ ├── Opcode248.java │ │ ├── Opcode249.java │ │ ├── Opcode250.java │ │ ├── Opcode251.java │ │ ├── Opcode252.java │ │ ├── Opcode253.java │ │ ├── Opcode254.java │ │ ├── Opcode255.java │ │ ├── Opcode256.java │ │ ├── Opcode257.java │ │ ├── Opcode258.java │ │ ├── Opcode259.java │ │ ├── Opcode260.java │ │ ├── Opcode261.java │ │ ├── Opcode262.java │ │ ├── Opcode263.java │ │ ├── Opcode264.java │ │ ├── Opcode265.java │ │ ├── Opcode266.java │ │ ├── Opcode267.java │ │ ├── Opcode268.java │ │ ├── Opcode269.java │ │ ├── Opcode270.java │ │ ├── Opcode271.java │ │ ├── Opcode272.java │ │ ├── Opcode273.java │ │ ├── Opcode274.java │ │ ├── Opcode275.java │ │ ├── Opcode276.java │ │ ├── Opcode277.java │ │ ├── Opcode278.java │ │ ├── Opcode279.java │ │ ├── Opcode280.java │ │ ├── Opcode281.java │ │ ├── Opcode282.java │ │ ├── Opcode283.java │ │ ├── Opcode284.java │ │ ├── Opcode285.java │ │ ├── Opcode286.java │ │ ├── Opcode287.java │ │ ├── Opcode288.java │ │ ├── Opcode289.java │ │ ├── Opcode290.java │ │ ├── Opcode291.java │ │ ├── Opcode292.java │ │ ├── Opcode293.java │ │ ├── Opcode294.java │ │ ├── Opcode295.java │ │ ├── Opcode296.java │ │ ├── Opcode297.java │ │ ├── Opcode298.java │ │ ├── Opcode299.java │ │ ├── Opcode300.java │ │ ├── Opcode301.java │ │ ├── Opcode302.java │ │ ├── Opcode303.java │ │ ├── Opcode304.java │ │ ├── Opcode305.java │ │ ├── Opcode306.java │ │ ├── Opcode307.java │ │ ├── Opcode308.java │ │ ├── Opcode309.java │ │ ├── Opcode310.java │ │ ├── Opcode311.java │ │ ├── Opcode312.java │ │ ├── Opcode313.java │ │ ├── Opcode314.java │ │ ├── Opcode315.java │ │ ├── Opcode316.java │ │ ├── Opcode317.java │ │ ├── Opcode318.java │ │ ├── Opcode319.java │ │ ├── Opcode320.java │ │ ├── Opcode321.java │ │ ├── Opcode322.java │ │ ├── Opcode323.java │ │ ├── Opcode324.java │ │ ├── Opcode325.java │ │ ├── Opcode326.java │ │ ├── Opcode327.java │ │ ├── Opcode328.java │ │ ├── Opcode329.java │ │ ├── Opcode330.java │ │ ├── Opcode331.java │ │ ├── Opcode332.java │ │ ├── Opcode333.java │ │ ├── Opcode334.java │ │ ├── Opcode335.java │ │ ├── Opcode336.java │ │ ├── Opcode337.java │ │ ├── Opcode338.java │ │ ├── Opcode339.java │ │ ├── Opcode340.java │ │ ├── Opcode341.java │ │ ├── Opcode342.java │ │ ├── Opcode343.java │ │ ├── Opcode344.java │ │ ├── Opcode345.java │ │ ├── Opcode346.java │ │ ├── Opcode347.java │ │ ├── Opcode348.java │ │ ├── Opcode349.java │ │ ├── Opcode350.java │ │ ├── Opcode351.java │ │ ├── Opcode352.java │ │ ├── Opcode353.java │ │ ├── Opcode354.java │ │ ├── Opcode355.java │ │ ├── Opcode356.java │ │ ├── Opcode357.java │ │ ├── Opcode358.java │ │ ├── Opcode360.java │ │ ├── Opcode361.java │ │ ├── Opcode362.java │ │ ├── Opcode363.java │ │ ├── Opcode365.java │ │ ├── Opcode366.java │ │ ├── Opcode367.java │ │ ├── Opcode368.java │ │ ├── Opcode369.java │ │ ├── Opcode370.java │ │ ├── Opcode371.java │ │ ├── Opcode372.java │ │ ├── Opcode373.java │ │ ├── Opcode374.java │ │ ├── Opcode375.java │ │ ├── Opcode376.java │ │ ├── Opcode377.java │ │ ├── Opcode378.java │ │ ├── Opcode379.java │ │ ├── Opcode380.java │ │ ├── Opcode381.java │ │ ├── Opcode382.java │ │ ├── Opcode383.java │ │ ├── Opcode400.java │ │ ├── Opcode401.java │ │ ├── Opcode402.java │ │ ├── Opcode403.java │ │ ├── Opcode404.java │ │ ├── Opcode405.java │ │ ├── Opcode406.java │ │ ├── Opcode407.java │ │ ├── Opcode408.java │ │ ├── Opcode409.java │ │ ├── Opcode410.java │ │ ├── Opcode411.java │ │ ├── Opcode412.java │ │ ├── Opcode413.java │ │ ├── Opcode414.java │ │ ├── Opcode415.java │ │ ├── Opcode416.java │ │ ├── Opcode417.java │ │ ├── Opcode418.java │ │ ├── Opcode419.java │ │ ├── Opcode420.java │ │ ├── Opcode421.java │ │ ├── Opcode422.java │ │ ├── Opcode423.java │ │ ├── Opcode424.java │ │ ├── Opcode425.java │ │ ├── Opcode426.java │ │ ├── Opcode427.java │ │ ├── Opcode428.java │ │ ├── Opcode429.java │ │ ├── Opcode430.java │ │ ├── Opcode431.java │ │ ├── Opcode432.java │ │ ├── Opcode433.java │ │ ├── Opcode434.java │ │ ├── Opcode435.java │ │ ├── Opcode436.java │ │ ├── Opcode437.java │ │ ├── Opcode438.java │ │ ├── Opcode439.java │ │ ├── Opcode440.java │ │ ├── Opcode441.java │ │ ├── Opcode442.java │ │ ├── Opcode443.java │ │ ├── Opcode444.java │ │ ├── Opcode445.java │ │ ├── Opcode446.java │ │ ├── Opcode447.java │ │ ├── Opcode448.java │ │ ├── Opcode449.java │ │ ├── Opcode450.java │ │ ├── Opcode451.java │ │ ├── Opcode452.java │ │ ├── Opcode453.java │ │ ├── Opcode454.java │ │ ├── Opcode455.java │ │ ├── Opcode456.java │ │ └── Opcode457.java │ ├── gam │ │ ├── Familiar.java │ │ ├── GamResource.java │ │ ├── JournalEntry.java │ │ ├── KillVariable.java │ │ ├── ModronMaze.java │ │ ├── ModronMazeEntry.java │ │ ├── NonPartyNPC.java │ │ ├── PartyNPC.java │ │ ├── StoredLocation.java │ │ ├── UnknownSection2.java │ │ ├── UnknownSection3.java │ │ ├── Variable.java │ │ ├── Viewer.java │ │ └── ViewerNPC.java │ ├── graphics │ │ ├── BamDecoder.java │ │ ├── BamResource.java │ │ ├── BamV1Decoder.java │ │ ├── BamV2Decoder.java │ │ ├── BlendingComposite.java │ │ ├── BmpDecoder.java │ │ ├── ColorConvert.java │ │ ├── Compressor.java │ │ ├── DxtEncoder.java │ │ ├── GifSequenceReader.java │ │ ├── GifSequenceWriter.java │ │ ├── GraphicsResource.java │ │ ├── MosDecoder.java │ │ ├── MosResource.java │ │ ├── MosV1Decoder.java │ │ ├── MosV2Decoder.java │ │ ├── Palette.java │ │ ├── PltResource.java │ │ ├── PseudoBamDecoder.java │ │ ├── PvrDecoder.java │ │ ├── PvrzResource.java │ │ ├── TisConvert.java │ │ ├── TisDecoder.java │ │ ├── TisResource.java │ │ ├── TisV1Decoder.java │ │ ├── TisV2Decoder.java │ │ └── decoder │ │ │ ├── Decodable.java │ │ │ ├── DummyDecoder.java │ │ │ ├── DxtDecoder.java │ │ │ ├── Etc2Decoder.java │ │ │ ├── PvrInfo.java │ │ │ └── PvrtcDecoder.java │ ├── itm │ │ ├── Ability.java │ │ ├── ItmResource.java │ │ ├── Viewer.java │ │ └── ViewerAbility.java │ ├── key │ │ ├── AbstractBIFFReader.java │ │ ├── BIFCReader.java │ │ ├── BIFFEntry.java │ │ ├── BIFFReader.java │ │ ├── BIFFResourceEntry.java │ │ ├── BIFFWriter.java │ │ ├── BIFReader.java │ │ ├── BufferedResourceEntry.java │ │ ├── FileResourceEntry.java │ │ ├── Keyfile.java │ │ ├── ResourceEntry.java │ │ ├── ResourceTreeFolder.java │ │ └── ResourceTreeModel.java │ ├── maze │ │ ├── MazeEntry.java │ │ └── MazeResource.java │ ├── mus │ │ ├── Entry.java │ │ ├── MusResource.java │ │ ├── MusResourceHandler.java │ │ └── Viewer.java │ ├── other │ │ ├── EffResource.java │ │ ├── FntResource.java │ │ ├── TtfResource.java │ │ ├── UnknownResource.java │ │ ├── VvcResource.java │ │ └── WfxResource.java │ ├── pro │ │ ├── ProAreaType.java │ │ ├── ProResource.java │ │ └── ProSingleType.java │ ├── sav │ │ ├── IOHandler.java │ │ ├── SavResource.java │ │ └── SavResourceEntry.java │ ├── sound │ │ ├── AbstractAudioPlayer.java │ │ ├── AcmBuffer.java │ │ ├── AudioBuffer.java │ │ ├── AudioFactory.java │ │ ├── AudioPlayback.java │ │ ├── AudioPlayer.java │ │ ├── AudioStateEvent.java │ │ ├── AudioStateListener.java │ │ ├── BufferedAudioPlayback.java │ │ ├── BufferedAudioPlayer.java │ │ ├── EmptyQueueException.java │ │ ├── OggBuffer.java │ │ ├── SoundResource.java │ │ ├── StreamingAudioPlayback.java │ │ ├── StreamingAudioPlayer.java │ │ ├── WavBuffer.java │ │ └── WavcBuffer.java │ ├── spl │ │ ├── Ability.java │ │ ├── SplResource.java │ │ ├── Viewer.java │ │ └── ViewerAbility.java │ ├── src │ │ ├── Entry.java │ │ └── SrcResource.java │ ├── sto │ │ ├── Cure.java │ │ ├── Drink.java │ │ ├── ItemSale.java │ │ ├── ItemSale11.java │ │ ├── Purchases.java │ │ ├── StoResource.java │ │ └── Viewer.java │ ├── text │ │ ├── PlainTextResource.java │ │ ├── QuestsPanel.java │ │ ├── QuestsResource.java │ │ └── modes │ │ │ ├── BCSFoldParser.java │ │ │ ├── BCSTokenMaker.java │ │ │ ├── GLSLTokenMaker.flex │ │ │ ├── GLSLTokenMaker.java │ │ │ ├── INITokenMaker.java │ │ │ ├── MenuTokenMaker.flex │ │ │ ├── MenuTokenMaker.java │ │ │ ├── TLKTokenMaker.java │ │ │ ├── ThemeBCSLight.xml │ │ │ ├── ThemeDark.xml │ │ │ ├── ThemeDefault.xml │ │ │ ├── ThemeDruid.xml │ │ │ ├── ThemeEclipse.xml │ │ │ ├── ThemeIdea.xml │ │ │ ├── ThemeMonokai.xml │ │ │ ├── ThemeNone.xml │ │ │ ├── ThemeNoneDark.xml │ │ │ ├── ThemeVs.xml │ │ │ ├── WeiDULogTokenMaker.java │ │ │ └── theme.dtd │ ├── to │ │ ├── StrRefEntry.java │ │ ├── StrRefEntry2.java │ │ ├── StringEntry.java │ │ ├── StringEntry2.java │ │ ├── TohResource.java │ │ └── TotResource.java │ ├── ui │ │ ├── ResourceCellRenderer.java │ │ └── ResourceListModel.java │ ├── var │ │ ├── Entry.java │ │ └── VarResource.java │ ├── vef │ │ ├── AbstractComponent.java │ │ ├── PrimaryComponent.java │ │ ├── SecondaryComponent.java │ │ ├── VefResource.java │ │ └── VefType.java │ ├── vertex │ │ ├── ClosedVertex.java │ │ ├── ClosedVertexImpeded.java │ │ ├── OpenVertex.java │ │ ├── OpenVertexImpeded.java │ │ └── Vertex.java │ ├── video │ │ ├── AudioQueue.java │ │ ├── BasicVideoBuffer.java │ │ ├── ImageRenderer.java │ │ ├── MveAudioDecoder.java │ │ ├── MveDecoder.java │ │ ├── MvePlayer.java │ │ ├── MveResource.java │ │ ├── MveVideoDecoder.java │ │ ├── VideoBuffer.java │ │ └── WbmResource.java │ ├── wed │ │ ├── ClosedPolygon.java │ │ ├── Door.java │ │ ├── IndexNumber.java │ │ ├── OpenPolygon.java │ │ ├── Overlay.java │ │ ├── Polygon.java │ │ ├── Tilemap.java │ │ ├── WallPolygon.java │ │ ├── Wallgroup.java │ │ └── WedResource.java │ └── wmp │ │ ├── AreaEntry.java │ │ ├── AreaLink.java │ │ ├── AreaLinkEast.java │ │ ├── AreaLinkNorth.java │ │ ├── AreaLinkSouth.java │ │ ├── AreaLinkWest.java │ │ ├── MapEntry.java │ │ ├── ViewerArea.java │ │ ├── WmpResource.java │ │ └── viewer │ │ ├── AreaListCellRenderer.java │ │ ├── ViewerMap.java │ │ ├── VirtualAreaEntry.java │ │ ├── VirtualMapEntry.java │ │ ├── VirtualStructEntry.java │ │ ├── WmpAreaInfo.java │ │ ├── WmpLinkInfo.java │ │ └── WmpMapInfo.java │ ├── search │ ├── AbstractReferenceSearcher.java │ ├── AbstractSearcher.java │ ├── AttributeSearcher.java │ ├── DialogItemRefSearcher.java │ ├── DialogSearcher.java │ ├── DialogStateReferenceSearcher.java │ ├── FileTypeSelector.java │ ├── ReferenceHitFrame.java │ ├── ReferenceSearcher.java │ ├── ScriptReferenceSearcher.java │ ├── SearchClient.java │ ├── SearchFrame.java │ ├── SearchMaster.java │ ├── SearchOptions.java │ ├── SearchResource.java │ ├── SongReferenceSearcher.java │ ├── StringReferenceSearcher.java │ ├── TextHitFrame.java │ ├── TextResourceSearcher.java │ ├── WavReferenceSearcher.java │ └── advanced │ │ ├── AdvancedSearch.java │ │ ├── AdvancedSearchWorker.java │ │ ├── FilterInput.java │ │ ├── FlagsPanel.java │ │ ├── NumberFormatterEx.java │ │ ├── SearchOptions.java │ │ ├── ToggleButtonDataModel.java │ │ └── XmlConfig.java │ ├── tinylog.License.txt │ ├── updater │ ├── ParamURL.java │ ├── UpdateCheck.java │ ├── UpdateInfo.java │ ├── Updater.java │ ├── UpdaterSettings.java │ ├── Utils.java │ ├── update-template.xml │ ├── update_v1.dtd │ └── update_v2.dtd │ └── util │ ├── ArrayUtil.java │ ├── BOMStringReader.java │ ├── BinPack2D.java │ ├── CharsetDetector.java │ ├── CreMapCache.java │ ├── DataString.java │ ├── DebugTimer.java │ ├── DynamicArray.java │ ├── DynamicByteArray.java │ ├── FileDeletionHook.java │ ├── FilteredListModel.java │ ├── IconCache.java │ ├── IdsMap.java │ ├── IdsMapCache.java │ ├── IdsMapEntry.java │ ├── IniMap.java │ ├── IniMapCache.java │ ├── IniMapEntry.java │ ├── IniMapSection.java │ ├── InputKeyHelper.java │ ├── IntegerHashMap.java │ ├── LauncherUtils.java │ ├── Logger.java │ ├── LuaEntry.java │ ├── LuaParser.java │ ├── MapEntry.java │ ├── MapTree.java │ ├── Misc.java │ ├── Operation.java │ ├── Platform.java │ ├── PortraitIconCache.java │ ├── ResourceStructure.java │ ├── SimpleListModel.java │ ├── StaticSimpleXorDecryptor.java │ ├── StopWatch.java │ ├── StringBufferStream.java │ ├── StringTable.java │ ├── StructClipboard.java │ ├── Table2da.java │ ├── Table2daCache.java │ ├── Threading.java │ ├── TriState.java │ ├── Variables.java │ ├── Weidu.java │ ├── io │ ├── ByteBufferInputStream.java │ ├── ByteBufferOutputStream.java │ ├── DlcManager.java │ ├── FileEx.java │ ├── FileManager.java │ ├── FileNameFilter.java │ ├── StreamUtils.java │ └── zip │ │ ├── DlcDirectoryStream.java │ │ ├── DlcError.java │ │ ├── DlcFileAttributeView.java │ │ ├── DlcFileAttributes.java │ │ ├── DlcFileStore.java │ │ ├── DlcFileSystem.java │ │ ├── DlcFileSystemProvider.java │ │ ├── DlcPath.java │ │ ├── ZipBaseHeader.java │ │ ├── ZipCentralEndHeader.java │ │ ├── ZipCentralHeader.java │ │ ├── ZipCoder.java │ │ ├── ZipConstants.java │ │ ├── ZipLocalHeader.java │ │ ├── ZipNode.java │ │ └── ZipUtils.java │ └── tuples │ ├── Couple.java │ ├── Monuple.java │ ├── Quadruple.java │ ├── Quintuple.java │ ├── Sextuple.java │ ├── Triple.java │ ├── Tuple.java │ ├── TupleValue0.java │ ├── TupleValue1.java │ ├── TupleValue2.java │ ├── TupleValue3.java │ ├── TupleValue4.java │ └── TupleValue5.java └── tinylog.properties /.gitattributes: -------------------------------------------------------------------------------- 1 | *.java text diff=java 2 | *.xml text 3 | *.txt text 4 | *.md text 5 | *.2da text 6 | *.ids text 7 | *.flex text 8 | .project text 9 | .classpath text 10 | 11 | mve.stub binary 12 | *.gif binary 13 | *.png binary 14 | -------------------------------------------------------------------------------- /.github/workflows/ant.yml: -------------------------------------------------------------------------------- 1 | name: Java CI with Apache Ant 2 | 3 | on: 4 | push: 5 | branches: [ devel ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | - name: Set up JDK 1.8 13 | uses: actions/setup-java@v3 14 | with: 15 | distribution: 'temurin' 16 | java-version: '8' 17 | - name: Build with Ant 18 | run: | 19 | hash=$(echo "${{ github.sha }}" | sed -e 's/\(.\{7\}\).*/\1/') 20 | sed -i "s/\(app_version\s*=\s*v\?[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?\).*/\1-$(date +%Y%m%d) (${hash})/" src/nearinfinity.properties 21 | sed -i 's/debug="false"/debug="true"/' build.xml 22 | ant -noinput -buildfile build.xml 23 | - name: Upload artifact 24 | if: ${{ github.repository == 'Argent77/NearInfinity' }} 25 | uses: pyTooling/Actions/releaser@r2 26 | with: 27 | tag: nightly 28 | rm: true 29 | token: ${{ secrets.GITHUB_TOKEN }} 30 | files: NearInfinity.jar 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | NearInfinity.jar 2 | jar/NearInfinity.jar 3 | *.class 4 | /bin 5 | /build 6 | /.idea 7 | /.settings 8 | .vscode/launch.json 9 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | NearInfinity 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /lib/apng-writer/apng-writer-core-src.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/apng-writer/apng-writer-core-src.zip -------------------------------------------------------------------------------- /lib/apng-writer/apng-writer-core.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/apng-writer/apng-writer-core.jar -------------------------------------------------------------------------------- /lib/commonmark/commonmark-0.21.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/commonmark/commonmark-0.21.0.jar -------------------------------------------------------------------------------- /lib/commonmark/commonmark-java-commonmark-parent-0.21.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/commonmark/commonmark-java-commonmark-parent-0.21.0.zip -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-3.4-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-3.4-javadoc.jar -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-3.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-3.4-sources.jar -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-3.4.jar -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-intellij-themes-3.4-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-intellij-themes-3.4-javadoc.jar -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-intellij-themes-3.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-intellij-themes-3.4-sources.jar -------------------------------------------------------------------------------- /lib/flatlaf/flatlaf-intellij-themes-3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/flatlaf/flatlaf-intellij-themes-3.4.jar -------------------------------------------------------------------------------- /lib/javacc/javacc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/javacc/javacc.jar -------------------------------------------------------------------------------- /lib/jhexview/jhexview.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/jhexview/jhexview.jar -------------------------------------------------------------------------------- /lib/jorbis/jorbis-0.0.17.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/jorbis/jorbis-0.0.17.zip -------------------------------------------------------------------------------- /lib/jorbis/jorbis.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/jorbis/jorbis.jar -------------------------------------------------------------------------------- /lib/json/JSON-java-20230227.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/json/JSON-java-20230227.zip -------------------------------------------------------------------------------- /lib/json/json-20230227.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/json/json-20230227.jar -------------------------------------------------------------------------------- /lib/montemedia/MonteMedia-0.7.7.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/montemedia/MonteMedia-0.7.7.zip -------------------------------------------------------------------------------- /lib/montemedia/montemedia.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/montemedia/montemedia.jar -------------------------------------------------------------------------------- /lib/rsyntaxtextarea/rsyntaxtextarea-3.5.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/rsyntaxtextarea/rsyntaxtextarea-3.5.4-sources.jar -------------------------------------------------------------------------------- /lib/rsyntaxtextarea/rsyntaxtextarea.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/rsyntaxtextarea/rsyntaxtextarea.jar -------------------------------------------------------------------------------- /lib/tinylog/readme.txt: -------------------------------------------------------------------------------- 1 | Copyright 2018 Martin Winandy 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | this file except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | 14 | ------------------- 15 | Using tinylog 16 | ------------------- 17 | 18 | To use tinylog as a logging framework, add tinylog-api.jar and an 19 | implementation such as tinylog-impl.jar to the classpath. 20 | 21 | tinylog-impl.jar is the default implementation for tinylog. There are also 22 | implementations for application and web servers to use their logging 23 | frameworks. Since tinylog 2, multiple implementations can even be used in 24 | parallel. 25 | -------------------------------------------------------------------------------- /lib/tinylog/tinylog-api-2.7.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/tinylog/tinylog-api-2.7.0-sources.jar -------------------------------------------------------------------------------- /lib/tinylog/tinylog-api-2.7.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/tinylog/tinylog-api-2.7.0.jar -------------------------------------------------------------------------------- /lib/tinylog/tinylog-impl-2.7.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/tinylog/tinylog-impl-2.7.0-sources.jar -------------------------------------------------------------------------------- /lib/tinylog/tinylog-impl-2.7.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/lib/tinylog/tinylog-impl-2.7.0.jar -------------------------------------------------------------------------------- /src/nearinfinity.properties: -------------------------------------------------------------------------------- 1 | app_version = v2.4-20250303 2 | java_version_min = 8 3 | -------------------------------------------------------------------------------- /src/org/infinity/JFontChooser.License.txt: -------------------------------------------------------------------------------- 1 | Copyright 2004-2008 Masahiko SAWAI All Rights Reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the "Software"), 5 | to deal in the Software without restriction, including without limitation 6 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 | and/or sell copies of the Software, and to permit persons to whom 8 | the Software is furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included 11 | in all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 14 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 16 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE 19 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/HexNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.util.Logger; 10 | 11 | public class HexNumber extends DecNumber { 12 | public HexNumber(ByteBuffer buffer, int offset, int length, String desc) { 13 | super(buffer, offset, length, desc); 14 | } 15 | 16 | // --------------------- Begin Interface InlineEditable --------------------- 17 | 18 | @Override 19 | public boolean update(Object value) { 20 | try { 21 | setValue((int) DecNumber.parseNumber(value, getSize(), true, true)); 22 | return true; 23 | } catch (Exception e) { 24 | Logger.error(e); 25 | } 26 | return false; 27 | } 28 | 29 | // --------------------- End Interface InlineEditable --------------------- 30 | 31 | @Override 32 | public String toString() { 33 | return Integer.toHexString(getValue()) + " h"; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/IdsFlag.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.util.IdsMap; 10 | import org.infinity.util.IdsMapCache; 11 | import org.infinity.util.IdsMapEntry; 12 | 13 | public final class IdsFlag extends Flag { 14 | public IdsFlag(ByteBuffer buffer, int offset, int length, String name, String resource) { 15 | super(buffer, offset, length, name); 16 | final IdsMap idsMap = IdsMapCache.get(resource); 17 | if (idsMap != null) { 18 | IdsMapEntry entry = idsMap.get(0L); 19 | setEmptyDesc((entry != null) ? entry.getSymbol() : null); 20 | 21 | // fetching flag labels from IDS 22 | final String[] stable = new String[8 * length]; 23 | for (int i = 0; i < stable.length; i++) { 24 | entry = idsMap.get(1L << i); 25 | stable[i] = (entry != null) ? entry.getSymbol() : null; 26 | } 27 | setFlagDescriptions(length, stable, 0); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/IsBinary.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public interface IsBinary { 10 | ByteBuffer getData(); 11 | } 12 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/IsNumeric.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | public interface IsNumeric { 8 | /** Returns the current value as {@code long}. */ 9 | long getLongValue(); 10 | 11 | /** Returns the current value as {@code int}. */ 12 | int getValue(); 13 | } 14 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/IsReference.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | public interface IsReference { 8 | /** 9 | * Gets full resource name: name dot extension. 10 | * 11 | * @return String {@code "None"} or empty string, if object not contains reference, reference to resource otherwise. 12 | */ 13 | String getResourceName();// FIXME: Replace special value to null 14 | } 15 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/IsTextual.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | public interface IsTextual { 8 | String getText(); 9 | } 10 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/Readable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public interface Readable { 10 | /** 11 | * Read data from buffer, starting at offset. Returns first offset after processed data. 12 | * 13 | * @param buffer The {@link ByteBuffer} to read from. 14 | * @param offset The start offset within the buffer. 15 | * @return The first index after the processed data. 16 | * @throws Exception if an exception occurs. 17 | */ 18 | int read(ByteBuffer buffer, int offset) throws Exception; 19 | } 20 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/RemovableDecNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AddRemovable; 10 | 11 | public final class RemovableDecNumber extends DecNumber implements AddRemovable { 12 | public RemovableDecNumber(ByteBuffer buffer, int offset, int length, String name) { 13 | super(buffer, offset, length, name); 14 | } 15 | 16 | // --------------------- Begin Interface AddRemovable --------------------- 17 | 18 | @Override 19 | public boolean canRemove() { 20 | return true; 21 | } 22 | 23 | // --------------------- End Interface AddRemovable --------------------- 24 | } 25 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/SpawnResourceRef.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.resource.ResourceFactory; 11 | import org.infinity.resource.key.ResourceEntry; 12 | import org.infinity.resource.text.PlainTextResource; 13 | 14 | public final class SpawnResourceRef extends ResourceRef { 15 | public SpawnResourceRef(ByteBuffer buffer, int offset, String name) { 16 | super(buffer, offset, name, "CRE"); 17 | } 18 | 19 | @Override 20 | void addExtraEntries(List entries) { 21 | final ResourceEntry spawnRef = ResourceFactory.getResourceEntry("SPAWNGRP.2DA"); 22 | if (spawnRef != null) { 23 | final PlainTextResource spawn = (PlainTextResource) ResourceFactory.getResource(spawnRef); 24 | for (String header : spawn.extract2DAHeaders()) { 25 | entries.add(new ResourceRefEntry(header)); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/UnsignDecNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public class UnsignDecNumber extends DecNumber { 10 | public UnsignDecNumber(ByteBuffer buffer, int offset, int length, String name) { 11 | super(buffer, offset, length, name, false); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/UnsignHexNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.util.Logger; 10 | 11 | public class UnsignHexNumber extends UnsignDecNumber { 12 | public UnsignHexNumber(ByteBuffer buffer, int offset, int length, String desc) { 13 | super(buffer, offset, length, desc); 14 | } 15 | 16 | // --------------------- Begin Interface InlineEditable --------------------- 17 | 18 | @Override 19 | public boolean update(Object value) { 20 | try { 21 | setValue(UnsignDecNumber.parseNumber(value, getSize(), false, true)); 22 | return true; 23 | } catch (Exception e) { 24 | Logger.error(e); 25 | } 26 | return false; 27 | } 28 | 29 | // --------------------- End Interface InlineEditable --------------------- 30 | 31 | @Override 32 | public String toString() { 33 | return Long.toHexString(getLongValue() & 0xffffffffL) + " h"; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/UpdateEvent.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.util.EventObject; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | /** 12 | * Used in conjunction with {@link Editable}'s updateValue() method. 13 | */ 14 | public class UpdateEvent extends EventObject { 15 | /** Struct which field is updated. */ 16 | private final AbstractStruct struct; 17 | 18 | public UpdateEvent(Object source, AbstractStruct struct) { 19 | super(source); 20 | this.struct = struct; 21 | } 22 | 23 | public AbstractStruct getStructure() { 24 | return struct; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/org/infinity/datatype/UpdateListener.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.datatype; 6 | 7 | import java.util.EventListener; 8 | 9 | /** 10 | * Used in conjunction with {@code infinity.datatype.Editable}'s updateValue() method. 11 | */ 12 | public interface UpdateListener extends EventListener { 13 | /** 14 | * Called whenever the editable item has changed its value. 15 | * 16 | * @param event Contains associated data 17 | * @return true if table data other than the current item has been changed, false otherwise. 18 | */ 19 | boolean valueUpdated(UpdateEvent event); 20 | } 21 | -------------------------------------------------------------------------------- /src/org/infinity/gui/Center.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui; 6 | 7 | import java.awt.Component; 8 | import java.awt.Dimension; 9 | import java.awt.Point; 10 | import java.awt.Rectangle; 11 | 12 | /** 13 | * @author Jon Heggland 14 | */ 15 | public final class Center { 16 | /** Centers the given {@code Component} on the specified {@code area}. */ 17 | public static void center(Component c, Rectangle area) { 18 | c.setLocation(getCenterLocation(c.getSize(), area)); 19 | } 20 | 21 | /** Returns the location for the specified {@code size} to be centered on the given {@code area}. */ 22 | public static Point getCenterLocation(Dimension size, Rectangle area) { 23 | if (area == null) { 24 | area = new Rectangle(); 25 | } 26 | 27 | int x = area.x + (area.width - size.width >> 1); 28 | int y = area.y + (area.height - size.height >> 1); 29 | 30 | return new Point(Math.max(0, x), Math.max(0, y)); 31 | } 32 | 33 | private Center() { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/gui/PopupWindowEvent.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui; 6 | 7 | import java.util.EventObject; 8 | 9 | /** 10 | * Used in ButtonPopupWindow class to signal showing or hiding a popup window. 11 | */ 12 | public class PopupWindowEvent extends EventObject { 13 | public PopupWindowEvent(Object source) { 14 | super(source); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/org/infinity/gui/PopupWindowListener.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui; 6 | 7 | import java.util.EventListener; 8 | 9 | /** 10 | * Used in ButtonPopupWindow class to signal showing or hiding a popup window. 11 | */ 12 | public interface PopupWindowListener extends EventListener { 13 | /** Called right before the ButtonPopupWindow component becomes invisible. */ 14 | void popupWindowWillBecomeInvisible(PopupWindowEvent event); 15 | 16 | /** Called right before the ButtonPopupWindow component becomes visible. */ 17 | void popupWindowWillBecomeVisible(PopupWindowEvent event); 18 | } 19 | -------------------------------------------------------------------------------- /src/org/infinity/gui/TableItem.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui; 6 | 7 | public interface TableItem { 8 | Object getObjectAt(int columnIndex); 9 | } 10 | -------------------------------------------------------------------------------- /src/org/infinity/gui/converter/BamFilterBaseTransform.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.converter; 6 | 7 | import org.infinity.resource.graphics.PseudoBamDecoder.PseudoBamFrameEntry; 8 | 9 | /** 10 | * The base class for filters that manipulate on frame level. 11 | */ 12 | public abstract class BamFilterBaseTransform extends BamFilterBase { 13 | protected BamFilterBaseTransform(ConvertToBam parent, String name, String desc) { 14 | super(parent, name, desc, Type.TRANSFORM); 15 | } 16 | 17 | /** 18 | * Applies the filter to the specified FrameEntry object. 19 | * 20 | * @param frame The frame entry to modify. 21 | * @return The modified frame entry. Can be either the modified source FrameEntry or a new FrameEntry instance. 22 | */ 23 | public abstract PseudoBamFrameEntry process(PseudoBamFrameEntry frame) throws Exception; 24 | } 25 | -------------------------------------------------------------------------------- /src/org/infinity/gui/layeritem/LayerItemEvent.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.layeritem; 6 | 7 | import java.util.EventObject; 8 | 9 | /** 10 | * Used in AbstractLayerItem and subclasses. 11 | */ 12 | public class LayerItemEvent extends EventObject { 13 | private final String actionCommand; 14 | 15 | public LayerItemEvent(Object source, String cmd) { 16 | super(source); 17 | this.actionCommand = cmd; 18 | } 19 | 20 | public boolean isHighlighted() { 21 | if (source instanceof AbstractLayerItem) { 22 | return (((AbstractLayerItem) source).getItemState() == AbstractLayerItem.ItemState.HIGHLIGHTED); 23 | } else { 24 | return false; 25 | } 26 | } 27 | 28 | public String getActionCommand() { 29 | return actionCommand; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/org/infinity/gui/layeritem/LayerItemListener.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.layeritem; 6 | 7 | import java.util.EventListener; 8 | 9 | /** 10 | * Used in AbstractLayerItem 11 | */ 12 | public interface LayerItemListener extends EventListener { 13 | void layerItemChanged(LayerItemEvent e); 14 | } 15 | -------------------------------------------------------------------------------- /src/org/infinity/gui/menu/BrowserSubMenu.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.menu; 6 | 7 | /** Indicates that this Menu is a child of the {@link BrowserMenuBar}. */ 8 | public interface BrowserSubMenu { 9 | /** Returns the parent menu bar. */ 10 | BrowserMenuBar getMenuBar(); 11 | } 12 | -------------------------------------------------------------------------------- /src/org/infinity/gui/menu/LogLevel.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.menu; 6 | 7 | import org.tinylog.Level; 8 | 9 | /** Wrapper for the {@link Level} enum from the tinylog logging framework. */ 10 | public enum LogLevel { 11 | TRACE(Level.TRACE, "Trace (fine-grained)"), 12 | DEBUG(Level.DEBUG, "Debug (diagnostic)"), 13 | INFO(Level.INFO, "Information (recommended)"), 14 | WARN(Level.WARN, "Warning"), 15 | ERROR(Level.ERROR, "Error"), 16 | OFF(Level.OFF, "Disabled (not recommended)"), 17 | ; 18 | 19 | private final Level level; 20 | private final String title; 21 | 22 | LogLevel(Level level, String title) { 23 | this.level = level; 24 | this.title = title; 25 | } 26 | 27 | /** Log {@link Level} associated with this enum. */ 28 | public Level getLevel() { 29 | return level; 30 | } 31 | 32 | /** Title of the log level option in the Preferences dialog. */ 33 | public String getTitle() { 34 | return title; 35 | } 36 | 37 | @Override 38 | public String toString() { 39 | return getTitle(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/org/infinity/gui/menu/ViewMode.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.gui.menu; 6 | 7 | /** Determines default tab for viewing structures. */ 8 | public enum ViewMode { 9 | View("View"), Edit("Edit"); 10 | 11 | private final String title; 12 | 13 | ViewMode(String title) { 14 | this.title = title; 15 | } 16 | 17 | /** Title of the menu item in Options menu. */ 18 | public String getTitle() { 19 | return title; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return getTitle(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/org/infinity/icon/About16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/About16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Add16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Add16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/App128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App128.png -------------------------------------------------------------------------------- /src/org/infinity/icon/App16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/App256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App256.png -------------------------------------------------------------------------------- /src/org/infinity/icon/App32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App32.png -------------------------------------------------------------------------------- /src/org/infinity/icon/App512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App512.png -------------------------------------------------------------------------------- /src/org/infinity/icon/App64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/App64.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Application16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Application16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/ArrowDown15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/ArrowDown15.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/ArrowUp15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/ArrowUp15.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Back16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Back16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/BlueCircle16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/BlueCircle16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/BlueCircle20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/BlueCircle20.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Bundle16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Bundle16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Check16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Check16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Check_Not16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Check_Not16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Circle20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Circle20.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Collapse16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Collapse16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/CollapseAll24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/CollapseAll24.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Color16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Color16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Copy16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Copy16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/CreViewer24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/CreViewer24.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Cut16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Cut16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Delete16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Delete16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Down16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Down16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Edit16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Edit16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/End16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/End16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Error16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Error16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Exit16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Exit16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Expand16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Expand16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/ExpandAll24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/ExpandAll24.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Export16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Export16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Filter16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Filter16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Find16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Find16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/FindAgain16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/FindAgain16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/First16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/First16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Forward16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Forward16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Goto24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Goto24.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/GreenCircle16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/GreenCircle16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Help16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Help16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/History16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/History16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Import16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Import16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Information16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Information16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Last16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Last16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/LaunchRed24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/LaunchRed24.png -------------------------------------------------------------------------------- /src/org/infinity/icon/LaunchRedPlus24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/LaunchRedPlus24.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Magnify16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Magnify16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/Movie16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Movie16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Music16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Music16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/New16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/New16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Open16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Open16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Paste16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Paste16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Pause16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Pause16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Play16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Play16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Print16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Print16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Properties16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Properties16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Redo16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Redo16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Refresh16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Refresh16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Release16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Release16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Remove16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Remove16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/RowInsertAfter16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/RowInsertAfter16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Save16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Save16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/SelectInTree16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/SelectInTree16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/StepBack16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/StepBack16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/StepForward16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/StepForward16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Stop16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Stop16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Stop24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Stop24.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Undo16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Undo16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Up16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Up16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Volume16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Volume16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Warning16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Warning16.png -------------------------------------------------------------------------------- /src/org/infinity/icon/YellowCircle16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/YellowCircle16.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/YellowCircle20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/YellowCircle20.gif -------------------------------------------------------------------------------- /src/org/infinity/icon/Zoom16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/icon/Zoom16.gif -------------------------------------------------------------------------------- /src/org/infinity/resource/AddRemovable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | /** 8 | * Implementors of this interface, must have a constructor without arguments. 9 | */ 10 | public interface AddRemovable extends StructEntry { 11 | /** 12 | * Determines if this entry can be removed from or added to its owner structure. 13 | * 14 | * @return {@code true} if this object can be removed or added now and {@code false} otherwise 15 | */ 16 | boolean canRemove(); 17 | } 18 | -------------------------------------------------------------------------------- /src/org/infinity/resource/Closeable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | public interface Closeable { 8 | void close() throws Exception; 9 | } 10 | -------------------------------------------------------------------------------- /src/org/infinity/resource/Referenceable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | import java.awt.Component; 8 | 9 | /** 10 | * References to the resource can be search for by {@code ReferenceSearcher}. 11 | */ 12 | public interface Referenceable { 13 | /** Returns whether {@code ReferenceSearcher} is available for the current resource. */ 14 | boolean isReferenceable(); 15 | 16 | /** Invokes the reference search dialog for the resource. */ 17 | void searchReferences(Component parent); 18 | } 19 | -------------------------------------------------------------------------------- /src/org/infinity/resource/Resource.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | import org.infinity.resource.key.ResourceEntry; 8 | 9 | public interface Resource extends Viewable { 10 | ResourceEntry getResourceEntry(); 11 | } 12 | -------------------------------------------------------------------------------- /src/org/infinity/resource/TextResource.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | /** Represents resource that is just plain text in some format. */ 8 | public interface TextResource extends Resource { 9 | /** Returns text representation of the resource. */ 10 | String getText(); 11 | 12 | /** Select text of specified {@code linenr}, optionally limited to matching {@code text}. */ 13 | void highlightText(int linenr, String text); 14 | 15 | /** 16 | * Select all text from {@code startOfs} (inclusively) to {@code endOfs} (exclusively). Preferred method when 17 | * selecting text spanning multiple lines. 18 | */ 19 | void highlightText(int startOfs, int endOfs); 20 | } 21 | -------------------------------------------------------------------------------- /src/org/infinity/resource/Viewable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | import javax.swing.JComponent; 8 | 9 | public interface Viewable { 10 | JComponent makeViewer(ViewableContainer container); 11 | } 12 | -------------------------------------------------------------------------------- /src/org/infinity/resource/ViewableContainer.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | import org.infinity.gui.StatusBar; 8 | 9 | public interface ViewableContainer { 10 | StatusBar getStatusBar(); 11 | 12 | Viewable getViewable(); 13 | 14 | void setViewable(Viewable vieweable); 15 | } 16 | -------------------------------------------------------------------------------- /src/org/infinity/resource/Writeable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource; 6 | 7 | import java.io.IOException; 8 | import java.io.OutputStream; 9 | 10 | import org.infinity.datatype.Readable; 11 | 12 | /** 13 | * The interface implemented by objects which can be serialized in the self-natural internal format. As a rule, the same 14 | * objects implements the {@link Readable} interface by means of which they can be read back from the input stream. 15 | * 16 | * @see org.infinity.datatype.Readable 17 | */ 18 | public interface Writeable { 19 | /** 20 | * Writes content of this object to specified output stream. 21 | * 22 | * @param os Stream with binary representation of this object in its natural format 23 | * 24 | * @throws IOException if an I/O error occurs 25 | * @throws NullPointerException if os is {@code null} 26 | */ 27 | void write(OutputStream os) throws IOException; 28 | } 29 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/Explored.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.Unknown; 10 | 11 | /** 12 | * Subclassed from {@code Unknown} to make field type identifiable by reflection. 13 | */ 14 | public class Explored extends Unknown { 15 | 16 | public Explored(ByteBuffer buffer, int offset, int length) { 17 | super(buffer, offset, length); 18 | } 19 | 20 | public Explored(ByteBuffer buffer, int offset, int length, String name) { 21 | super(buffer, offset, length, name); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/HasVertices.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public interface HasVertices { 10 | void readVertices(ByteBuffer buffer, int offset) throws Exception; 11 | 12 | int updateVertices(int offset, int number); 13 | } 14 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/Variable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.resource.AbstractVariable; 11 | 12 | public class Variable extends AbstractVariable { 13 | Variable() throws Exception { 14 | super(); 15 | } 16 | 17 | Variable(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 18 | super(superStruct, buffer, offset, number); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/BasicResource.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are.viewer; 6 | 7 | /** 8 | * The base class for structures that can hold a unique identifier and their data. 9 | */ 10 | public abstract class BasicResource { 11 | private final String key; 12 | 13 | protected BasicResource(String key) { 14 | if (key == null || key.isEmpty()) { 15 | throw new NullPointerException(); 16 | } 17 | this.key = key; 18 | } 19 | 20 | /** 21 | * Returns the key value of the resource structure. 22 | */ 23 | public String getKey() { 24 | return key; 25 | } 26 | 27 | /** 28 | * Returns the data associated with the key. 29 | */ 30 | public abstract Object getData(); 31 | } 32 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/ResourceAnimation.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are.viewer; 6 | 7 | import org.infinity.resource.graphics.BamDecoder; 8 | 9 | /** 10 | * A structure to hold a unique identifier and the associated BAM animation. 11 | */ 12 | public class ResourceAnimation extends BasicResource { 13 | private final BamDecoder bam; 14 | 15 | /** 16 | * Creates a new animation object that consists of a resource name (any unique name will do) and the associated BAM 17 | * animation. 18 | * 19 | * @param key A unique keyword that can be used to identify the animation. 20 | * @param bam The BAM animation object. 21 | */ 22 | public ResourceAnimation(String key, BamDecoder bam) { 23 | super(key); 24 | this.bam = bam; 25 | } 26 | 27 | @Override 28 | public BamDecoder getData() { 29 | return bam; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/ResourceIcon.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are.viewer; 6 | 7 | import java.awt.Image; 8 | 9 | /** 10 | * A structure to hold a unique identifier and the associated icon image. 11 | */ 12 | public class ResourceIcon extends BasicResource { 13 | private final Image[] image; 14 | 15 | public ResourceIcon(String key, Image[] image) { 16 | super(key); 17 | this.image = image; 18 | } 19 | 20 | @Override 21 | public Image[] getData() { 22 | return image; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/TilesetChangeListener.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.are.viewer; 6 | 7 | import java.util.EventListener; 8 | 9 | public interface TilesetChangeListener extends EventListener { 10 | void tilesetChanged(TilesetChangeEvent event); 11 | } 12 | -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addActor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addActor.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addAmbient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addAmbient.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addAnim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addAnim.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addAutomap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addAutomap.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addContainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addContainer.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addDoor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addDoor.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addDoorPoly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addDoorPoly.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addEntrance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addEntrance.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addProTrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addProTrap.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addRegion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addRegion.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addSpawnPoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addSpawnPoint.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_addWallPoly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_addWallPoly.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_editMode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_editMode.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_export.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_map.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_mapAre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_mapAre.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_mapWed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_mapWed.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_refresh.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_rest.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_settings.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_songs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_songs.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/btn_viewMode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/btn_viewMode.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AmbientG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AmbientG1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AmbientG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AmbientG2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AmbientL1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AmbientL1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AmbientL2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AmbientL2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Anim1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Anim1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Anim1_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Anim1_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Anim2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Anim2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Anim2_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Anim2_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimBAM1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimBAM1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimBAM1_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimBAM1_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimBAM2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimBAM2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimBAM2_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimBAM2_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ1_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ1_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ2_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimPVRZ2_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimWBM1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimWBM1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimWBM1_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimWBM1_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimWBM2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimWBM2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AnimWBM2_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AnimWBM2_bw.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorB1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorB1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorB2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorB2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorG1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorG2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorR1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorR1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_AreActorR2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_AreActorR2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Automap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Automap1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Automap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Automap2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Container1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Container1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Container2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Container2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_ContainerLaunch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_ContainerLaunch1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_ContainerLaunch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_ContainerLaunch2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorClosed1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorClosed1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorClosed2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorClosed2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorLaunch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorLaunch1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorLaunch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorLaunch2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorOpen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorOpen1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_DoorOpen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_DoorOpen2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Entrance1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Entrance1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Entrance2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Entrance2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorB1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorB1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorB2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorB2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorG1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorG2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorR1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorR1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_GamActorR2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_GamActorR2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorB1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorB1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorB2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorB2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorG1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorG2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorR1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorR1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_IniActorR2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_IniActorR2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_ProTrap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_ProTrap1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_ProTrap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_ProTrap2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Region1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Region1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Region2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Region2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_RegionActivation1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_RegionActivation1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_RegionActivation2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_RegionActivation2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_RegionSpeaker1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_RegionSpeaker1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_RegionSpeaker2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_RegionSpeaker2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_SpawnPoint1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_SpawnPoint1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_SpawnPoint2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_SpawnPoint2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Vertex1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Vertex1.png -------------------------------------------------------------------------------- /src/org/infinity/resource/are/viewer/icon/itm_Vertex2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/are/viewer/icon/itm_Vertex2.png -------------------------------------------------------------------------------- /src/org/infinity/resource/bcs/ScriptType.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.bcs; 6 | 7 | /** 8 | * Global enum to indicate a specific script type. 9 | */ 10 | public enum ScriptType { 11 | /** Indicates that code is a complete BAF source. */ 12 | BAF, 13 | /** Indicates that code is a complete BCS resource. */ 14 | BCS, 15 | /** Indicates that code is a sequence of script triggers. */ 16 | TRIGGER, 17 | /** Indicates that code is a sequence of script actions. */ 18 | ACTION, 19 | /** Indicates a special meaning. */ 20 | CUSTOM 21 | } 22 | -------------------------------------------------------------------------------- /src/org/infinity/resource/bcs/parser/BafNode.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.bcs.parser; 6 | 7 | /** 8 | * Note: Setting option NODE_CLASS in .jjt file tells the compiler to use a custom Node class in favor of the 9 | * default class {@link SimpleNode}. 10 | */ 11 | public class BafNode extends SimpleNode { 12 | public BafNode(int id) { 13 | super(id); 14 | } 15 | 16 | public BafNode(BafParser p, int id) { 17 | super(p, id); 18 | } 19 | 20 | /** 21 | * Returns the content of all tokens associated with the node. 22 | */ 23 | public String getTokenString() { 24 | StringBuilder sb = new StringBuilder(); 25 | Token token1 = jjtGetFirstToken(); 26 | Token token2 = jjtGetLastToken(); 27 | while (token1 != null) { 28 | sb.append(token1); 29 | if (token1 != token2) { 30 | token1 = token1.next; 31 | } else { 32 | token1 = null; 33 | } 34 | } 35 | return sb.toString(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/org/infinity/resource/bcs/parser/BafNodeException.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.bcs.parser; 6 | 7 | /** 8 | * Extends {@link ParseException} by another constructor. 9 | */ 10 | public class BafNodeException extends ParseException { 11 | public BafNodeException(Token token) { 12 | super(); 13 | this.currentToken = token; 14 | } 15 | 16 | public BafNodeException(String message, Token token) { 17 | super(message); 18 | this.currentToken = token; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/IndexNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.cre; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.DecNumber; 10 | 11 | /** 12 | * Subclassed from {@code DecNumber} to make field type identifiable by reflection. 13 | */ 14 | public class IndexNumber extends DecNumber { 15 | public IndexNumber(ByteBuffer buffer, int offset, int length, String name) { 16 | super(buffer, offset, length, name); 17 | } 18 | 19 | public IndexNumber(ByteBuffer buffer, int offset, int length, String name, boolean signed) { 20 | super(buffer, offset, length, name, signed); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/bg_cave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/bg_cave.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/bg_wilderness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/bg_wilderness.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/iwd_wilderness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/iwd_wilderness.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/pst_city.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/pst_city.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/pst_dungeon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/pst_dungeon.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/bg/sod_city_night.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/bg/sod_city_night.jpg -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_center.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_end.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_home.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_pause.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_play.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_resume.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_step_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_step_back.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_step_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_step_forward.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/btn_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/btn_stop.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/circle_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/circle_blue.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/circle_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/circle_green.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/circle_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/circle_red.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/browser/icon/circle_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/browser/icon/circle_yellow.png -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/decoder/placeholder.bam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/decoder/placeholder.bam -------------------------------------------------------------------------------- /src/org/infinity/resource/cre/decoder/tables/infinityanimations-v5.ids: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NearInfinityBrowser/NearInfinity/3e21f92f8e40ee660c8df32de910d5d56a1c7a78/src/org/infinity/resource/cre/decoder/tables/infinityanimations-v5.ids -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/Action.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public final class Action extends AbstractCode { 10 | // DLG/Action-specific field labels 11 | public static final String DLG_ACTION = "Action"; 12 | 13 | private int nr; 14 | 15 | public Action() { 16 | super(DLG_ACTION); 17 | } 18 | 19 | public Action(ByteBuffer buffer, int offset, int count) { 20 | super(buffer, offset, DLG_ACTION + " " + count); 21 | this.nr = count; 22 | } 23 | 24 | public int getNumber() { 25 | return nr; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/BrokenReference.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | /** 8 | * Marker interface that implemented by classes, that represent broken elements in visual dialog tree. 9 | * 10 | * @author Mingun 11 | */ 12 | public interface BrokenReference { 13 | } 14 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/ResponseTrigger.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public class ResponseTrigger extends AbstractCode { 10 | // DLG/ResponseTrigger-specific field labels 11 | public static final String DLG_RESPONSE_TRIGGER = "Response trigger"; 12 | 13 | private int nr; 14 | 15 | public ResponseTrigger() { 16 | super(DLG_RESPONSE_TRIGGER); 17 | } 18 | 19 | public ResponseTrigger(ByteBuffer buffer, int offset, int count) { 20 | super(buffer, offset, DLG_RESPONSE_TRIGGER + " " + count); 21 | this.nr = count; 22 | } 23 | 24 | public int getNumber() { 25 | return nr; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/StateOwnerItem.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import java.util.Enumeration; 8 | 9 | /** Auxiliary class, being the parent for states, for a type safety. */ 10 | public abstract class StateOwnerItem extends ItemBase { 11 | @Override 12 | public abstract StateItem getChildAt(int childIndex); 13 | 14 | @Override 15 | public abstract Enumeration children(); 16 | } 17 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/StateTrigger.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | public class StateTrigger extends AbstractCode { 10 | // DLG/StateTrigger-specific field labels 11 | public static final String DLG_STATE_TRIGGER = "State trigger"; 12 | 13 | private int nr; 14 | 15 | public StateTrigger() { 16 | super(DLG_STATE_TRIGGER); 17 | } 18 | 19 | public StateTrigger(ByteBuffer buffer, int offset, int count) { 20 | super(buffer, offset, DLG_STATE_TRIGGER + " " + count); 21 | this.nr = count; 22 | } 23 | 24 | public int getNumber() { 25 | return nr; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/TransitionOwnerItem.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import java.util.Enumeration; 8 | 9 | /** Auxiliary class, being the parent for transitions, for a type safety. */ 10 | public abstract class TransitionOwnerItem extends ItemBase implements Iterable { 11 | @Override 12 | public abstract TransitionItem getChildAt(int childIndex); 13 | 14 | @Override 15 | public abstract Enumeration children(); 16 | } 17 | -------------------------------------------------------------------------------- /src/org/infinity/resource/dlg/TreeItemEntry.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.dlg; 6 | 7 | import org.infinity.datatype.StringRef; 8 | import org.infinity.resource.StructEntry; 9 | 10 | /** 11 | * Interface for structures that represent dialog tree items. 12 | * 13 | * @author Mingun 14 | */ 15 | public interface TreeItemEntry extends StructEntry { 16 | @Override 17 | DlgResource getParent(); 18 | 19 | /** 20 | * Determines has this entry text or not, even if it contains some string reference. 21 | * 22 | * @return {@code true}, if {@link #getAssociatedText()} returns used reference, {@code false} otherwise 23 | */ 24 | boolean hasAssociatedText(); 25 | 26 | /** 27 | * Returns attribute that represents text for show in the tree. 28 | * 29 | * @return Text for show or {@code null} if case of broken structure 30 | */ 31 | StringRef getAssociatedText(); 32 | } 33 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode002.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 2. 17 | */ 18 | public class Opcode002 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure sleep"; 22 | } 23 | 24 | public Opcode002() { 25 | super(2, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode004.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 4. 17 | */ 18 | public class Opcode004 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure berserk"; 22 | } 23 | 24 | public Opcode004() { 25 | super(4, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode006.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 6. 17 | */ 18 | public class Opcode006 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Charisma bonus"; 22 | } 23 | 24 | public Opcode006() { 25 | super(6, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode007.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.ColorValue; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.HashBitmap; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 7. 17 | */ 18 | public class Opcode007 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Set color"; 22 | } 23 | 24 | public Opcode007() { 25 | super(7, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new ColorValue(buffer, offset, 4, EFFECT_COLOR, false)); 32 | list.add(new HashBitmap(buffer, offset + 4, 4, EFFECT_LOCATION, COLOR_LOCATIONS_MAP, false)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode010.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 10. 17 | */ 18 | public class Opcode010 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Constitution bonus"; 22 | } 23 | 24 | public Opcode010() { 25 | super(10, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode011.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 11. 17 | */ 18 | public class Opcode011 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure poison"; 22 | } 23 | 24 | public Opcode011() { 25 | super(11, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode014.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 14. 17 | */ 18 | public class Opcode014 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Defrost"; 22 | } 23 | 24 | public Opcode014() { 25 | super(14, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode019.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 19. 17 | */ 18 | public class Opcode019 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Intelligence bonus"; 22 | } 23 | 24 | public Opcode019() { 25 | super(19, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode027.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 27. 17 | */ 18 | public class Opcode027 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Acid resistance bonus"; 22 | } 23 | 24 | public Opcode027() { 25 | super(27, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode028.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 28. 17 | */ 18 | public class Opcode028 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cold resistance bonus"; 22 | } 23 | 24 | public Opcode028() { 25 | super(28, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode029.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 29. 17 | */ 18 | public class Opcode029 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Electricity resistance bonus"; 22 | } 23 | 24 | public Opcode029() { 25 | super(29, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode030.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 30. 17 | */ 18 | public class Opcode030 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Fire resistance bonus"; 22 | } 23 | 24 | public Opcode030() { 25 | super(30, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode031.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 31. 17 | */ 18 | public class Opcode031 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Magic damage resistance bonus"; 22 | } 23 | 24 | public Opcode031() { 25 | super(31, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode038.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 38. 17 | */ 18 | public class Opcode038 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Silence"; 22 | } 23 | 24 | public Opcode038() { 25 | super(38, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode040.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 40. 17 | */ 18 | public class Opcode040 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Slow"; 22 | } 23 | 24 | public Opcode040() { 25 | super(40, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode043.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 43. 17 | */ 18 | public class Opcode043 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Stone to flesh"; 22 | } 23 | 24 | public Opcode043() { 25 | super(43, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode046.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 46. 17 | */ 18 | public class Opcode046 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure stun"; 22 | } 23 | 24 | public Opcode046() { 25 | super(46, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode048.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 48. 17 | */ 18 | public class Opcode048 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Vocalize"; 22 | } 23 | 24 | public Opcode048() { 25 | super(48, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode049.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 49. 17 | */ 18 | public class Opcode049 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Wisdom bonus"; 22 | } 23 | 24 | public Opcode049() { 25 | super(49, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode055.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.IdsTargetType; 12 | import org.infinity.resource.StructEntry; 13 | 14 | /** 15 | * Implementation of opcode 55. 16 | */ 17 | public class Opcode055 extends BaseOpcode { 18 | /** Returns the opcode name for the current game variant. */ 19 | private static String getOpcodeName() { 20 | return "Slay"; 21 | } 22 | 23 | public Opcode055() { 24 | super(55, getOpcodeName()); 25 | } 26 | 27 | @Override 28 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 29 | boolean isVersion1) { 30 | final IdsTargetType param2 = new IdsTargetType(buffer, offset + 4); 31 | list.add(param2.createIdsValueFromType(buffer)); 32 | list.add(param2); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode056.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 56. 17 | */ 18 | public class Opcode056 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Invert alignment"; 22 | } 23 | 24 | public Opcode056() { 25 | super(56, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode063.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 63. 17 | */ 18 | public class Opcode063 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Infravision"; 22 | } 23 | 24 | public Opcode063() { 25 | super(63, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode064.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 64. 17 | */ 18 | public class Opcode064 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Remove infravision"; 22 | } 23 | 24 | public Opcode064() { 25 | super(64, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode065.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 65. 17 | */ 18 | public class Opcode065 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Blur"; 22 | } 23 | 24 | public Opcode065() { 25 | super(65, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode069.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 69. 17 | */ 18 | public class Opcode069 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Nondetection"; 22 | } 23 | 24 | public Opcode069() { 25 | super(69, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode074.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 74. 17 | */ 18 | public class Opcode074 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Blindness"; 22 | } 23 | 24 | public Opcode074() { 25 | super(74, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode075.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 75. 17 | */ 18 | public class Opcode075 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure blindness"; 22 | } 23 | 24 | public Opcode075() { 25 | super(75, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode076.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 76. 17 | */ 18 | public class Opcode076 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Feeblemindedness"; 22 | } 23 | 24 | public Opcode076() { 25 | super(76, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode079.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 79. 17 | */ 18 | public class Opcode079 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure disease"; 22 | } 23 | 24 | public Opcode079() { 25 | super(79, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode080.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 80. 17 | */ 18 | public class Opcode080 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Deafness"; 22 | } 23 | 24 | public Opcode080() { 25 | super(80, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode081.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 81. 17 | */ 18 | public class Opcode081 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Cure deafness"; 22 | } 23 | 24 | public Opcode081() { 25 | super(81, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode086.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 86. 17 | */ 18 | public class Opcode086 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Slashing resistance bonus"; 22 | } 23 | 24 | public Opcode086() { 25 | super(86, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode087.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 87. 17 | */ 18 | public class Opcode087 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Crushing resistance bonus"; 22 | } 23 | 24 | public Opcode087() { 25 | super(87, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode088.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 88. 17 | */ 18 | public class Opcode088 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Piercing resistance bonus"; 22 | } 23 | 24 | public Opcode088() { 25 | super(88, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode089.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 89. 17 | */ 18 | public class Opcode089 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Missile resistance bonus"; 22 | } 23 | 24 | public Opcode089() { 25 | super(89, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode090.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 90. 17 | */ 18 | public class Opcode090 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Open locks bonus"; 22 | } 23 | 24 | public Opcode090() { 25 | super(90, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode091.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 91. 17 | */ 18 | public class Opcode091 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Find traps bonus"; 22 | } 23 | 24 | public Opcode091() { 25 | super(91, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode092.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 92. 17 | */ 18 | public class Opcode092 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Pick pockets bonus"; 22 | } 23 | 24 | public Opcode092() { 25 | super(92, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode093.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 93. 17 | */ 18 | public class Opcode093 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Fatigue bonus"; 22 | } 23 | 24 | public Opcode093() { 25 | super(93, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode094.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 94. 17 | */ 18 | public class Opcode094 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Intoxication bonus"; 22 | } 23 | 24 | public Opcode094() { 25 | super(94, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode095.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 95. 17 | */ 18 | public class Opcode095 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Tracking bonus"; 22 | } 23 | 24 | public Opcode095() { 25 | super(95, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode096.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 96. 17 | */ 18 | public class Opcode096 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Change level"; 22 | } 23 | 24 | public Opcode096() { 25 | super(96, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode097.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 97. 17 | */ 18 | public class Opcode097 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Exceptional strength bonus"; 22 | } 23 | 24 | public Opcode097() { 25 | super(97, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode100.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.IdsTargetType; 12 | import org.infinity.resource.StructEntry; 13 | 14 | /** 15 | * Implementation of opcode 100. 16 | */ 17 | public class Opcode100 extends BaseOpcode { 18 | /** Returns the opcode name for the current game variant. */ 19 | private static String getOpcodeName() { 20 | return "Protection from creature type"; 21 | } 22 | 23 | public Opcode100() { 24 | super(100, getOpcodeName()); 25 | } 26 | 27 | @Override 28 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 29 | boolean isVersion1) { 30 | final IdsTargetType param2 = new IdsTargetType(buffer, offset + 4); 31 | list.add(param2.createIdsValueFromType(buffer)); 32 | list.add(param2); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode104.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 104. 17 | */ 18 | public class Opcode104 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "XP bonus"; 22 | } 23 | 24 | public Opcode104() { 25 | super(104, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode105.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 105. 17 | */ 18 | public class Opcode105 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Remove gold"; 22 | } 23 | 24 | public Opcode105() { 25 | super(105, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode106.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Bitmap; 11 | import org.infinity.datatype.Datatype; 12 | import org.infinity.datatype.DecNumber; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 106. 17 | */ 18 | public class Opcode106 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Morale break"; 22 | } 23 | 24 | public Opcode106() { 25 | super(106, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_VALUE)); 32 | list.add(new Bitmap(buffer, offset + 4, 4, EFFECT_MODIFIER_TYPE, INC_TYPES)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode116.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 116. 17 | */ 18 | public class Opcode116 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Detect invisible"; 22 | } 23 | 24 | public Opcode116() { 25 | super(116, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode117.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 117. 17 | */ 18 | public class Opcode117 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Clairvoyance"; 22 | } 23 | 24 | public Opcode117() { 25 | super(117, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode125.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 125. 17 | */ 18 | public class Opcode125 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Unlock"; 22 | } 23 | 24 | public Opcode125() { 25 | super(125, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode128.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 128. 17 | */ 18 | public class Opcode128 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Confusion"; 22 | } 23 | 24 | public Opcode128() { 25 | super(128, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode129.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.StructEntry; 13 | 14 | /** 15 | * Implementation of opcode 129. 16 | */ 17 | public class Opcode129 extends BaseOpcode { 18 | private static final String EFFECT_HP_BONUS = "HP bonus"; 19 | 20 | /** Returns the opcode name for the current game variant. */ 21 | private static String getOpcodeName() { 22 | return "Aid (non-cumulative)"; 23 | } 24 | 25 | public Opcode129() { 26 | super(129, getOpcodeName()); 27 | } 28 | 29 | @Override 30 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 31 | boolean isVersion1) { 32 | list.add(new DecNumber(buffer, offset, 4, EFFECT_AMOUNT)); 33 | list.add(new DecNumber(buffer, offset + 4, 4, EFFECT_HP_BONUS)); 34 | return null; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode130.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 130. 17 | */ 18 | public class Opcode130 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Bless (non-cumulative)"; 22 | } 23 | 24 | public Opcode130() { 25 | super(130, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_AMOUNT)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode133.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 133. 17 | */ 18 | public class Opcode133 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Luck (non-cumulative)"; 22 | } 23 | 24 | public Opcode133() { 25 | super(133, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, EFFECT_AMOUNT)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode134.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 134. 17 | */ 18 | public class Opcode134 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Petrification"; 22 | } 23 | 24 | public Opcode134() { 25 | super(134, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode136.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 136. 17 | */ 18 | public class Opcode136 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Force visible"; 22 | } 23 | 24 | public Opcode136() { 25 | super(136, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode149.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 149. 17 | */ 18 | public class Opcode149 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Identify"; 22 | } 23 | 24 | public Opcode149() { 25 | super(149, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode150.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 150. 17 | */ 18 | public class Opcode150 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Find traps"; 22 | } 23 | 24 | public Opcode150() { 25 | super(150, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode160.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 160. 17 | */ 18 | public class Opcode160 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Remove sanctuary"; 22 | } 23 | 24 | public Opcode160() { 25 | super(160, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode161.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 161. 17 | */ 18 | public class Opcode161 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Remove fear"; 22 | } 23 | 24 | public Opcode161() { 25 | super(161, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode163.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.DecNumber; 12 | import org.infinity.resource.AbstractStruct; 13 | import org.infinity.resource.StructEntry; 14 | 15 | /** 16 | * Implementation of opcode 163. 17 | */ 18 | public class Opcode163 extends BaseOpcode { 19 | /** Returns the opcode name for the current game variant. */ 20 | private static String getOpcodeName() { 21 | return "Free action"; 22 | } 23 | 24 | public Opcode163() { 25 | super(163, getOpcodeName()); 26 | } 27 | 28 | @Override 29 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 30 | boolean isVersion1) { 31 | list.add(new DecNumber(buffer, offset, 4, AbstractStruct.COMMON_UNUSED)); 32 | list.add(new DecNumber(buffer, offset + 4, 4, AbstractStruct.COMMON_UNUSED)); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/effects/Opcode175.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.effects; 6 | 7 | import java.nio.ByteBuffer; 8 | import java.util.List; 9 | 10 | import org.infinity.datatype.Datatype; 11 | import org.infinity.datatype.IdsTargetType; 12 | import org.infinity.resource.StructEntry; 13 | 14 | /** 15 | * Implementation of opcode 175. 16 | */ 17 | public class Opcode175 extends BaseOpcode { 18 | /** Returns the opcode name for the current game variant. */ 19 | private static String getOpcodeName() { 20 | return "Hold creature"; 21 | } 22 | 23 | public Opcode175() { 24 | super(175, getOpcodeName()); 25 | } 26 | 27 | @Override 28 | protected String makeEffectParamsGeneric(Datatype parent, ByteBuffer buffer, int offset, List list, 29 | boolean isVersion1) { 30 | final IdsTargetType param2 = new IdsTargetType(buffer, offset + 4); 31 | list.add(param2.createIdsValueFromType(buffer)); 32 | list.add(param2); 33 | return null; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/org/infinity/resource/gam/KillVariable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.gam; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class KillVariable extends Variable { 13 | // GAM/KillVariable-specific field labels 14 | public static final String GAM_KILLVAR = "Kill variable"; 15 | 16 | KillVariable() throws Exception { 17 | super(null, GAM_KILLVAR, StreamUtils.getByteBuffer(84), 0); 18 | } 19 | 20 | KillVariable(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 21 | super(superStruct, GAM_KILLVAR + " " + number, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/gam/NonPartyNPC.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.gam; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public final class NonPartyNPC extends PartyNPC { 12 | // GAM/NonPartyNPC-specific field labels 13 | public static final String GAM_EXNPC = "Non-party character"; 14 | 15 | NonPartyNPC() throws Exception { 16 | super(null, GAM_EXNPC, createEmptyBuffer(), 0); 17 | } 18 | 19 | NonPartyNPC(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 20 | super(superStruct, GAM_EXNPC + " " + nr, buffer, offset); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/gam/UnknownSection2.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.gam; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.Unknown; 10 | import org.infinity.resource.AbstractStruct; 11 | 12 | final class UnknownSection2 extends AbstractStruct { 13 | // GAM/Unknown-specific field labels 14 | public static final String GAM_UNKNOWN = "Unknown section"; 15 | 16 | UnknownSection2(AbstractStruct superStruct, ByteBuffer buffer, int offset) throws Exception { 17 | super(superStruct, GAM_UNKNOWN, buffer, offset); 18 | } 19 | 20 | @Override 21 | public int read(ByteBuffer buffer, int offset) throws Exception { 22 | addField(new Unknown(buffer, offset, 20)); 23 | return offset + 20; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/resource/gam/UnknownSection3.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.gam; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.Unknown; 10 | import org.infinity.resource.AbstractStruct; 11 | 12 | final class UnknownSection3 extends AbstractStruct { 13 | // GAM/Unknown-specific field labels 14 | public static final String GAM_UNKNOWN = "Unknown section"; 15 | 16 | UnknownSection3(AbstractStruct superStruct, ByteBuffer buffer, int offset) throws Exception { 17 | super(superStruct, GAM_UNKNOWN, buffer, offset); 18 | } 19 | 20 | @Override 21 | public int read(ByteBuffer buffer, int offset) throws Exception { 22 | addField(new Unknown(buffer, offset, 24)); 23 | return offset + 24; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/resource/gam/Variable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.gam; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.resource.AbstractVariable; 11 | 12 | public class Variable extends AbstractVariable { 13 | public Variable() throws Exception { 14 | super(); 15 | } 16 | 17 | public Variable(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 18 | super(superStruct, buffer, offset, number); 19 | } 20 | 21 | public Variable(AbstractStruct superStruct, String name, ByteBuffer buffer, int offset) throws Exception { 22 | super(superStruct, name, buffer, offset); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/org/infinity/resource/graphics/decoder/Decodable.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.graphics.decoder; 6 | 7 | import java.awt.Rectangle; 8 | import java.awt.image.BufferedImage; 9 | 10 | /** 11 | * Common interface for texture decoder classes. 12 | */ 13 | public interface Decodable { 14 | /** 15 | * Decodes PVR data in the format as specified by the associated {@link PvrInfo}, and draws the specified 16 | * "region" into "image". 17 | * 18 | * @param image The output image 19 | * @param region The PVR texture region to draw onto "image" 20 | * @return Success state of the operation. 21 | * @throws Exception on error. 22 | */ 23 | boolean decode(BufferedImage image, Rectangle region) throws Exception; 24 | 25 | /** Returns the associated {@link PvrInfo} object. */ 26 | PvrInfo getPvrInfo(); 27 | } 28 | -------------------------------------------------------------------------------- /src/org/infinity/resource/sound/AudioStateListener.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.sound; 6 | 7 | import java.util.EventListener; 8 | 9 | /** 10 | * Instances of classes that implement the {@code AudioStateListener} interface can receive events when the state 11 | * of the audio player has changed. 12 | */ 13 | public interface AudioStateListener extends EventListener { 14 | /** 15 | * Informs the listener that the audio state has changed. 16 | * 17 | * @param event a {@link AudioStateEvent} that describes the changed state. 18 | */ 19 | void audioStateChanged(AudioStateEvent event); 20 | } 21 | -------------------------------------------------------------------------------- /src/org/infinity/resource/sto/Purchases.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.sto; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.ItemTypeBitmap; 10 | import org.infinity.resource.AddRemovable; 11 | import org.infinity.util.io.StreamUtils; 12 | 13 | public final class Purchases extends ItemTypeBitmap implements AddRemovable { 14 | // STO/Purchases-specific field labels 15 | public static final String STO_PURCHASES = "Store purchases"; 16 | 17 | Purchases() { 18 | super(StreamUtils.getByteBuffer(4), 0, 4, STO_PURCHASES); 19 | } 20 | 21 | Purchases(ByteBuffer buffer, int offset, int number) { 22 | super(buffer, offset, 4, STO_PURCHASES + " " + number); 23 | } 24 | 25 | // --------------------- Begin Interface AddRemovable --------------------- 26 | 27 | @Override 28 | public boolean canRemove() { 29 | return true; 30 | } 31 | 32 | // --------------------- End Interface AddRemovable --------------------- 33 | } 34 | -------------------------------------------------------------------------------- /src/org/infinity/resource/ui/ResourceCellRenderer.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.ui; 6 | 7 | import java.awt.Component; 8 | 9 | import javax.swing.DefaultListCellRenderer; 10 | import javax.swing.JList; 11 | 12 | import org.infinity.gui.menu.BrowserMenuBar; 13 | import org.infinity.resource.key.ResourceEntry; 14 | 15 | /** 16 | * Renderer for lists of {@link ResourceEntry} objects. 17 | * 18 | * @author Mingun 19 | */ 20 | public class ResourceCellRenderer extends DefaultListCellRenderer { 21 | @Override 22 | public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, 23 | boolean cellHasFocus) { 24 | super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 25 | 26 | final ResourceEntry entry = (ResourceEntry) value; 27 | if (entry != null) { 28 | setText(BrowserMenuBar.getInstance().getOptions().getResRefMode().format(entry)); 29 | } else { 30 | setText(""); 31 | } 32 | return this; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vef/PrimaryComponent.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vef; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public final class PrimaryComponent extends AbstractComponent { 12 | // VEF/Component1-specific field labels 13 | public static final String VEF_COMP_PRI = "Primary component"; 14 | 15 | PrimaryComponent() throws Exception { 16 | super(VEF_COMP_PRI); 17 | } 18 | 19 | PrimaryComponent(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 20 | super(superStruct, buffer, offset, VEF_COMP_PRI + " " + nr); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vef/SecondaryComponent.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vef; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public final class SecondaryComponent extends AbstractComponent { 12 | // VEF/Component2-specific field labels 13 | public static final String VEF_COMP_SEC = "Secondary component"; 14 | 15 | SecondaryComponent() throws Exception { 16 | super(VEF_COMP_SEC); 17 | } 18 | 19 | SecondaryComponent(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 20 | super(superStruct, buffer, offset, VEF_COMP_SEC + " " + nr); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vertex/ClosedVertex.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vertex; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class ClosedVertex extends Vertex { 13 | // ClosedVertex-specific field labels 14 | public static final String VERTEX_CLOSED = "Closed vertex"; 15 | 16 | public ClosedVertex() throws Exception { 17 | super(null, VERTEX_CLOSED, StreamUtils.getByteBuffer(4), 0); 18 | } 19 | 20 | public ClosedVertex(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, VERTEX_CLOSED + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vertex/ClosedVertexImpeded.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vertex; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class ClosedVertexImpeded extends Vertex { 13 | // ClosedVertexImpeded-specific field labels 14 | public static final String VERTEX_CLOSED_IMPEDED = "Impeded cell (closed)"; 15 | 16 | public ClosedVertexImpeded() throws Exception { 17 | super(null, VERTEX_CLOSED_IMPEDED, StreamUtils.getByteBuffer(4), 0); 18 | } 19 | 20 | public ClosedVertexImpeded(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, VERTEX_CLOSED_IMPEDED + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vertex/OpenVertex.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vertex; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class OpenVertex extends Vertex { 13 | // OpenVertex-specific field labels 14 | public static final String VERTEX_OPEN = "Open vertex"; 15 | 16 | public OpenVertex() throws Exception { 17 | super(null, VERTEX_OPEN, StreamUtils.getByteBuffer(4), 0); 18 | } 19 | 20 | public OpenVertex(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, VERTEX_OPEN + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/vertex/OpenVertexImpeded.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.vertex; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class OpenVertexImpeded extends Vertex { 13 | // OpenVertexImpeded-specific field labels 14 | public static final String VERTEX_OPEN_IMPEDED = "Impeded cell (open)"; 15 | 16 | public OpenVertexImpeded() throws Exception { 17 | super(null, VERTEX_OPEN_IMPEDED, StreamUtils.getByteBuffer(4), 0); 18 | } 19 | 20 | public OpenVertexImpeded(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, VERTEX_OPEN_IMPEDED + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wed/ClosedPolygon.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wed; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class ClosedPolygon extends Polygon { 13 | // WED/ClosedPolygon-specific field labels 14 | public static final String WED_POLY_CLOSED = "Closed polygon"; 15 | 16 | public ClosedPolygon() throws Exception { 17 | super(null, WED_POLY_CLOSED, StreamUtils.getByteBuffer(18), 0); 18 | } 19 | 20 | public ClosedPolygon(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, WED_POLY_CLOSED + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wed/IndexNumber.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wed; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.datatype.DecNumber; 10 | 11 | /** 12 | * Subclassed from {@code DecNumber} to make field type identifiable by reflection. 13 | */ 14 | public class IndexNumber extends DecNumber { 15 | public IndexNumber(ByteBuffer buffer, int offset, int length, String name) { 16 | super(buffer, offset, length, name); 17 | } 18 | 19 | public IndexNumber(ByteBuffer buffer, int offset, int length, String name, boolean signed) { 20 | super(buffer, offset, length, name, signed); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wed/OpenPolygon.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wed; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class OpenPolygon extends Polygon { 13 | // WED/OpenPolygon-specific field labels 14 | public static final String WED_POLY_OPEN = "Open polygon"; 15 | 16 | public OpenPolygon() throws Exception { 17 | super(null, WED_POLY_OPEN, StreamUtils.getByteBuffer(18), 0); 18 | } 19 | 20 | public OpenPolygon(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, WED_POLY_OPEN + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wed/WallPolygon.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wed; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | import org.infinity.util.io.StreamUtils; 11 | 12 | public final class WallPolygon extends Polygon { 13 | // WED/WallPolygon-specific field labels 14 | public static final String WED_POLY_WALL = "Wall polygon"; 15 | 16 | public WallPolygon() throws Exception { 17 | super(null, WED_POLY_WALL, StreamUtils.getByteBuffer(18), 0); 18 | } 19 | 20 | public WallPolygon(AbstractStruct superStruct, ByteBuffer buffer, int offset, int nr) throws Exception { 21 | super(superStruct, WED_POLY_WALL + " " + nr, buffer, offset); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wmp/AreaLinkEast.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wmp; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public class AreaLinkEast extends AreaLink { 12 | // WMP/AreaLinkEast-specific field labels 13 | public static final String WMP_LINK_EAST = "East link"; 14 | 15 | public AreaLinkEast() throws Exception { 16 | super(WMP_LINK_EAST); 17 | } 18 | 19 | public AreaLinkEast(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 20 | super(superStruct, buffer, offset, WMP_LINK_EAST + " " + number); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wmp/AreaLinkNorth.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wmp; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public class AreaLinkNorth extends AreaLink { 12 | // WMP/AreaLinkNorth-specific field labels 13 | public static final String WMP_LINK_NORTH = "North link"; 14 | 15 | public AreaLinkNorth() throws Exception { 16 | super(WMP_LINK_NORTH); 17 | } 18 | 19 | public AreaLinkNorth(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 20 | super(superStruct, buffer, offset, WMP_LINK_NORTH + " " + number); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wmp/AreaLinkSouth.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wmp; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public class AreaLinkSouth extends AreaLink { 12 | // WMP/AreaLinkSouth-specific field labels 13 | public static final String WMP_LINK_SOUTH = "South link"; 14 | 15 | public AreaLinkSouth() throws Exception { 16 | super(WMP_LINK_SOUTH); 17 | } 18 | 19 | public AreaLinkSouth(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 20 | super(superStruct, buffer, offset, WMP_LINK_SOUTH + " " + number); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/resource/wmp/AreaLinkWest.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.resource.wmp; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import org.infinity.resource.AbstractStruct; 10 | 11 | public class AreaLinkWest extends AreaLink { 12 | // WMP/AreaLinkWest-specific field labels 13 | public static final String WMP_LINK_WEST = "West link"; 14 | 15 | public AreaLinkWest() throws Exception { 16 | super(WMP_LINK_WEST); 17 | } 18 | 19 | public AreaLinkWest(AbstractStruct superStruct, ByteBuffer buffer, int offset, int number) throws Exception { 20 | super(superStruct, buffer, offset, WMP_LINK_WEST + " " + number); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/search/SearchClient.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.search; 6 | 7 | public interface SearchClient { 8 | /** 9 | * Returns text of this object that will be matched with searched text. When returns {@code null}, search finished 10 | * 11 | * @param nr Index of the searched object 12 | * @return {@code null} if index is invalid, text for match otherwise 13 | */ 14 | String getText(int nr); 15 | 16 | /** 17 | * Called when match found. 18 | * 19 | * @param nr Index of the matched object 20 | */ 21 | void hitFound(int nr); 22 | } 23 | -------------------------------------------------------------------------------- /src/org/infinity/updater/update_v1.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/org/infinity/updater/update_v2.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/org/infinity/util/Operation.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util; 6 | 7 | /** 8 | * Represents an operation without explicit input and output. 9 | * 10 | *

11 | * This is a functional interface whose functional method is {@link #perform()}. 12 | *

13 | */ 14 | @FunctionalInterface 15 | public interface Operation { 16 | /** Performs the operation. */ 17 | void perform(); 18 | } 19 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue0.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the first tuple element. 9 | */ 10 | public interface TupleValue0 { 11 | /** 12 | * Returns the first element of the tuple. 13 | * 14 | * @return first element of the tuple. 15 | */ 16 | T getValue0(); 17 | 18 | /** 19 | * Assigns a new value to the first element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the first tuple element. 23 | */ 24 | T setValue0(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue1.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the second tuple element. 9 | */ 10 | public interface TupleValue1 { 11 | /** 12 | * Returns the second element of the tuple. 13 | * 14 | * @return second element of the tuple. 15 | */ 16 | T getValue1(); 17 | 18 | /** 19 | * Assigns a new value to the second element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the second tuple element. 23 | */ 24 | T setValue1(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue2.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the third tuple element. 9 | */ 10 | public interface TupleValue2 { 11 | /** 12 | * Returns the third element of the tuple. 13 | * 14 | * @return third element of the tuple. 15 | */ 16 | T getValue2(); 17 | 18 | /** 19 | * Assigns a new value to the third element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the third tuple element. 23 | */ 24 | T setValue2(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue3.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the fourth tuple element. 9 | */ 10 | public interface TupleValue3 { 11 | /** 12 | * Returns the fourth element of the tuple. 13 | * 14 | * @return fourth element of the tuple. 15 | */ 16 | T getValue3(); 17 | 18 | /** 19 | * Assigns a new value to the fourth element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the fourth tuple element. 23 | */ 24 | T setValue3(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue4.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the fifth tuple element. 9 | */ 10 | public interface TupleValue4 { 11 | /** 12 | * Returns the fifth element of the tuple. 13 | * 14 | * @return fifth element of the tuple. 15 | */ 16 | T getValue4(); 17 | 18 | /** 19 | * Assigns a new value to the fifth element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the fifth tuple element. 23 | */ 24 | T setValue4(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/org/infinity/util/tuples/TupleValue5.java: -------------------------------------------------------------------------------- 1 | // Near Infinity - An Infinity Engine Browser and Editor 2 | // Copyright (C) 2001 Jon Olav Hauglid 3 | // See LICENSE.txt for license information 4 | 5 | package org.infinity.util.tuples; 6 | 7 | /** 8 | * Allows read/write access to the sixth tuple element. 9 | */ 10 | public interface TupleValue5 { 11 | /** 12 | * Returns the sixth element of the tuple. 13 | * 14 | * @return sixth element of the tuple. 15 | */ 16 | T getValue5(); 17 | 18 | /** 19 | * Assigns a new value to the sixth element of the tuple. 20 | * 21 | * @param newValue the new value to assign. 22 | * @return the previously assigned value of the sixth tuple element. 23 | */ 24 | T setValue5(T newValue); 25 | } 26 | -------------------------------------------------------------------------------- /src/tinylog.properties: -------------------------------------------------------------------------------- 1 | writer = console 2 | writer.level = trace 3 | writer.format = {level}: {message} 4 | writer.stream = err@WARN 5 | writingthread = true 6 | --------------------------------------------------------------------------------