diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt index 4ad955280..af645bfee 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt @@ -15,27 +15,14 @@ import net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer /** * Created by minjaesong on 2021-12-04. */ -class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) { +class ItemHomeComputer(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer") { override var dynamicID: ItemID = originalID override var baseMass = 20.0 - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = FixtureItemBase.getItemImageFromSheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE) override var baseToolSize: Double? = baseMass - - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_DESKTOP_COMPUTER" - } - - override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { _, _, mtx, mty -> - val item = FixtureHomeComputer() - - if (item.spawn(mtx, mty, if (actor is IngamePlayer) actor.uuid else null)) 1L else -1L - // return true when placed, false when cannot be placed - } + override var originalName = "ITEM_DESKTOP_COMPUTER" } \ No newline at end of file diff --git a/assets/graphics/gui/inventory/category.tga b/assets/graphics/gui/inventory/category.tga index 75335b64e..e5f705d36 100755 --- a/assets/graphics/gui/inventory/category.tga +++ b/assets/graphics/gui/inventory/category.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:259f38d2a8029815c4b3246e5dfdf72e9a21cebaca72a98b1cc720721ad94d97 +oid sha256:1f569072d3fe385e6a7867b1ba1f0aab52635e04dad731f0655618d39c665f4b size 240018 diff --git a/assets/mods/basegame/locales/en/game.json b/assets/mods/basegame/locales/en/game.json index edabce7a9..810b35a38 100644 --- a/assets/mods/basegame/locales/en/game.json +++ b/assets/mods/basegame/locales/en/game.json @@ -1,5 +1,6 @@ { "CONTEXT_GENERATOR_SEED": "Seed", + "CONTEXT_ITEM_FIXTURES": "Fixtures", "CONTEXT_ITEM_MAP": "Map", "CONTEXT_ITEM_TOOL_PLURAL": "Tools", "CONTEXT_PLACE_COORDINATE": "Coordinate", diff --git a/assets/mods/basegame/locales/koKR/game.json b/assets/mods/basegame/locales/koKR/game.json index 79cd4087c..11ba41f37 100644 --- a/assets/mods/basegame/locales/koKR/game.json +++ b/assets/mods/basegame/locales/koKR/game.json @@ -1,5 +1,6 @@ { "CONTEXT_GENERATOR_SEED": "시드", + "CONTEXT_ITEM_FIXTURES": "기구", "CONTEXT_ITEM_MAP": "지도", "CONTEXT_ITEM_TOOL_PLURAL": "도구", "CONTEXT_PLACE_COORDINATE": "좌표", diff --git a/src/net/torvald/terrarum/IngameInstance.kt b/src/net/torvald/terrarum/IngameInstance.kt index 11c28a86f..4725395fb 100644 --- a/src/net/torvald/terrarum/IngameInstance.kt +++ b/src/net/torvald/terrarum/IngameInstance.kt @@ -177,6 +177,11 @@ open class IngameInstance(val batch: FlippingSpriteBatch, val isMultiplayer: Boo forceAddActor(it) } + blockMarkingActor.let { + it.unsetGhost() + it.setGhostColourNone() + } + gameInitialised = true } diff --git a/src/net/torvald/terrarum/TerrarumAppConfiguration.kt b/src/net/torvald/terrarum/TerrarumAppConfiguration.kt index e9d8bf313..e04b246fc 100644 --- a/src/net/torvald/terrarum/TerrarumAppConfiguration.kt +++ b/src/net/torvald/terrarum/TerrarumAppConfiguration.kt @@ -39,7 +39,7 @@ along with this program. If not, see . # Windows -- C:\Users\\AppData\Roaming\Terrarum # macOS -- /Users//Library/Application Support/Terrarum # Linux -- /home//.Terrarum -# Please refrain from removing 'basegame' on the load order -- it may render the game unpalyable. +# Please refrain from removing 'basegame' on the load order -- it may render the game unplayable. basegame """ @@ -66,6 +66,7 @@ basegame // Commit counts up to the Release 0.3.0: 2259 // Commit counts up to the Release 0.3.1: 2278 // Commit counts up to the Release 0.3.2: 2732 + // Commit counts up to the Release 0.3.3: ???? const val VERSION_TAG: String = "" diff --git a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt index 40e45b73c..7997f6c9c 100644 --- a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt +++ b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt @@ -26,30 +26,33 @@ class UIItemInventoryCatBar( } internal val catIcons: TextureRegionPack = CommonResourcePool.getAsTextureRegionPack("inventory_category") - internal val catArrangement: IntArray = intArrayOf(9,6,7,1,0,2,3,4,5,8) + private val catArrangement: IntArray = intArrayOf(9,6,7,1,0,2,1_011,3,4,5,8) // icon order internal val catIconsMeaning = listOf( // sortedBy: catArrangement - arrayOf(GameItem.Category.WEAPON), - arrayOf(GameItem.Category.TOOL, GameItem.Category.WIRE), - arrayOf(GameItem.Category.ARMOUR), - arrayOf(GameItem.Category.GENERIC), - arrayOf(GameItem.Category.POTION), - arrayOf(GameItem.Category.MAGIC), - arrayOf(GameItem.Category.BLOCK), - arrayOf(GameItem.Category.WALL), - arrayOf(GameItem.Category.MISC), - arrayOf(CAT_ALL) + arrayOf(CAT_ALL), + arrayOf(GameItem.Category.BLOCK), + arrayOf(GameItem.Category.WALL), + arrayOf(GameItem.Category.TOOL, GameItem.Category.WIRE), + arrayOf(GameItem.Category.WEAPON), + arrayOf(GameItem.Category.ARMOUR), + arrayOf(GameItem.Category.FIXTURE), + arrayOf(GameItem.Category.GENERIC), + arrayOf(GameItem.Category.POTION), + arrayOf(GameItem.Category.MAGIC), + arrayOf(GameItem.Category.MISC), ) + internal val catIconsLabels = listOf( - { Lang["GAME_INVENTORY_WEAPONS"] }, + { Lang["MENU_LABEL_ALL"] }, + { Lang["GAME_INVENTORY_BLOCKS"] }, + { Lang["GAME_INVENTORY_WALLS"] }, { Lang["CONTEXT_ITEM_TOOL_PLURAL"] }, + { Lang["GAME_INVENTORY_WEAPONS"] }, { Lang["CONTEXT_ITEM_ARMOR"] }, + { Lang["CONTEXT_ITEM_FIXTURES"] }, { Lang["GAME_INVENTORY_INGREDIENTS"] }, { Lang["GAME_INVENTORY_POTIONS"] }, { Lang["CONTEXT_ITEM_MAGIC"] }, - { Lang["GAME_INVENTORY_BLOCKS"] }, - { Lang["GAME_INVENTORY_WALLS"] }, { Lang["GAME_GENRE_MISC"] }, - { Lang["MENU_LABEL_ALL"] }, ) @@ -60,11 +63,11 @@ class UIItemInventoryCatBar( private val mainButtons: Array private val buttonGapSize = (width.toFloat() - (catArrangement.size * catIcons.tileW)) / (catArrangement.size) /** raw order */ - private var selectedIndex = 0 // default to ALL + var selectedIndex = 0 // default to ALL private set /** re-arranged order */ - val selectedIcon: Int - get() = catArrangement[selectedIndex] +// val selectedIcon: Int +// get() = catArrangement[selectedIndex] private val sideButtons: Array @@ -75,9 +78,13 @@ class UIItemInventoryCatBar( val iconPosX = ((buttonGapSize / 2) + index * (catIcons.tileW + buttonGapSize)).roundToInt() val iconPosY = 0 + val iconIndex = catArrangement[index] + val iconIndexX = iconIndex % 1000 + val iconIndexY = iconIndex / 1000 + UIItemImageButton( inventoryUI, - catIcons.get(catArrangement[index], 0), + catIcons.get(iconIndexX, iconIndexY), activeBackCol = Color(0), backgroundCol = Color(0), highlightBackCol = Color(0), @@ -291,7 +298,7 @@ class UIItemInventoryCatBar( // label batch.color = Color.WHITE - catIconsLabels[selectedIcon]().let { + catIconsLabels[selectedIndex]().let { App.fontGame.draw(batch, it, posX + ((width - App.fontGame.getWidth(it)) / 2), posY + highlighterYPos + 4) } } diff --git a/src/net/torvald/terrarum/gameitems/GameItem.kt b/src/net/torvald/terrarum/gameitems/GameItem.kt index 17a30d310..c98b6d201 100644 --- a/src/net/torvald/terrarum/gameitems/GameItem.kt +++ b/src/net/torvald/terrarum/gameitems/GameItem.kt @@ -52,7 +52,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl * - `BLOCK_AIR` – Prints out `Lang.get("BLOCK_AIR")` * - `BLOCK_AIR>>=BLOCK_WALL_NAME_TEMPLATE` – Prints out `Formatter().format(Lang.get("BLOCK_WALL_NAME_TEMPLATE"), Lang.get("BLOCK_AIR")).toString()` */ - @Transient var originalName: String = "" + @Transient open var originalName: String = "" var newName: String = "" @@ -101,16 +101,8 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl /** * Where to equip the item. - * - * Can't use 'open val' as GSON doesn't like that. Initialise this property like: - * - * ``` - * init { - * equipPosition = EquipPosition.HAND_GRIP - * } - * ``` */ - @Transient var equipPosition: Int = EquipPosition.NULL + @Transient open var equipPosition: Int = EquipPosition.NULL internal val material: Material get() = MaterialCodex.getOrDefault(materialId) diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt index 61f9d9459..0e709dc9e 100644 --- a/src/net/torvald/terrarum/gameworld/GameWorld.kt +++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt @@ -154,7 +154,7 @@ open class GameWorld( var weatherbox = Weatherbox() init { - weatherbox.initWith(WeatherMixer.weatherDict["generic01"]!!, 3600L) + weatherbox.initWith(WeatherMixer.weatherDict["generic01"] ?: WeatherMixer.DEFAULT_WEATHER, 3600L) val currentWeather = weatherbox.currentWeather // TEST FILL WITH RANDOM VALUES (0..6).map { WeatherMixer.takeUniformRand(0f..1f) }.let { diff --git a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt index b1a0a63ba..757f52693 100644 --- a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt +++ b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt @@ -107,8 +107,7 @@ class EntryPoint : ModuleEntryPoint() { // } init { - equipPosition = EquipPosition.HAND_GRIP - tags.addAll(tile.tags) + tags.addAll(tile.tags) originalName = if (isWall && tags.contains("UNLIT")) "${tile.nameKey}>>=BLOCK_UNLIT_TEMPLATE>>=BLOCK_WALL_NAME_TEMPLATE" else if (isWall) "${tile.nameKey}>>=BLOCK_WALL_NAME_TEMPLATE" diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt index f40b5c35d..b80510208 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt @@ -39,10 +39,13 @@ open class FixtureItemBase(originalID: ItemID, val fixtureClassName: String) : G @Transient private var ghostInit = AtomicBoolean(false) override var dynamicID: ItemID = originalID - override var baseMass = 1.0 - override var inventoryCategory = Category.MISC + @Transient override var baseMass = 1.0 + @Transient override var inventoryCategory = Category.FIXTURE override val isDynamic = false - override val materialId = "" + @Transient override val materialId = "" + + @Transient override var equipPosition: Int = EquipPosition.HAND_GRIP + /** * Do not address the CommonResourcePool directly; just do it like this snippet: diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt index f49130704..f67ee70ac 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt @@ -12,18 +12,13 @@ class ItemLogicSignalEmitter(originalID: ItemID) : FixtureItemBase(originalID, " override var dynamicID: ItemID = originalID override var baseMass = FixtureLogicSignalEmitter.MASS - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga") override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_LOGIC_SIGNAL_EMITTER" - } + override var originalName = "ITEM_LOGIC_SIGNAL_EMITTER" override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt index 2518b096e..1556a25b7 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt @@ -14,16 +14,11 @@ class ItemStorageChest(originalID: ItemID) : FixtureItemBase(originalID, "net.to override var dynamicID: ItemID = originalID override var baseMass = FixtureTikiTorch.MASS - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_48") override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_STORAGE_CHEST" - } + override var originalName = "ITEM_STORAGE_CHEST" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt index b6d1bf164..0847f5b2e 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt @@ -14,22 +14,12 @@ class ItemSwingingDoorOak(originalID: ItemID) : override var dynamicID: ItemID = originalID override var baseMass = 20.0 // 360[L] * 0.1 * 0.56[SpecificGravity], rounded to the nearest integer - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,3) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_DOOR_OAK" - } - - @Transient override val makeFixture: () -> FixtureBase = { - FixtureSwingingDoorOak() - } - + override var originalName = "ITEM_DOOR_OAK" } class ItemSwingingDoorEbony(originalID: ItemID) : @@ -37,22 +27,12 @@ class ItemSwingingDoorEbony(originalID: ItemID) : override var dynamicID: ItemID = originalID override var baseMass = 30.0 // 360[L] * 0.1 * 0.82[SpecificGravity], rounded to the nearest integer - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsItemSheet("basegame.items").get(9,3) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_DOOR_EBONY" - } - - @Transient override val makeFixture: () -> FixtureBase = { - FixtureSwingingDoorEbony() - } - + override var originalName = "ITEM_DOOR_EBONY" } class ItemSwingingDoorBirch(originalID: ItemID) : @@ -60,22 +40,12 @@ class ItemSwingingDoorBirch(originalID: ItemID) : override var dynamicID: ItemID = originalID override var baseMass = 17.0 // 360[L] * 0.1 * 0.48[SpecificGravity], rounded to the nearest integer - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsItemSheet("basegame.items").get(10,3) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_DOOR_BIRCH" - } - - @Transient override val makeFixture: () -> FixtureBase = { - FixtureSwingingDoorBirch() - } - + override var originalName = "ITEM_DOOR_BIRCH" } class ItemSwingingDoorRosewood(originalID: ItemID) : @@ -83,20 +53,10 @@ class ItemSwingingDoorRosewood(originalID: ItemID) : override var dynamicID: ItemID = originalID override var baseMass = 24.0 // 360[L] * 0.1 * 0.68[SpecificGravity], rounded to the nearest integer - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsItemSheet("basegame.items").get(11,3) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_DOOR_ROSEWOOD" - } - - @Transient override val makeFixture: () -> FixtureBase = { - FixtureSwingingDoorRosewood() - } - + override var originalName = "ITEM_DOOR_ROSEWOOD" } diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt index e9b1d5e8e..549a7d75a 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt @@ -16,17 +16,12 @@ class ItemTapestry(originalID: ItemID) : FixtureItemBase(originalID, "net.torval override var dynamicID: ItemID = originalID override var baseMass = 6.0 - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_TAPESTRY" - } + override var originalName = "ITEM_TAPESTRY" @Transient override val makeFixture: () -> FixtureBase = { FixtureTapestry( diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt index bffc7b068..db44776aa 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt @@ -12,17 +12,12 @@ class ItemTikiTorch(originalID: ItemID) : FixtureItemBase(originalID, "net.torva override var dynamicID: ItemID = originalID override var baseMass = FixtureTikiTorch.MASS - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSheet("basegame", "sprites/fixtures/tiki_torch.tga", 16, 32) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_TIKI_TORCH" - } + override var originalName = "ITEM_TIKI_TORCH" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt index fcc941851..26b19082e 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt @@ -12,17 +12,12 @@ class ItemTypewriter(originalID: ItemID) : FixtureItemBase(originalID, "net.torv override var dynamicID: ItemID = originalID override var baseMass = FixtureTikiTorch.MASS - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSheet("basegame", "sprites/fixtures/typewriter.tga", 32, 16) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_TYPEWRITER" - } + override var originalName = "ITEM_TYPEWRITER" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWallCalendar.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWallCalendar.kt index cb67dace7..331215fbd 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWallCalendar.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWallCalendar.kt @@ -11,17 +11,12 @@ class ItemWallCalendar(originalID: ItemID) : FixtureItemBase(originalID, "net.to override var dynamicID: ItemID = originalID override var baseMass = 1.0 - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/calendar.tga") override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_CALENDAR" - } + override var originalName = "ITEM_CALENDAR" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorkbench.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorkbench.kt index b5872a22b..6c5bc8bd9 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorkbench.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorkbench.kt @@ -10,18 +10,12 @@ class ItemWorkbench(originalID: ItemID) : FixtureItemBase(originalID, "net.torva override var baseMass = 20.0 - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/workbench.tga") override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_WORKBENCH" - } - + override var originalName = "ITEM_WORKBENCH" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorldPortal.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorldPortal.kt index 12b00305c..0e16aa7a4 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorldPortal.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWorldPortal.kt @@ -12,17 +12,11 @@ class ItemWorldPortal(originalID: ItemID) : FixtureItemBase(originalID, "net.tor override var dynamicID: ItemID = originalID override var baseMass = 6000.0 - override var inventoryCategory = Category.MISC override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsItemSheet("basegame.items").get(3,3) override var baseToolSize: Double? = baseMass - - init { - equipPosition = EquipPosition.HAND_GRIP - originalName = "ITEM_WORLD_PORTAL" - } - + override var originalName = "ITEM_WORLD_PORTAL" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt index 24c395672..c8c4683a1 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt @@ -72,7 +72,7 @@ internal class UIInventoryCells( fun rebuildList() { // App.printdbg(this, "rebuilding list") - itemList.rebuild(full.catBar.catIconsMeaning[full.catBar.selectedIcon]) + itemList.rebuild(full.catBar.catIconsMeaning[full.catBar.selectedIndex]) equipped.rebuild() encumbrancePerc = full.actor.inventory.encumberment.toFloat() @@ -81,7 +81,7 @@ internal class UIInventoryCells( fun resetStatusAsCatChanges(oldcat: Int?, newcat: Int) { itemList.itemPage = 0 // set scroll to zero - itemList.rebuild(full.catBar.catIconsMeaning[full.catBar.catArrangement[newcat]]) // have to manually rebuild, too! + itemList.rebuild(full.catBar.catIconsMeaning[newcat]) // have to manually rebuild, too! } override fun updateUI(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt index e622f97ad..5fadfc6b6 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt @@ -176,6 +176,7 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() { val ingame = TerrarumIngame(App.batch) val playerDisk = existingPlayer ?: App.savegamePlayers[UILoadGovernor.playerUUID]!!.loadable() + playerDisk.rebuild() val player = ReadActor.invoke( playerDisk, ByteArray64Reader(playerDisk.getFile(SAVEGAMEINFO)!!.bytes, Common.CHARSET) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt index 0a80cc209..5c15f0bd8 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt @@ -131,8 +131,8 @@ internal class UIStorageChest : UICanvas( } private fun itemListUpdate() { - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) encumbrancePerc = getPlayerInventory().capacity.toFloat() / getPlayerInventory().maxCapacity isEncumbered = getPlayerInventory().isEncumbered @@ -143,13 +143,13 @@ internal class UIStorageChest : UICanvas( itemListChest.navRemoCon.gridModeButtons[0].highlighted = !yes itemListChest.navRemoCon.gridModeButtons[1].highlighted = yes itemListChest.itemPage = 0 - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) itemListPlayer.isCompactMode = yes itemListPlayer.navRemoCon.gridModeButtons[0].highlighted = !yes itemListPlayer.navRemoCon.gridModeButtons[1].highlighted = yes itemListPlayer.itemPage = 0 - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) itemListUpdate() } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt index 802075eaf..9cc4b143d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt @@ -123,8 +123,8 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory { } private fun itemListUpdate() { - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) encumbrancePerc = getPlayerInventory().capacity.toFloat() / getPlayerInventory().maxCapacity isEncumbered = getPlayerInventory().isEncumbered @@ -135,13 +135,13 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory { itemListChest.navRemoCon.gridModeButtons[0].highlighted = !yes itemListChest.navRemoCon.gridModeButtons[1].highlighted = yes itemListChest.itemPage = 0 - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) itemListPlayer.isCompactMode = yes itemListPlayer.navRemoCon.gridModeButtons[0].highlighted = !yes itemListPlayer.navRemoCon.gridModeButtons[1].highlighted = yes itemListPlayer.itemPage = 0 - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIndex]) itemListUpdate() } diff --git a/src/net/torvald/terrarum/weather/WeatherMixer.kt b/src/net/torvald/terrarum/weather/WeatherMixer.kt index 59973b89b..bf9358588 100644 --- a/src/net/torvald/terrarum/weather/WeatherMixer.kt +++ b/src/net/torvald/terrarum/weather/WeatherMixer.kt @@ -181,7 +181,7 @@ internal object WeatherMixer : RNGConsumer { weatherDB[weather.classification]!!.add(weather) } - weatherDict["titlescreen"] = weatherDB[WEATHER_GENERIC]!![0].copy(identifier = "titlescreen", windSpeed = 1f) + weatherDict["titlescreen"] = weatherDB[WEATHER_GENERIC]?.get(0)?.copy(identifier = "titlescreen", windSpeed = 1f) ?: DEFAULT_WEATHER } /**