diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt index c02873eb7..c783cee57 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt @@ -24,7 +24,7 @@ class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + 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 diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt index 72a5d5a51..a1de2b322 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt @@ -32,7 +32,7 @@ class ItemWearableWorldRadar(originalID: String) {// : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = false override val isDynamic = true - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga") diff --git a/assets/keylayout/ko_kr_teletype_changbongson.ime b/assets/keylayout/ko_kr_teletype_changbongson.not_ime similarity index 100% rename from assets/keylayout/ko_kr_teletype_changbongson.ime rename to assets/keylayout/ko_kr_teletype_changbongson.not_ime diff --git a/assets/keylayout/ko_kr_teletype_ksx.ime b/assets/keylayout/ko_kr_teletype_ksx.not_ime similarity index 100% rename from assets/keylayout/ko_kr_teletype_ksx.ime rename to assets/keylayout/ko_kr_teletype_ksx.not_ime diff --git a/assets/locales/jaJPysi/Polyglot-100_jakanaJP.json b/assets/locales/jaJPysi/Polyglot-100_jakanaJP.json deleted file mode 100644 index e30a7430e..000000000 --- a/assets/locales/jaJPysi/Polyglot-100_jakanaJP.json +++ /dev/null @@ -1,2568 +0,0 @@ -{ - "resources": { - "polyglot": { - "LANG": "Japanese", - "DIRECTION": "ltr", - "VERSION": "100", - "DATE": "2015-11-16" - }, - "data": [ - { - "n": "CONTEXT_CHARACTER_CLASS", - "s": "クラス" - }, - { - "n": "CONTEXT_CHARACTER_DELETE", - "s": "キャラクター さくじょ" - }, - { - "n": "CONTEXT_CHARACTER_NEW", - "s": "新規キャラクター" - }, - { - "n": "CONTEXT_CLASS_AI", - "s": "人工知能" - }, - { - "n": "CONTEXT_CLASS_ALIEN", - "s": "エイリアン" - }, - { - "n": "CONTEXT_CLASS_CLONE", - "s": "クローン" - }, - { - "n": "CONTEXT_CLASS_CYBORG", - "s": "サイボーグ" - }, - { - "n": "CONTEXT_CLASS_DEITY", - "s": "神" - }, - { - "n": "CONTEXT_CLASS_DEMON", - "s": "悪魔" - }, - { - "n": "CONTEXT_CLASS_DEMONNESS", - "s": "女悪魔" - }, - { - "n": "CONTEXT_CLASS_DRAGON", - "s": "ドラゴン" - }, - { - "n": "CONTEXT_CLASS_DRAGON_PLURAL", - "s": "ドラゴン" - }, - { - "n": "CONTEXT_CLASS_GHOST", - "s": "幽霊" - }, - { - "n": "CONTEXT_CLASS_GOD", - "s": "神" - }, - { - "n": "CONTEXT_CLASS_GOD_PLURAL", - "s": "神々" - }, - { - "n": "CONTEXT_CLASS_GODDESS", - "s": "女神" - }, - { - "n": "CONTEXT_CLASS_MAGE", - "s": "魔法使い" - }, - { - "n": "CONTEXT_CLASS_MEDIC", - "s": "メディック" - }, - { - "n": "CONTEXT_CLASS_MONSTER", - "s": "モンスター" - }, - { - "n": "CONTEXT_CLASS_NINJA", - "s": "忍者" - }, - { - "n": "CONTEXT_CLASS_PIRATE", - "s": "海賊" - }, - { - "n": "CONTEXT_CLASS_PRIEST", - "s": "僧侶" - }, - { - "n": "CONTEXT_CLASS_PRINCE", - "s": "王子" - }, - { - "n": "CONTEXT_CLASS_PRINCESS", - "s": "姫" - }, - { - "n": "CONTEXT_CLASS_ROBOT", - "s": "ロボット" - }, - { - "n": "CONTEXT_CLASS_SKELETON", - "s": "スケルトン" - }, - { - "n": "CONTEXT_CLASS_SNIPER", - "s": "狙撃手" - }, - { - "n": "CONTEXT_CLASS_SOLDIER", - "s": "ソルジャー" - }, - { - "n": "CONTEXT_CLASS_THIEF", - "s": "盗賊" - }, - { - "n": "CONTEXT_CLASS_WARRIOR", - "s": "戦士" - }, - { - "n": "CONTEXT_CLASS_WIZARD", - "s": "魔術師" - }, - { - "n": "CONTEXT_CLASS_ZOMBIE", - "s": "ゾンビ" - }, - { - "n": "CONTEXT_CLASS_ZOMBIE_PLURAL", - "s": "ゾンビ" - }, - { - "n": "CONTEXT_COMPETITION_FIRST", - "s": "一位" - }, - { - "n": "CONTEXT_COMPETITION_PLACE_NOUN", - "s": "順位" - }, - { - "n": "CONTEXT_COMPETITION_SECOND", - "s": "二位" - }, - { - "n": "CONTEXT_COMPETITION_THIRD", - "s": "三位" - }, - { - "n": "CONTEXT_CONDITION_BURNING", - "s": "炎上" - }, - { - "n": "CONTEXT_CONDITION_CRITICAL", - "s": "瀕死" - }, - { - "n": "CONTEXT_CONDITION_DEAD", - "s": "死亡" - }, - { - "n": "CONTEXT_CONDITION_FROZEN", - "s": "凍結" - }, - { - "n": "CONTEXT_CONDITION_POISONED", - "s": "毒" - }, - { - "n": "CONTEXT_CONDITION_SLOWED", - "s": "減速" - }, - { - "n": "CONTEXT_CONDITION_STUNNED", - "s": "スタン" - }, - { - "n": "CONTEXT_CONDITION_UNCONSCIOUS", - "s": "気絶" - }, - { - "n": "CONTEXT_CONDITION_UNHURT", - "s": "無傷" - }, - { - "n": "CONTEXT_CONDITION_WET", - "s": "濡れている" - }, - { - "n": "CONTEXT_CONDITION_WOUNDED", - "s": "負傷" - }, - { - "n": "CONTEXT_DESCRIPTION_BIG", - "s": "大" - }, - { - "n": "CONTEXT_DESCRIPTION_HUGE", - "s": "巨大" - }, - { - "n": "CONTEXT_DESCRIPTION_SMALL", - "s": "小" - }, - { - "n": "CONTEXT_DESCRIPTION_TINY", - "s": "極小" - }, - { - "n": "CONTEXT_ELEMENT_AIR", - "s": "風" - }, - { - "n": "CONTEXT_ELEMENT_EARTH", - "s": "地" - }, - { - "n": "CONTEXT_ELEMENT_FIRE", - "s": "火" - }, - { - "n": "CONTEXT_ELEMENT_METAL", - "s": "金" - }, - { - "n": "CONTEXT_ELEMENT_WATER", - "s": "水" - }, - { - "n": "CONTEXT_GAMBLING_BET", - "s": "ベット" - }, - { - "n": "CONTEXT_GAMBLING_DISCARD", - "s": "捨てる" - }, - { - "n": "CONTEXT_GAMBLING_JACKPOT", - "s": "ジャックポット" - }, - { - "n": "CONTEXT_GAMBLING_MAX", - "s": "最大" - }, - { - "n": "CONTEXT_GAMBLING_MIN", - "s": "最低" - }, - { - "n": "CONTEXT_ITEM_ARMOR", - "s": "よろい" - }, - { - "n": "CONTEXT_ITEM_ARROW", - "s": "矢" - }, - { - "n": "CONTEXT_ITEM_ARROWS", - "s": "矢" - }, - { - "n": "CONTEXT_ITEM_BOARD", - "s": "盤" - }, - { - "n": "CONTEXT_ITEM_BOMB", - "s": "爆弾" - }, - { - "n": "CONTEXT_ITEM_BOOK", - "s": "本" - }, - { - "n": "CONTEXT_ITEM_BOOTS", - "s": "靴" - }, - { - "n": "CONTEXT_ITEM_BOW", - "s": "弓" - }, - { - "n": "CONTEXT_ITEM_CARD", - "s": "カード" - }, - { - "n": "CONTEXT_ITEM_CARD_PLURAL", - "s": "カード" - }, - { - "n": "CONTEXT_ITEM_CHEST", - "s": "箱" - }, - { - "n": "CONTEXT_ITEM_COND_MAGICAL", - "s": "まほうの" - }, - { - "n": "CONTEXT_ITEM_COND_RUSTY", - "s": "錆びた" - }, - { - "n": "CONTEXT_ITEM_DAGGER", - "s": "短刀" - }, - { - "n": "CONTEXT_ITEM_DIE_NOUN", - "s": "サイコロ" - }, - { - "n": "CONTEXT_ITEM_DIE_PLURAL", - "s": "サイコロ" - }, - { - "n": "CONTEXT_ITEM_DOOR", - "s": "扉" - }, - { - "n": "CONTEXT_ITEM_GAUNTLETS", - "s": "籠手" - }, - { - "n": "CONTEXT_ITEM_GEM", - "s": "ジェム" - }, - { - "n": "CONTEXT_ITEM_GIFT_NOUN", - "s": "ギフト" - }, - { - "n": "CONTEXT_ITEM_GIFT_PLURAL", - "s": "ギフト" - }, - { - "n": "CONTEXT_ITEM_GLOVE", - "s": "手袋" - }, - { - "n": "CONTEXT_ITEM_GUN", - "s": "銃" - }, - { - "n": "CONTEXT_ITEM_HAMMER", - "s": "戦鎚" - }, - { - "n": "CONTEXT_ITEM_HELMET", - "s": "兜" - }, - { - "n": "CONTEXT_ITEM_KEY", - "s": "鍵" - }, - { - "n": "CONTEXT_ITEM_KNIFE", - "s": "ナイフ" - }, - { - "n": "CONTEXT_ITEM_LOCK", - "s": "鍵" - }, - { - "n": "CONTEXT_ITEM_LOVE", - "s": "愛" - }, - { - "n": "CONTEXT_ITEM_MACHINE_ITEM_GUN", - "s": "マシンガン" - }, - { - "n": "CONTEXT_ITEM_MAGIC", - "s": "まほう" - }, - { - "n": "CONTEXT_ITEM_PISTOL", - "s": "ピストル" - }, - { - "n": "CONTEXT_ITEM_QUEST_NOUN", - "s": "クエスト" - }, - { - "n": "CONTEXT_ITEM_RANK_NOUN", - "s": "ランク" - }, - { - "n": "CONTEXT_ITEM_RIFLE", - "s": "ライフル" - }, - { - "n": "CONTEXT_ITEM_ROCKET_ITEM_LAUNCHER", - "s": "ロケットランチャー" - }, - { - "n": "CONTEXT_ITEM_RPG", - "s": "RPG" - }, - { - "n": "CONTEXT_ITEM_SCROLL", - "s": "巻物" - }, - { - "n": "CONTEXT_ITEM_SHIELD", - "s": "盾" - }, - { - "n": "CONTEXT_ITEM_SHIELD_PLURAL", - "s": "盾" - }, - { - "n": "CONTEXT_ITEM_SHIELD_SCIFI", - "s": "エネルギーシールド" - }, - { - "n": "CONTEXT_ITEM_SHIELD_SCIFI_PLURAL", - "s": "エネルギーシールド" - }, - { - "n": "CONTEXT_ITEM_SHOTGUN", - "s": "ショットガン" - }, - { - "n": "CONTEXT_ITEM_SNIPER_ITEM_RIFLE", - "s": "スナイパーライフル" - }, - { - "n": "CONTEXT_ITEM_SPELL", - "s": "呪文" - }, - { - "n": "CONTEXT_ITEM_STAFF", - "s": "杖" - }, - { - "n": "CONTEXT_ITEM_SWORD", - "s": "けん" - }, - { - "n": "CONTEXT_ITEM_TREASURE", - "s": "財宝" - }, - { - "n": "CONTEXT_ITEM_TYPE_EPIC", - "s": "壮麗な" - }, - { - "n": "CONTEXT_ITEM_TYPE_JUNK", - "s": "がらくたの" - }, - { - "n": "CONTEXT_ITEM_WAND", - "s": "魔法の杖" - }, - { - "n": "CONTEXT_ITEM_WOOD", - "s": "木" - }, - { - "n": "CONTEXT_MACHINE_ALTITUDE", - "s": "高度" - }, - { - "n": "CONTEXT_MACHINE_BRAKES", - "s": "ブレーキ" - }, - { - "n": "CONTEXT_MACHINE_CHASSIS", - "s": "シャシ" - }, - { - "n": "CONTEXT_MACHINE_DEPTH", - "s": "深度" - }, - { - "n": "CONTEXT_MACHINE_FUEL", - "s": "燃料" - }, - { - "n": "CONTEXT_MACHINE_GEAR", - "s": "ギア" - }, - { - "n": "CONTEXT_MACHINE_HANDLING", - "s": "ハンドリング" - }, - { - "n": "CONTEXT_MACHINE_SPEED", - "s": "速度" - }, - { - "n": "CONTEXT_MACHINE_STEERING", - "s": "ステアリング" - }, - { - "n": "CONTEXT_MACHINE_SUSPENSION", - "s": "サスペンション" - }, - { - "n": "CONTEXT_MACHINE_WHEELS", - "s": "乗り物" - }, - { - "n": "CONTEXT_MACHINE_WINGS", - "s": "ウィング" - }, - { - "n": "CONTEXT_MEDAL", - "s": "メダル" - }, - { - "n": "CONTEXT_MEDAL_BRONZE", - "s": "ブロンズメダル" - }, - { - "n": "CONTEXT_MEDAL_GOLD", - "s": "ゴールドメダル" - }, - { - "n": "CONTEXT_MEDAL_SILVER", - "s": "シルバーメダル" - }, - { - "n": "CONTEXT_METAL_BRONZE", - "s": "銅" - }, - { - "n": "CONTEXT_METAL_COIN", - "s": "硬貨" - }, - { - "n": "CONTEXT_METAL_GOLD", - "s": "金" - }, - { - "n": "CONTEXT_METAL_INGOT", - "s": "延べ棒" - }, - { - "n": "CONTEXT_METAL_PLATINUM", - "s": "白金" - }, - { - "n": "CONTEXT_METAL_SILVER", - "s": "銀" - }, - { - "n": "CONTEXT_PLACE_CASTLE", - "s": "城" - }, - { - "n": "CONTEXT_PLACE_CAVE", - "s": "洞窟" - }, - { - "n": "CONTEXT_PLACE_DUNGEON", - "s": "ダンジョン" - }, - { - "n": "CONTEXT_PLACE_INN", - "s": "宿" - }, - { - "n": "CONTEXT_PLACE_PLANET", - "s": "惑星" - }, - { - "n": "CONTEXT_PLACE_PLANET_EARTH", - "s": "地球" - }, - { - "n": "CONTEXT_PLACE_SPACE", - "s": "宇宙" - }, - { - "n": "CONTEXT_PLACE_SPACESHIP", - "s": "宇宙船" - }, - { - "n": "CONTEXT_STORY", - "s": "ストーリー" - }, - { - "n": "CONTEXT_STORY_ADVENTURE", - "s": "アドベンチャー" - }, - { - "n": "CONTEXT_STORY_CHAPTER", - "s": "チャプター" - }, - { - "n": "CONTEXT_STORY_PAGE", - "s": "ページ" - }, - { - "n": "CREDITS_3D_MODELING", - "s": "3Dモデリング" - }, - { - "n": "CREDITS_ANIMATION", - "s": "アニメーション" - }, - { - "n": "CREDITS_ANIMATION_DIRECTOR", - "s": "アニメーション監督" - }, - { - "n": "CREDITS_ANIMATOR", - "s": "アニメーター" - }, - { - "n": "CREDITS_ART", - "s": "アート" - }, - { - "n": "CREDITS_ART_DIRECTOR", - "s": "美術監督" - }, - { - "n": "CREDITS_ARTIST", - "s": "アーティスト" - }, - { - "n": "CREDITS_ARTIST_PLURAL", - "s": "アーティスト" - }, - { - "n": "CREDITS_ASSISTANT", - "s": "アシスタント" - }, - { - "n": "CREDITS_ASSOCIATE", - "s": "協力" - }, - { - "n": "CREDITS_AUDIO_DIRECTOR", - "s": "音響監督" - }, - { - "n": "CREDITS_CHARACTER_DESIGNER", - "s": "キャラクターデザイナー" - }, - { - "n": "CREDITS_CHIEF_TECH_OFFICER", - "s": "最高技術責任者" - }, - { - "n": "CREDITS_CINEMATIC_ANIMATOR", - "s": "シネマティックアニメーター" - }, - { - "n": "CREDITS_CINEMATICS_DIRECTOR", - "s": "シネマティックディレクター" - }, - { - "n": "CREDITS_CODE", - "s": "コード" - }, - { - "n": "CREDITS_COMPOSER", - "s": "編曲" - }, - { - "n": "CREDITS_CONCEPT_ARTIST", - "s": "コンセプトアーティスト" - }, - { - "n": "CREDITS_CREATIVE_DIRECTOR", - "s": "クリエイティブディレクター" - }, - { - "n": "CREDITS_DATABASE_ADMIN", - "s": "データベースアドミン" - }, - { - "n": "CREDITS_DESIGN DIRECTOR", - "s": "デザイン監督" - }, - { - "n": "CREDITS_DEVELOPED_BY", - "s": "開発" - }, - { - "n": "CREDITS_DIRECTOR", - "s": "監督" - }, - { - "n": "CREDITS_FOLEY_ARTIST", - "s": "フォーリーアーティスト" - }, - { - "n": "CREDITS_FONT", - "s": "フォント" - }, - { - "n": "CREDITS_FONT_PLURAL", - "s": "フォント" - }, - { - "n": "CREDITS_GAME", - "s": "ゲーム" - }, - { - "n": "CREDITS_GAME_DESIGN", - "s": "ゲームデザイン" - }, - { - "n": "CREDITS_GAME_DESIGNER", - "s": "ゲームデザイナー" - }, - { - "n": "CREDITS_GAME_DEVELOPER", - "s": "ゲーム開発者" - }, - { - "n": "CREDITS_GAME_DEVELOPMENT", - "s": "ゲーム開発" - }, - { - "n": "CREDITS_GRAPHIC_DESIGNER", - "s": "グラフィックデザイナー" - }, - { - "n": "CREDITS_IMAGE", - "s": "画像" - }, - { - "n": "CREDITS_IMAGE_PLURAL", - "s": "画像" - }, - { - "n": "CREDITS_INTERFACE_ARTIST", - "s": "インターフェイスアーティスト" - }, - { - "n": "CREDITS_JUNIOR", - "s": "ジュニア" - }, - { - "n": "CREDITS_LEAD", - "s": "リード" - }, - { - "n": "CREDITS_LEAD_PROGRAMMER", - "s": "リードプログラマー" - }, - { - "n": "CREDITS_LEVEL_DESIGN", - "s": "レベルデザイン" - }, - { - "n": "CREDITS_LEVEL_DESIGNER", - "s": "レベルデザイナー" - }, - { - "n": "CREDITS_LOCALIZATION", - "s": "ローカリゼーション" - }, - { - "n": "CREDITS_MANUSCRIPT", - "s": "脚本" - }, - { - "n": "CREDITS_MODELS", - "s": "モデル" - }, - { - "n": "CREDITS_MUSICIAN", - "s": "演奏" - }, - { - "n": "CREDITS_POLYGLOT", - "s": "翻訳提供:Polyglotプロジェクト" - }, - { - "n": "CREDITS_PRODUCER", - "s": "プロデューサー" - }, - { - "n": "CREDITS_PRODUCTION", - "s": "製作" - }, - { - "n": "CREDITS_PROGRAM_MANAGER", - "s": "番組担当" - }, - { - "n": "CREDITS_PROGRAMMER", - "s": "プログラマー" - }, - { - "n": "CREDITS_PROGRAMMER_PLURAL", - "s": "プログラマー" - }, - { - "n": "CREDITS_PROGRAMMING", - "s": "プログラミング" - }, - { - "n": "CREDITS_PROJECT_MANAGER", - "s": "企画担当" - }, - { - "n": "CREDITS_PUBLISHER", - "s": "著作" - }, - { - "n": "CREDITS_RECORDIST", - "s": "録音" - }, - { - "n": "CREDITS_SCRIPT_WRITER", - "s": "脚本家" - }, - { - "n": "CREDITS_SENIOR", - "s": "シニア" - }, - { - "n": "CREDITS_SFX", - "s": "SE" - }, - { - "n": "CREDITS_SOUND_DESIGNER", - "s": "サウンドデザイナー" - }, - { - "n": "CREDITS_SOUND_ENGINEER", - "s": "サウンドエンジニア" - }, - { - "n": "CREDITS_SOUNDTRACK", - "s": "サウンドトラック" - }, - { - "n": "CREDITS_SPECIAL_THANKS", - "s": "謝辞" - }, - { - "n": "CREDITS_SPECIAL_THANKS_TO", - "s": "謝辞" - }, - { - "n": "CREDITS_TECHNICAL_ARTIST", - "s": "テクニカルアーティスト" - }, - { - "n": "CREDITS_TECHNICAL_DIRECTOR", - "s": "技術監督" - }, - { - "n": "CREDITS_TEST_LEAD", - "s": "テスト管理総指揮" - }, - { - "n": "CREDITS_TEST_MANAGER", - "s": "テスト管理者" - }, - { - "n": "CREDITS_TESTER", - "s": "テスター" - }, - { - "n": "CREDITS_TRANSLATION", - "s": "翻訳" - }, - { - "n": "CREDITS_VFX", - "s": "特殊効果" - }, - { - "n": "CREDITS_VOICE_ACTING", - "s": "声優" - }, - { - "n": "CREDITS_VOICE_ACTOR", - "s": "声優" - }, - { - "n": "CREDITS_WRITER", - "s": "脚本家" - }, - { - "n": "ERROR_DEVICE_NOT_FOUND", - "s": "{0} が接続されていません" - }, - { - "n": "ERROR_DEVICE_VR_LEAVING_TRACKAREA", - "s": "通信圏外です" - }, - { - "n": "ERROR_DEVICE_VR_NO_HMD", - "s": "HMDが接続されていません" - }, - { - "n": "ERROR_GENERIC_CHEATING", - "s": "チート検出!" - }, - { - "n": "ERROR_GENERIC_ERRCODE", - "s": "エラーコード:" - }, - { - "n": "ERROR_GENERIC_INVALID_KEY", - "s": "無効なCDキーです。" - }, - { - "n": "ERROR_GENERIC_INVALID_NAME", - "s": "無効な名前です!" - }, - { - "n": "ERROR_GENERIC_TEXT", - "s": "エラーが はっせいしました。" - }, - { - "n": "ERROR_NETWORK_CONNECTION_LOST", - "s": "接続が切断されました。" - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_OPPONENT", - "s": "相手プレイヤーが接続を切断しました。" - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_PLAYER", - "s": "他のプレイヤーが接続を切断しました。" - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_TEAMMATE", - "s": "味方プレイヤーが接続を切断しました。" - }, - { - "n": "ERROR_NETWORK_SERVER", - "s": "サーバーに接続できません。" - }, - { - "n": "ERROR_SAVE_CORRUPTED", - "s": "セーブデータが はそんしています。" - }, - { - "n": "ERROR_SAVE_NO_GAMES_FOUND", - "s": "セーブデータが みつかりません。" - }, - { - "n": "ERROR_SAVE_NO_OPEN_GAMES", - "s": "参加可能なゲームがありません。" - }, - { - "n": "GAME_ACTION_ATTACK", - "s": "せめる" - }, - { - "n": "GAME_ACTION_BOOST", - "s": "ブーストする" - }, - { - "n": "GAME_ACTION_BUILD", - "s": "建築" - }, - { - "n": "GAME_ACTION_CAST_FISHING", - "s": "釣り糸を投げる" - }, - { - "n": "GAME_ACTION_CAST_SPELL", - "s": "詠唱する" - }, - { - "n": "GAME_ACTION_CLAIM", - "s": "入手する" - }, - { - "n": "GAME_ACTION_CLIMB", - "s": "登る" - }, - { - "n": "GAME_ACTION_CLOSE", - "s": "閉じる" - }, - { - "n": "GAME_ACTION_COLLECT", - "s": "集める" - }, - { - "n": "GAME_ACTION_COOK", - "s": "調理" - }, - { - "n": "GAME_ACTION_CRAFT", - "s": "つくる" - }, - { - "n": "GAME_ACTION_CROUCH", - "s": "しゃがむ" - }, - { - "n": "GAME_ACTION_DODGE", - "s": "避ける" - }, - { - "n": "GAME_ACTION_DRIVE", - "s": "運転する" - }, - { - "n": "GAME_ACTION_FLY", - "s": "飛ぶ" - }, - { - "n": "GAME_ACTION_FULL_SPEED", - "s": "全速力" - }, - { - "n": "GAME_ACTION_GO", - "s": "移動する" - }, - { - "n": "GAME_ACTION_GO_TO_PLACE", - "s": "へ移動する" - }, - { - "n": "GAME_ACTION_HALF_SPEED", - "s": "半速力" - }, - { - "n": "GAME_ACTION_HEAL", - "s": "回復する" - }, - { - "n": "GAME_ACTION_JUMP", - "s": "ジャンプする" - }, - { - "n": "GAME_ACTION_LAND", - "s": "着陸する" - }, - { - "n": "GAME_ACTION_LOOK", - "s": "見る" - }, - { - "n": "GAME_ACTION_MIX", - "s": "調合" - }, - { - "n": "GAME_ACTION_OPEN", - "s": "開く" - }, - { - "n": "GAME_ACTION_PICK_UP", - "s": "ひろう" - }, - { - "n": "GAME_ACTION_RACE", - "s": "競争する" - }, - { - "n": "GAME_ACTION_READ", - "s": "読む" - }, - { - "n": "GAME_ACTION_REPLACE", - "s": "入れ替え" - }, - { - "n": "GAME_ACTION_RUN", - "s": "走る" - }, - { - "n": "GAME_ACTION_RUN_AWAY", - "s": "逃げる" - }, - { - "n": "GAME_ACTION_SHOOT", - "s": "撃つ" - }, - { - "n": "GAME_ACTION_SNEAK", - "s": "忍ぶ" - }, - { - "n": "GAME_ACTION_SPIN", - "s": "回転させる" - }, - { - "n": "GAME_ACTION_SPRINT", - "s": "走る" - }, - { - "n": "GAME_ACTION_STEER", - "s": "操舵する" - }, - { - "n": "GAME_ACTION_TAKE_OFF", - "s": "離陸する" - }, - { - "n": "GAME_ACTION_TALK", - "s": "はなす" - }, - { - "n": "GAME_ACTION_THROW", - "s": "なげる" - }, - { - "n": "GAME_ACTION_WALK", - "s": "あるく" - }, - { - "n": "GAME_CHARACTER_ENDURANCE", - "s": "生命力" - }, - { - "n": "GAME_CHARACTER_EXP", - "s": "経験値" - }, - { - "n": "GAME_CHARACTER_FEMALE", - "s": "女" - }, - { - "n": "GAME_CHARACTER_HEALTH", - "s": "ヘルス" - }, - { - "n": "GAME_CHARACTER_HEART", - "s": "ハート" - }, - { - "n": "GAME_CHARACTER_HEART_PLURAL", - "s": "ハート" - }, - { - "n": "GAME_CHARACTER_LEVEL", - "s": "レベル" - }, - { - "n": "GAME_CHARACTER_LEVEL_UP", - "s": "レベルアップ!" - }, - { - "n": "GAME_CHARACTER_LIVES", - "s": "ライフ" - }, - { - "n": "GAME_CHARACTER_MALE", - "s": "男" - }, - { - "n": "GAME_CHARACTER_MAN", - "s": "男" - }, - { - "n": "GAME_CHARACTER_MAN_PLURAL", - "s": "男" - }, - { - "n": "GAME_CHARACTER_RESPAWN", - "s": "復活" - }, - { - "n": "GAME_CHARACTER_RESPAWN_IN", - "s": "復活まで:" - }, - { - "n": "GAME_CHARACTER_RESPAWN_QUESTION", - "s": "復活しますか?" - }, - { - "n": "GAME_CHARACTER_RESPAWNING", - "s": "復活中" - }, - { - "n": "GAME_CHARACTER_SKILL", - "s": "スキル" - }, - { - "n": "GAME_CHARACTER_SPAWN_POINT", - "s": "復活ポイント" - }, - { - "n": "GAME_CHARACTER_TRANSGENDER", - "s": "トランスジェンダー" - }, - { - "n": "GAME_CHARACTER_WOMAN", - "s": "女" - }, - { - "n": "GAME_CHARACTER_WOMAN_PLURAL", - "s": "女" - }, - { - "n": "GAME_DAMAGE", - "s": "ダメージ" - }, - { - "n": "GAME_DAMAGE_CRITICAL_HIT", - "s": "クリティカルヒット" - }, - { - "n": "GAME_DAMAGE_CRITICAL_MISS", - "s": "クリティカルミス" - }, - { - "n": "GAME_DAMAGE_HIT_NOUN", - "s": "ヒット" - }, - { - "n": "GAME_DAMAGE_HIT_POINTS_PLURAL", - "s": "ヒットポイント" - }, - { - "n": "GAME_DAMAGE_MISS_NOUN", - "s": "ミス" - }, - { - "n": "GAME_DAMAGE_UNIT", - "s": "ダメージ" - }, - { - "n": "GAME_DAMAGE_UNIT_PLURAL", - "s": "ダメージ" - }, - { - "n": "GAME_ENEMY", - "s": "てき" - }, - { - "n": "GAME_ENEMY_FEMALE", - "s": "てき" - }, - { - "n": "GAME_ENEMY_FEMALE_PLURAL", - "s": "てき" - }, - { - "n": "GAME_ENEMY_PLURAL", - "s": "てき" - }, - { - "n": "GAME_GENRE_ACTION", - "s": "アクションゲーム" - }, - { - "n": "GAME_GENRE_ADVENTURE", - "s": "アドベンチャーゲーム" - }, - { - "n": "GAME_GENRE_CARD", - "s": "カード" - }, - { - "n": "GAME_GENRE_CASUAL", - "s": "カジュアルゲーム" - }, - { - "n": "GAME_GENRE_FANTASY", - "s": "ファンタジーゲーム" - }, - { - "n": "GAME_GENRE_HARDCORE", - "s": "ハードコアゲーム" - }, - { - "n": "GAME_GENRE_INDIE", - "s": "独立系開発会社" - }, - { - "n": "GAME_GENRE_MEDIEVAL", - "s": "中世風ゲーム" - }, - { - "n": "GAME_GENRE_MISC", - "s": "そのほか" - }, - { - "n": "GAME_GENRE_MULTIPLAYER", - "s": "マルチプレイヤー" - }, - { - "n": "GAME_GENRE_NAME", - "s": "ジャンル" - }, - { - "n": "GAME_GENRE_PLATFORMER", - "s": "プラットフォームゲーム" - }, - { - "n": "GAME_GENRE_PUZZLE", - "s": "パズルゲーム" - }, - { - "n": "GAME_GENRE_QUIZ", - "s": "クイズゲーム" - }, - { - "n": "GAME_GENRE_RACING", - "s": "レース" - }, - { - "n": "GAME_GENRE_RETRO", - "s": "レトロゲーム" - }, - { - "n": "GAME_GENRE_RPG", - "s": "ロールプレイングゲーム" - }, - { - "n": "GAME_GENRE_RTS", - "s": "リアルタイムシミュレーション" - }, - { - "n": "GAME_GENRE_SCIFI", - "s": "SFゲーム" - }, - { - "n": "GAME_GENRE_SHOOTER", - "s": "シューティングゲーム" - }, - { - "n": "GAME_GENRE_SIMULATION", - "s": "シミュレーションゲーム" - }, - { - "n": "GAME_GENRE_SINGLEPLAYER", - "s": "シングルプレイヤー" - }, - { - "n": "GAME_GENRE_SPORTS", - "s": "スポーツゲーム" - }, - { - "n": "GAME_GENRE_STRATEGY", - "s": "ストラテジーゲーム" - }, - { - "n": "GAME_GENRE_TBS", - "s": "ターン制シミュレーション" - }, - { - "n": "GAME_GENRE_TOWER_DEFENSE", - "s": "タワーディフェンスゲーム" - }, - { - "n": "GAME_INVENTORY", - "s": "インベントリ" - }, - { - "n": "GAME_INVENTORY_AMMO", - "s": "弾薬" - }, - { - "n": "GAME_INVENTORY_AMMUNITION", - "s": "弾薬" - }, - { - "n": "GAME_INVENTORY_BULLET", - "s": "弾" - }, - { - "n": "GAME_INVENTORY_BULLET_PLURAL", - "s": "弾" - }, - { - "n": "GAME_INVENTORY_BUY", - "s": "買う" - }, - { - "n": "GAME_INVENTORY_CAPACITY", - "s": "インベントリ容量" - }, - { - "n": "GAME_INVENTORY_DROP", - "s": "すてる" - }, - { - "n": "GAME_INVENTORY_ENCUMBRANCE", - "s": "持ち運べる量" - }, - { - "n": "GAME_INVENTORY_FULL", - "s": "インベントリがいっぱいです" - }, - { - "n": "GAME_INVENTORY_ITEM", - "s": "アイテム" - }, - { - "n": "GAME_INVENTORY_KEY", - "s": "鍵" - }, - { - "n": "GAME_INVENTORY_POWERUP", - "s": "パワーアップ" - }, - { - "n": "GAME_INVENTORY_SELL", - "s": "売る" - }, - { - "n": "GAME_INVENTORY_USE", - "s": "使用する" - }, - { - "n": "GAME_INVENTORY_WEAPON", - "s": "ぶき" - }, - { - "n": "GAME_INVENTORY_WEAPONS", - "s": "ぶき" - }, - { - "n": "GAME_INVENTORY_YOU_CANNOT_CARRY", - "s": "これ以上持てません。" - }, - { - "n": "GAME_LABEL_BE_CAREFUL", - "s": "気をつけて!" - }, - { - "n": "GAME_LABEL_PLEASE_BE_CAREFUL", - "s": "気をつけてください。" - }, - { - "n": "GAME_LABEL_TACTICS", - "s": "作戦" - }, - { - "n": "GAME_OBJECTIVE", - "s": "目標" - }, - { - "n": "GAME_OBJECTIVE_ASSIST", - "s": "アシスト" - }, - { - "n": "GAME_OBJECTIVE_ASSIST_PLURAL", - "s": "アシスト" - }, - { - "n": "GAME_OBJECTIVE_ATTACK", - "s": "攻める" - }, - { - "n": "GAME_OBJECTIVE_BONUS", - "s": "ボーナス" - }, - { - "n": "GAME_OBJECTIVE_CAPTURE", - "s": "確保する" - }, - { - "n": "GAME_OBJECTIVE_COMPLETE", - "s": "完了済" - }, - { - "n": "GAME_OBJECTIVE_DEATH", - "s": "デス" - }, - { - "n": "GAME_OBJECTIVE_DEATH_PLURAL", - "s": "デス" - }, - { - "n": "GAME_OBJECTIVE_DEFEND", - "s": "守る" - }, - { - "n": "GAME_OBJECTIVE_DESTROY", - "s": "破壊する" - }, - { - "n": "GAME_OBJECTIVE_ESCAPE", - "s": "逃走する" - }, - { - "n": "GAME_OBJECTIVE_GAME_FINISHED", - "s": "終わり" - }, - { - "n": "GAME_OBJECTIVE_GAMEOVER", - "s": "ゲームオーバー!" - }, - { - "n": "GAME_OBJECTIVE_GAMEOVER_CAPS", - "s": "ゲームオーバー!" - }, - { - "n": "GAME_OBJECTIVE_HIGH_SCORE", - "s": "ハイスコア" - }, - { - "n": "GAME_OBJECTIVE_INCOMPLETE", - "s": "未完了" - }, - { - "n": "GAME_OBJECTIVE_KILL", - "s": "キル" - }, - { - "n": "GAME_OBJECTIVE_KILL_ASSIST", - "s": "キルアシスト" - }, - { - "n": "GAME_OBJECTIVE_KILL_NOUN", - "s": "キル" - }, - { - "n": "GAME_OBJECTIVE_KILL_PLURAL", - "s": "キル" - }, - { - "n": "GAME_OBJECTIVE_LOCKED", - "s": "ロック中" - }, - { - "n": "GAME_OBJECTIVE_LOSSES", - "s": "敗北" - }, - { - "n": "GAME_OBJECTIVE_MATCH", - "s": "マッチ" - }, - { - "n": "GAME_OBJECTIVE_MISSION", - "s": "ミッション" - }, - { - "n": "GAME_OBJECTIVE_MISSION_OBJECTIVE", - "s": "ミッション目標" - }, - { - "n": "GAME_OBJECTIVE_MISSION_OBJECTIVE_PLURAL", - "s": "ミッション目標" - }, - { - "n": "GAME_OBJECTIVE_MULTIPLIER", - "s": "倍" - }, - { - "n": "GAME_OBJECTIVE_PLURAL", - "s": "目標" - }, - { - "n": "GAME_OBJECTIVE_POSITION", - "s": "ポジション" - }, - { - "n": "GAME_OBJECTIVE_RACE_LAP", - "s": "ラップ" - }, - { - "n": "GAME_OBJECTIVE_RACE_LAP_PLURAL", - "s": "ラップ" - }, - { - "n": "GAME_OBJECTIVE_ROUND", - "s": "ラウンド" - }, - { - "n": "GAME_OBJECTIVE_SCORE", - "s": "スコア" - }, - { - "n": "GAME_OBJECTIVE_TIME", - "s": "タイム" - }, - { - "n": "GAME_OBJECTIVE_TIME_LEFT", - "s": "残り時間" - }, - { - "n": "GAME_OBJECTIVE_TOURNAMENT", - "s": "トーナメント" - }, - { - "n": "GAME_OBJECTIVE_TOURNAMENT_PLURAL", - "s": "トーナメント" - }, - { - "n": "GAME_OBJECTIVE_WINS", - "s": "勝利" - }, - { - "n": "GAME_STATUS_DEFEAT", - "s": "敗北" - }, - { - "n": "GAME_STATUS_DEFEATED", - "s": "敗北しました。" - }, - { - "n": "GAME_STATUS_LOSER", - "s": "敗者" - }, - { - "n": "GAME_STATUS_TEAM_LOST", - "s": "チームの敗北!" - }, - { - "n": "GAME_STATUS_TEAM_WON", - "s": "チームの勝利!" - }, - { - "n": "GAME_STATUS_VICTORY", - "s": "勝利" - }, - { - "n": "GAME_STATUS_WINNER", - "s": "勝者" - }, - { - "n": "GAME_STATUS_YOU_ARE_DEAD", - "s": "死にました。" - }, - { - "n": "GAME_STATUS_YOU_DIED", - "s": "死にました。" - }, - { - "n": "GAME_STATUS_YOU_LOSE", - "s": "敗北!" - }, - { - "n": "GAME_STATUS_YOU_LOST", - "s": "敗北!" - }, - { - "n": "GAME_STATUS_YOU_WIN", - "s": "勝利!" - }, - { - "n": "GAME_STATUS_YOU_WON", - "s": "勝利!" - }, - { - "n": "MENU_CAMERA", - "s": "カメラ" - }, - { - "n": "MENU_CAMERA_INVERTED", - "s": "反転" - }, - { - "n": "MENU_CAMERA_NORMAL", - "s": "通常" - }, - { - "n": "MENU_CAMERA_XAXIS", - "s": "カメラ操作:左右" - }, - { - "n": "MENU_CAMERA_YAXIS", - "s": "カメラ操作:上下" - }, - { - "n": "MENU_CONTROLS_BUTTON", - "s": "ボタン" - }, - { - "n": "MENU_CONTROLS_CLICK", - "s": "クリック" - }, - { - "n": "MENU_CONTROLS_DEADZONE", - "s": "デッドゾーン" - }, - { - "n": "MENU_CONTROLS_DOUBLE_CLICK", - "s": "ダブルクリック" - }, - { - "n": "MENU_CONTROLS_DRAG", - "s": "ドラッグ" - }, - { - "n": "MENU_CONTROLS_DRAG_DROP", - "s": "ドラッグ・アンド・ドロップ" - }, - { - "n": "MENU_CONTROLS_FINGER", - "s": "フィンガー" - }, - { - "n": "MENU_CONTROLS_GAMEPAD", - "s": "ゲームパッド" - }, - { - "n": "MENU_CONTROLS_GYROSCOPE", - "s": "ジャイロ" - }, - { - "n": "MENU_CONTROLS_KEY", - "s": "キー" - }, - { - "n": "MENU_CONTROLS_KEYBOARD", - "s": "キーボード" - }, - { - "n": "MENU_CONTROLS_MOUSE", - "s": "マウス" - }, - { - "n": "MENU_CONTROLS_MOUSE_SENSITIVITY", - "s": "マウス感度" - }, - { - "n": "MENU_CONTROLS_PINCH", - "s": "ピンチ" - }, - { - "n": "MENU_CONTROLS_ROTATE", - "s": "回転" - }, - { - "n": "MENU_CONTROLS_SCROLL", - "s": "スクロール" - }, - { - "n": "MENU_CONTROLS_SHAKE", - "s": "シェイク" - }, - { - "n": "MENU_CONTROLS_SPREAD", - "s": "スプレッド" - }, - { - "n": "MENU_CONTROLS_SWIPE", - "s": "スワイプ" - }, - { - "n": "MENU_CONTROLS_TAP", - "s": "タップ" - }, - { - "n": "MENU_CONTROLS_THE_BUTTON", - "s": "ボタン" - }, - { - "n": "MENU_CONTROLS_THE_KEY", - "s": "キー" - }, - { - "n": "MENU_CONTROLS_TILT", - "s": "ティルト" - }, - { - "n": "MENU_CUSTOMIZE_ARM", - "s": "腕" - }, - { - "n": "MENU_CUSTOMIZE_ARM_PLURAL", - "s": "腕" - }, - { - "n": "MENU_CUSTOMIZE_CHEST", - "s": "胸" - }, - { - "n": "MENU_CUSTOMIZE_CHIN", - "s": "顎" - }, - { - "n": "MENU_CUSTOMIZE_COLOR", - "s": "色" - }, - { - "n": "MENU_CUSTOMIZE_EAR", - "s": "耳" - }, - { - "n": "MENU_CUSTOMIZE_EAR_PLURAL", - "s": "耳" - }, - { - "n": "MENU_CUSTOMIZE_EYE", - "s": "目" - }, - { - "n": "MENU_CUSTOMIZE_EYE_PLURAL", - "s": "目" - }, - { - "n": "MENU_CUSTOMIZE_FEET", - "s": "足" - }, - { - "n": "MENU_CUSTOMIZE_FOOT", - "s": "足" - }, - { - "n": "MENU_CUSTOMIZE_HAIR", - "s": "毛" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_BEARD", - "s": "髭" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_FUR", - "s": "毛皮" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_HEAD", - "s": "髪" - }, - { - "n": "MENU_CUSTOMIZE_HAND", - "s": "手" - }, - { - "n": "MENU_CUSTOMIZE_HAND_PLURAL", - "s": "手" - }, - { - "n": "MENU_CUSTOMIZE_HEAD", - "s": "頭" - }, - { - "n": "MENU_CUSTOMIZE_HIPS", - "s": "腰" - }, - { - "n": "MENU_CUSTOMIZE_LEG", - "s": "脚" - }, - { - "n": "MENU_CUSTOMIZE_LEG_PLURAL", - "s": "脚" - }, - { - "n": "MENU_CUSTOMIZE_MOUTH", - "s": "口" - }, - { - "n": "MENU_CUSTOMIZE_NECK", - "s": "首" - }, - { - "n": "MENU_CUSTOMIZE_NOSE", - "s": "鼻" - }, - { - "n": "MENU_CUSTOMIZE_SKIN", - "s": "肌" - }, - { - "n": "MENU_CUSTOMIZE_THORAX", - "s": "胸郭" - }, - { - "n": "MENU_DIFFICULTY", - "s": "難易度" - }, - { - "n": "MENU_DIFFICULTY_EASY", - "s": "易しい" - }, - { - "n": "MENU_DIFFICULTY_HARD", - "s": "難しい" - }, - { - "n": "MENU_DIFFICULTY_IMPOSSIBLE", - "s": "クリア不可能" - }, - { - "n": "MENU_DIFFICULTY_INSANE", - "s": "マニアック" - }, - { - "n": "MENU_DIFFICULTY_MEDIUM", - "s": "普通" - }, - { - "n": "MENU_DIFFICULTY_VERY_EASY", - "s": "とても易しい" - }, - { - "n": "MENU_DIFFICULTY_VERY_HARD", - "s": "とても難しい" - }, - { - "n": "MENU_DIR_DOWN", - "s": "下" - }, - { - "n": "MENU_DIR_LEFT", - "s": "左" - }, - { - "n": "MENU_DIR_RIGHT", - "s": "右" - }, - { - "n": "MENU_DIR_UP", - "s": "上" - }, - { - "n": "MENU_IO_LOAD", - "s": "ロード" - }, - { - "n": "MENU_IO_LOAD_GAME", - "s": "ゲームデータをロード" - }, - { - "n": "MENU_IO_LOADING", - "s": "ローディング中…" - }, - { - "n": "MENU_IO_PLEASE_WAIT", - "s": "お待ちください…" - }, - { - "n": "MENU_IO_RESET_SAVE_DATA", - "s": "セーブデータを消去しますか?" - }, - { - "n": "MENU_IO_SAVE", - "s": "セーブ" - }, - { - "n": "MENU_IO_SAVE_DATA", - "s": "セーブデータ" - }, - { - "n": "MENU_IO_SAVE_GAME", - "s": "ゲームデータをセーブ" - }, - { - "n": "MENU_IO_SAVING", - "s": "セーブ中…" - }, - { - "n": "MENU_LABEL_AGE", - "s": "年齢" - }, - { - "n": "MENU_LABEL_ALL", - "s": "すべて" - }, - { - "n": "MENU_LABEL_ARE_YOU_REALLY_SURE", - "s": "本当によろしいですか?" - }, - { - "n": "MENU_LABEL_ARE_YOU_SURE", - "s": "よろしいですか?" - }, - { - "n": "MENU_LABEL_BACK", - "s": "戻る" - }, - { - "n": "MENU_LABEL_BACKGROUND_MUSIC", - "s": "BGM" - }, - { - "n": "MENU_LABEL_CANCEL", - "s": "キャンセル" - }, - { - "n": "MENU_LABEL_CLOSE", - "s": "閉じる" - }, - { - "n": "MENU_LABEL_CONFIRM_BUTTON", - "s": "決定" - }, - { - "n": "MENU_LABEL_CONTINUE", - "s": "続ける" - }, - { - "n": "MENU_LABEL_CONTINUE_QUESTION", - "s": "続けますか?" - }, - { - "n": "MENU_LABEL_CREDITS", - "s": "クレジット" - }, - { - "n": "MENU_LABEL_DESKTOP", - "s": "終了してデスクトップへ戻る" - }, - { - "n": "MENU_LABEL_DESKTOP_QUESTION", - "s": "終了してデスクトップへ戻りますか?" - }, - { - "n": "MENU_LABEL_DLC", - "s": "DLC" - }, - { - "n": "MENU_LABEL_DOWNLOAD", - "s": "ダウンロード" - }, - { - "n": "MENU_LABEL_DOWNLOADABLE", - "s": "ダウンロードコンテンツ" - }, - { - "n": "MENU_LABEL_EXIT", - "s": "終了する" - }, - { - "n": "MENU_LABEL_EXIT_QUESTION", - "s": "終了しますか?" - }, - { - "n": "MENU_LABEL_EXTRAS", - "s": "エキストラ" - }, - { - "n": "MENU_LABEL_FRAMESPERSEC", - "s": "FPS" - }, - { - "n": "MENU_LABEL_GALLERY", - "s": "アートギャラリー" - }, - { - "n": "MENU_LABEL_GOODBYE", - "s": "さようなら!" - }, - { - "n": "MENU_LABEL_GRAPHICS", - "s": "グラフィック" - }, - { - "n": "MENU_LABEL_IAP", - "s": "アプリ内購入" - }, - { - "n": "MENU_LABEL_LANGUAGE", - "s": "言語" - }, - { - "n": "MENU_LABEL_LEVEL", - "s": "ステージ" - }, - { - "n": "MENU_LABEL_MAIL", - "s": "メール" - }, - { - "n": "MENU_LABEL_MAINMENU", - "s": "メインメニュー" - }, - { - "n": "MENU_LABEL_MORE", - "s": "詳細" - }, - { - "n": "MENU_LABEL_MUSIC", - "s": "音楽" - }, - { - "n": "MENU_LABEL_MUSIC_PLAYER", - "s": "音楽プレーヤー" - }, - { - "n": "MENU_LABEL_NEW_GAME", - "s": "新しいゲーム" - }, - { - "n": "MENU_LABEL_NEXT", - "s": "次へ" - }, - { - "n": "MENU_LABEL_NEXT_TRACK", - "s": "次の曲" - }, - { - "n": "MENU_LABEL_NO", - "s": "いいえ" - }, - { - "n": "MENU_LABEL_NO_CAPS", - "s": "いいえ" - }, - { - "n": "MENU_LABEL_NOPE", - "s": "だめ" - }, - { - "n": "MENU_LABEL_OK", - "s": "OK" - }, - { - "n": "MENU_LABEL_PAUSE", - "s": "ポーズ" - }, - { - "n": "MENU_LABEL_PAUSED", - "s": "ポーズ中" - }, - { - "n": "MENU_LABEL_PLAY", - "s": "プレイ" - }, - { - "n": "MENU_LABEL_PLAY_AGAIN", - "s": "再プレイ" - }, - { - "n": "MENU_LABEL_PRESS_ANYKEY", - "s": "いずれかのキーを おす" - }, - { - "n": "MENU_LABEL_PRESS_ANYKEY_CONTINUE", - "s": "つづけるには いずれかのキーを おす" - }, - { - "n": "MENU_LABEL_PRESS_START", - "s": "STARTボタンを おす" - }, - { - "n": "MENU_LABEL_PRESS_START_CONTINUE", - "s": "つづけるには STARTボタンを おす" - }, - { - "n": "MENU_LABEL_PREVIOUS", - "s": "前へ" - }, - { - "n": "MENU_LABEL_PREVIOUS_TRACK", - "s": "先の曲" - }, - { - "n": "MENU_LABEL_PRICE", - "s": "価格" - }, - { - "n": "MENU_LABEL_PRICE_FREE", - "s": "無料" - }, - { - "n": "MENU_LABEL_PURCHASE", - "s": "購入" - }, - { - "n": "MENU_LABEL_QUIT", - "s": "終了する" - }, - { - "n": "MENU_LABEL_QUIT_CONFIRM", - "s": "本当に終了しますか?" - }, - { - "n": "MENU_LABEL_QUIT_QUESTION", - "s": "終了しますか?" - }, - { - "n": "MENU_LABEL_REPLAY", - "s": "リプレイ" - }, - { - "n": "MENU_LABEL_RETURN", - "s": "戻る" - }, - { - "n": "MENU_LABEL_RETURN_MAIN", - "s": "メインメニューに戻る" - }, - { - "n": "MENU_LABEL_RETURN_MAIN_QUESTION", - "s": "メインメニューに戻りますか?" - }, - { - "n": "MENU_LABEL_SHARE", - "s": "共有" - }, - { - "n": "MENU_LABEL_SKIP", - "s": "スキップ" - }, - { - "n": "MENU_LABEL_SOUND", - "s": "サウンド" - }, - { - "n": "MENU_LABEL_THANK_YOU", - "s": "ありがとう!" - }, - { - "n": "MENU_LABEL_UNLOCK", - "s": "アンロック" - }, - { - "n": "MENU_LABEL_VIDEO", - "s": "ビデオクオリティ" - }, - { - "n": "MENU_LABEL_VOICES", - "s": "ボイス" - }, - { - "n": "MENU_LABEL_WARNING", - "s": "警告" - }, - { - "n": "MENU_LABEL_WELCOME", - "s": "ようこそ" - }, - { - "n": "MENU_LABEL_WORLD", - "s": "世界" - }, - { - "n": "MENU_LABEL_YEAH", - "s": "いいよ" - }, - { - "n": "MENU_LABEL_YES", - "s": "はい" - }, - { - "n": "MENU_LABEL_YES_CAPS", - "s": "はい" - }, - { - "n": "MENU_LANGUAGE_DIRECTION", - "s": "ltr" - }, - { - "n": "MENU_LANGUAGE_THIS", - "s": "にほんご" - }, - { - "n": "MENU_LANGUAGE_THIS_EN", - "s": "Japanese" - }, - { - "n": "MENU_LOGIN", - "s": "ログイン" - }, - { - "n": "MENU_LOGIN_EMAIL", - "s": "Eメール" - }, - { - "n": "MENU_LOGIN_FORGOT", - "s": "パスワードを忘れた" - }, - { - "n": "MENU_LOGIN_PASSWORD", - "s": "パスワード" - }, - { - "n": "MENU_LOGIN_REGISTER", - "s": "登録" - }, - { - "n": "MENU_LOGIN_REMEMBER", - "s": "保存しますか?" - }, - { - "n": "MENU_MODE_CHALLENGE", - "s": "チャレンジ" - }, - { - "n": "MENU_MODE_CHALLENGE_MODE", - "s": "チャレンジモード" - }, - { - "n": "MENU_MODE_COOP", - "s": "協力" - }, - { - "n": "MENU_MODE_COOPERATIVE", - "s": "協力モード" - }, - { - "n": "MENU_MODE_DEATHMATCH", - "s": "デスマッチ" - }, - { - "n": "MENU_MODE_HELP", - "s": "ヘルプ" - }, - { - "n": "MENU_MODE_INSTRUCTIONS", - "s": "説明" - }, - { - "n": "MENU_MODE_MULTIPLAYER", - "s": "マルチプレイ" - }, - { - "n": "MENU_MODE_MULTIPLAYER_LOCAL", - "s": "ローカルマルチプレイ" - }, - { - "n": "MENU_MODE_MULTIPLAYER_ONLINE", - "s": "オンラインマルチプレイ" - }, - { - "n": "MENU_MODE_PLAY_ONLINE", - "s": "オンラインでプレイ" - }, - { - "n": "MENU_MODE_SINGLEPLAYER", - "s": "シングルプレイ" - }, - { - "n": "MENU_MODE_TRAINING", - "s": "トレーニング" - }, - { - "n": "MENU_MODE_TUTORIAL", - "s": "チュートリアル" - }, - { - "n": "MENU_MODE_VERSUS", - "s": "対戦" - }, - { - "n": "MENU_NAME", - "s": "名前" - }, - { - "n": "MENU_NAME_FIRST", - "s": "名前" - }, - { - "n": "MENU_NAME_LAST", - "s": "苗字" - }, - { - "n": "MENU_NAME_USER", - "s": "ユーザーネーム" - }, - { - "n": "MENU_OPTIONS", - "s": "設定" - }, - { - "n": "MENU_OPTIONS_ADVANCEDGRAPHICS", - "s": "グラフィック詳細設定" - }, - { - "n": "MENU_OPTIONS_ANTIALIASING", - "s": "アンチエイリアス" - }, - { - "n": "MENU_OPTIONS_BLOOM", - "s": "ブルーム効果" - }, - { - "n": "MENU_OPTIONS_CONTROLS", - "s": "操作方法" - }, - { - "n": "MENU_OPTIONS_DIFFICULTY", - "s": "難易度設定" - }, - { - "n": "MENU_OPTIONS_DISPLAY", - "s": "ディスプレイ" - }, - { - "n": "MENU_OPTIONS_EFFECT_DETAIL", - "s": "エフェクト詳細設定" - }, - { - "n": "MENU_OPTIONS_FILTERING_ANISOTROPIC", - "s": "異方性" - }, - { - "n": "MENU_OPTIONS_FILTERING_BILINEAR", - "s": "バイリニア" - }, - { - "n": "MENU_OPTIONS_FILTERING_MODE", - "s": "フィルタリング モード" - }, - { - "n": "MENU_OPTIONS_FILTERING_TRILINEAR", - "s": "トライリニア" - }, - { - "n": "MENU_OPTIONS_FIRST_PERSON_VIEW", - "s": "一人称視点" - }, - { - "n": "MENU_OPTIONS_FOV", - "s": "視野角" - }, - { - "n": "MENU_OPTIONS_FULLSCREEN", - "s": "フルスクリーン" - }, - { - "n": "MENU_OPTIONS_GAMEPLAY", - "s": "ゲームプレイ設定" - }, - { - "n": "MENU_OPTIONS_GRAPHICS", - "s": "グラフィック設定" - }, - { - "n": "MENU_OPTIONS_HUD", - "s": "HUD" - }, - { - "n": "MENU_OPTIONS_MODEL_DETAIL", - "s": "モデルの詳細" - }, - { - "n": "MENU_OPTIONS_MULTICORE_RENDERING", - "s": "マルチコアレンダリング" - }, - { - "n": "MENU_OPTIONS_MUSIC_VOLUME", - "s": "BGM音量 " - }, - { - "n": "MENU_OPTIONS_NETWORK", - "s": "ネットワーク設定" - }, - { - "n": "MENU_OPTIONS_QUALITY", - "s": "クオリティ" - }, - { - "n": "MENU_OPTIONS_RESOLUTION", - "s": "解像度" - }, - { - "n": "MENU_OPTIONS_SFX_VOLUME", - "s": "SE音量 " - }, - { - "n": "MENU_OPTIONS_SHADER_DETAIL", - "s": "シェーダーの詳細" - }, - { - "n": "MENU_OPTIONS_SHADOW", - "s": "シャドウ" - }, - { - "n": "MENU_OPTIONS_SHADOW_PLURAL", - "s": "シャドウ" - }, - { - "n": "MENU_OPTIONS_SIZE", - "s": "サイズ" - }, - { - "n": "MENU_OPTIONS_SOUND", - "s": "サウンド設定" - }, - { - "n": "MENU_OPTIONS_SOUND_VOLUME", - "s": "ボリューム" - }, - { - "n": "MENU_OPTIONS_SPLITSCREEN", - "s": "画面分割" - }, - { - "n": "MENU_OPTIONS_TEXTURE_DETAIL", - "s": "テクスチャの詳細" - }, - { - "n": "MENU_OPTIONS_THIRD_PERSON_VIEW", - "s": "三人称視点" - }, - { - "n": "MENU_OPTIONS_VIDEO", - "s": "ビデオ設定" - }, - { - "n": "MENU_OPTIONS_VIDEO_QUALITY", - "s": "ビデオクオリティ" - }, - { - "n": "MENU_OPTIONS_VOICE_VOLUME", - "s": "ボイス音量 " - }, - { - "n": "MENU_OPTIONS_VSYNC", - "s": "垂直同期" - }, - { - "n": "MENU_OPTIONS_WIDESCREEN", - "s": "ワイドスクリーン" - }, - { - "n": "MENU_OPTIONS_WINDOWED", - "s": "ウィンドウモード" - }, - { - "n": "MENU_SETTING_HIGH", - "s": "高" - }, - { - "n": "MENU_SETTING_LOW", - "s": "低" - }, - { - "n": "MENU_SETTING_MEDIUM", - "s": "中" - }, - { - "n": "MENU_SETTING_ULTRA", - "s": "ウルトラ" - }, - { - "n": "MENU_SETTING_VERY_HIGH", - "s": "最高" - }, - { - "n": "MENU_VERSION", - "s": "バージョン" - }, - { - "n": "MENU_VERSION_DEMO", - "s": "デモ" - }, - { - "n": "MENU_VERSION_FREE", - "s": "無料版" - }, - { - "n": "MENU_VERSION_FULL", - "s": "完全版" - }, - { - "n": "MENU_VERSION_LITE", - "s": "Lite版" - }, - { - "n": "MENU_VERSION_PREMIUM", - "s": "プレミアム" - }, - { - "n": "MENU_VERSION_SHAREWARE", - "s": "シェアウェア" - }, - { - "n": "MENU_VERSION_TRIAL", - "s": "体験版" - }, - { - "n": "MENU_VR_COMFORT_MODE", - "s": "VR向けモード" - }, - { - "n": "MENU_VR_HMD_ORIENT_RESET", - "s": "HMDの画面位置設定をリセット" - }, - { - "n": "MENU_VR_VIRTUAL_REALITY", - "s": "バーチャルリアリティ" - } - ] - } -} diff --git a/assets/locales/jaJPysi/terrarum.json b/assets/locales/jaJPysi/terrarum.json deleted file mode 100644 index feab29680..000000000 --- a/assets/locales/jaJPysi/terrarum.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "MENU_LABEL_COPYRIGHT": "ちょさくけん", - "COPYRIGHT_ALL_RIGHTS_RESERVED": "ぜんちょさくけん しょゆう", - "COPYRIGHT_GNU_GPL_3": "GNU GPL 3で はいふ", - "APP_WARNING_HEALTH_AND_SAFETY": "けいこくーけんこうと あんぜんの ために", - "MENU_LABEL_PRESS_START_SYMBOL": "> ボタンを おす", - "MENU_MODULES" : "モジュール" -} \ No newline at end of file diff --git a/assets/locales/koKRabc/Polyglot-100_koKR.json b/assets/locales/koKRabc/Polyglot-100_koKR.json deleted file mode 100644 index 935802ee8..000000000 --- a/assets/locales/koKRabc/Polyglot-100_koKR.json +++ /dev/null @@ -1,2568 +0,0 @@ -{ - "resources": { - "polyglot": { - "LANG": "Korean", - "DIRECTION": "ltr", - "VERSION": "100", - "DATE": "2015-11-16" - }, - "data": [ - { - "n": "CONTEXT_CHARACTER_CLASS", - "s": "지ᄀ어ᄇ" - }, - { - "n": "CONTEXT_CHARACTER_DELETE", - "s": "캐리ᄀ터 지우기" - }, - { - "n": "CONTEXT_CHARACTER_NEW", - "s": "캐리ᄀ터 마ᄂ드ᄅ기" - }, - { - "n": "CONTEXT_CLASS_AI", - "s": "이ᄂ고ᄋ지느ᄋ" - }, - { - "n": "CONTEXT_CLASS_ALIEN", - "s": "오ᅵ계이ᄂ" - }, - { - "n": "CONTEXT_CLASS_CLONE", - "s": "보ᄀ제 이ᄂ가ᄂ" - }, - { - "n": "CONTEXT_CLASS_CYBORG", - "s": "사이보그" - }, - { - "n": "CONTEXT_CLASS_DEITY", - "s": "시ᄂ" - }, - { - "n": "CONTEXT_CLASS_DEMON", - "s": "아ᄀ마" - }, - { - "n": "CONTEXT_CLASS_DEMONNESS", - "s": "아ᄀ마" - }, - { - "n": "CONTEXT_CLASS_DRAGON", - "s": "드래고ᄂ" - }, - { - "n": "CONTEXT_CLASS_DRAGON_PLURAL", - "s": "드래고ᄂ" - }, - { - "n": "CONTEXT_CLASS_GHOST", - "s": "유려ᄋ" - }, - { - "n": "CONTEXT_CLASS_GOD", - "s": "시ᄂ" - }, - { - "n": "CONTEXT_CLASS_GOD_PLURAL", - "s": "시ᄂ" - }, - { - "n": "CONTEXT_CLASS_GODDESS", - "s": "여시ᄂ" - }, - { - "n": "CONTEXT_CLASS_MAGE", - "s": "마버ᄇ사" - }, - { - "n": "CONTEXT_CLASS_MEDIC", - "s": "으ᅵ무고ᅡᄂ" - }, - { - "n": "CONTEXT_CLASS_MONSTER", - "s": "고ᅵ무ᄅ" - }, - { - "n": "CONTEXT_CLASS_NINJA", - "s": "니ᄂ자" - }, - { - "n": "CONTEXT_CLASS_PIRATE", - "s": "해저ᄀ" - }, - { - "n": "CONTEXT_CLASS_PRIEST", - "s": "사제" - }, - { - "n": "CONTEXT_CLASS_PRINCE", - "s": "오ᅡᄋ자" - }, - { - "n": "CONTEXT_CLASS_PRINCESS", - "s": "고ᄋ주" - }, - { - "n": "CONTEXT_CLASS_ROBOT", - "s": "로보ᄉ" - }, - { - "n": "CONTEXT_CLASS_SKELETON", - "s": "스케ᄅ레토ᄂ" - }, - { - "n": "CONTEXT_CLASS_SNIPER", - "s": "저겨ᄀ수" - }, - { - "n": "CONTEXT_CLASS_SOLDIER", - "s": "구ᄂ이ᄂ" - }, - { - "n": "CONTEXT_CLASS_THIEF", - "s": "도두ᄀ" - }, - { - "n": "CONTEXT_CLASS_WARRIOR", - "s": "저ᄂ사" - }, - { - "n": "CONTEXT_CLASS_WIZARD", - "s": "마버ᄇ사" - }, - { - "n": "CONTEXT_CLASS_ZOMBIE", - "s": "조ᄆ비" - }, - { - "n": "CONTEXT_CLASS_ZOMBIE_PLURAL", - "s": "조ᄆ비" - }, - { - "n": "CONTEXT_COMPETITION_FIRST", - "s": "이ᄅ드ᄋ" - }, - { - "n": "CONTEXT_COMPETITION_PLACE_NOUN", - "s": "드ᄋ수" - }, - { - "n": "CONTEXT_COMPETITION_SECOND", - "s": "이드ᄋ" - }, - { - "n": "CONTEXT_COMPETITION_THIRD", - "s": "사ᄆ드ᄋ" - }, - { - "n": "CONTEXT_CONDITION_BURNING", - "s": "호ᅡ사ᄋ" - }, - { - "n": "CONTEXT_CONDITION_CRITICAL", - "s": "치며ᄋ사ᄋ" - }, - { - "n": "CONTEXT_CONDITION_DEAD", - "s": "사마ᄋ" - }, - { - "n": "CONTEXT_CONDITION_FROZEN", - "s": "도ᄋ겨ᄅ" - }, - { - "n": "CONTEXT_CONDITION_POISONED", - "s": "주ᄋ도ᄀ" - }, - { - "n": "CONTEXT_CONDITION_SLOWED", - "s": "가ᄆ소ᄀ" - }, - { - "n": "CONTEXT_CONDITION_STUNNED", - "s": "스터ᄂ" - }, - { - "n": "CONTEXT_CONDITION_UNCONSCIOUS", - "s": "기저ᄅ" - }, - { - "n": "CONTEXT_CONDITION_UNHURT", - "s": "저ᄋ사ᄋ" - }, - { - "n": "CONTEXT_CONDITION_WET", - "s": "저ᄌ으ᄆ" - }, - { - "n": "CONTEXT_CONDITION_WOUNDED", - "s": "부사ᄋ" - }, - { - "n": "CONTEXT_DESCRIPTION_BIG", - "s": "대" - }, - { - "n": "CONTEXT_DESCRIPTION_HUGE", - "s": "트ᄀ대" - }, - { - "n": "CONTEXT_DESCRIPTION_SMALL", - "s": "소" - }, - { - "n": "CONTEXT_DESCRIPTION_TINY", - "s": "트ᄀ소" - }, - { - "n": "CONTEXT_ELEMENT_AIR", - "s": "고ᄋ기" - }, - { - "n": "CONTEXT_ELEMENT_EARTH", - "s": "ᄃ다ᄋ" - }, - { - "n": "CONTEXT_ELEMENT_FIRE", - "s": "부ᄅ" - }, - { - "n": "CONTEXT_ELEMENT_METAL", - "s": "소ᅵ" - }, - { - "n": "CONTEXT_ELEMENT_WATER", - "s": "무ᄅ" - }, - { - "n": "CONTEXT_GAMBLING_BET", - "s": "베티ᄋ하기" - }, - { - "n": "CONTEXT_GAMBLING_DISCARD", - "s": "포기하기" - }, - { - "n": "CONTEXT_GAMBLING_JACKPOT", - "s": "재ᄀ파ᄉ" - }, - { - "n": "CONTEXT_GAMBLING_MAX", - "s": "초ᅵ대" - }, - { - "n": "CONTEXT_GAMBLING_MIN", - "s": "초ᅵ소" - }, - { - "n": "CONTEXT_ITEM_ARMOR", - "s": "가ᄇ오ᄉ" - }, - { - "n": "CONTEXT_ITEM_ARROW", - "s": "호ᅡ사ᄅ" - }, - { - "n": "CONTEXT_ITEM_ARROWS", - "s": "호ᅡ사ᄅ" - }, - { - "n": "CONTEXT_ITEM_BOARD", - "s": "파ᄂ" - }, - { - "n": "CONTEXT_ITEM_BOMB", - "s": "포ᄀ타ᄂ" - }, - { - "n": "CONTEXT_ITEM_BOOK", - "s": "채ᄀ" - }, - { - "n": "CONTEXT_ITEM_BOOTS", - "s": "시ᄂ바ᄅ" - }, - { - "n": "CONTEXT_ITEM_BOW", - "s": "호ᅡᄅ" - }, - { - "n": "CONTEXT_ITEM_CARD", - "s": "카드" - }, - { - "n": "CONTEXT_ITEM_CARD_PLURAL", - "s": "카드" - }, - { - "n": "CONTEXT_ITEM_CHEST", - "s": "사ᄋ자" - }, - { - "n": "CONTEXT_ITEM_COND_MAGICAL", - "s": "마버ᄇ" - }, - { - "n": "CONTEXT_ITEM_COND_RUSTY", - "s": "노ᄀ스ᄂ" - }, - { - "n": "CONTEXT_ITEM_DAGGER", - "s": "다ᄂ거ᄆ" - }, - { - "n": "CONTEXT_ITEM_DIE_NOUN", - "s": "주사우ᅵ" - }, - { - "n": "CONTEXT_ITEM_DIE_PLURAL", - "s": "주사우ᅵ" - }, - { - "n": "CONTEXT_ITEM_DOOR", - "s": "무ᄂ" - }, - { - "n": "CONTEXT_ITEM_GAUNTLETS", - "s": "거ᄂ트ᄅ리ᄉ" - }, - { - "n": "CONTEXT_ITEM_GEM", - "s": "보서ᄀ" - }, - { - "n": "CONTEXT_ITEM_GIFT_NOUN", - "s": "서ᄂ무ᄅ" - }, - { - "n": "CONTEXT_ITEM_GIFT_PLURAL", - "s": "서ᄂ무ᄅ" - }, - { - "n": "CONTEXT_ITEM_GLOVE", - "s": "자ᄋ가ᄇ" - }, - { - "n": "CONTEXT_ITEM_GUN", - "s": "초ᄋ" - }, - { - "n": "CONTEXT_ITEM_HAMMER", - "s": "마ᄋ치" - }, - { - "n": "CONTEXT_ITEM_HELMET", - "s": "투구" - }, - { - "n": "CONTEXT_ITEM_KEY", - "s": "여ᄅ소ᅵ" - }, - { - "n": "CONTEXT_ITEM_KNIFE", - "s": "카ᄅ" - }, - { - "n": "CONTEXT_ITEM_LOCK", - "s": "자무ᄅ소ᅵ" - }, - { - "n": "CONTEXT_ITEM_LOVE", - "s": "사라ᄋ" - }, - { - "n": "CONTEXT_ITEM_MACHINE_ITEM_GUN", - "s": "기고ᅡᄂ초ᄋ" - }, - { - "n": "CONTEXT_ITEM_MAGIC", - "s": "마버ᄇ" - }, - { - "n": "CONTEXT_ITEM_PISTOL", - "s": "구ᅥᄂ초ᄋ" - }, - { - "n": "CONTEXT_ITEM_QUEST_NOUN", - "s": "쿠ᅦ스트" - }, - { - "n": "CONTEXT_ITEM_RANK_NOUN", - "s": "계그ᄇ" - }, - { - "n": "CONTEXT_ITEM_RIFLE", - "s": "소초ᄋ" - }, - { - "n": "CONTEXT_ITEM_ROCKET_ITEM_LAUNCHER", - "s": "로케ᄉ 러ᄂ처" - }, - { - "n": "CONTEXT_ITEM_RPG", - "s": "RPG" - }, - { - "n": "CONTEXT_ITEM_SCROLL", - "s": "두루마리" - }, - { - "n": "CONTEXT_ITEM_SHIELD", - "s": "바ᄋ패" - }, - { - "n": "CONTEXT_ITEM_SHIELD_PLURAL", - "s": "바ᄋ패" - }, - { - "n": "CONTEXT_ITEM_SHIELD_SCIFI", - "s": "에너지 바ᄋ어마ᄀ" - }, - { - "n": "CONTEXT_ITEM_SHIELD_SCIFI_PLURAL", - "s": "에너지 바ᄋ어마ᄀ" - }, - { - "n": "CONTEXT_ITEM_SHOTGUN", - "s": "사ᄂ타ᄂ초ᄋ" - }, - { - "n": "CONTEXT_ITEM_SNIPER_ITEM_RIFLE", - "s": "저겨ᄀ초ᄋ" - }, - { - "n": "CONTEXT_ITEM_SPELL", - "s": "주무ᄂ" - }, - { - "n": "CONTEXT_ITEM_STAFF", - "s": "보ᄋ" - }, - { - "n": "CONTEXT_ITEM_SWORD", - "s": "거ᄆ" - }, - { - "n": "CONTEXT_ITEM_TREASURE", - "s": "보무ᄅ" - }, - { - "n": "CONTEXT_ITEM_TYPE_EPIC", - "s": "ᄃ두ᅵ어나ᄂ" - }, - { - "n": "CONTEXT_ITEM_TYPE_JUNK", - "s": "저지ᄅ" - }, - { - "n": "CONTEXT_ITEM_WAND", - "s": "마버ᄇ 지파ᄋ이" - }, - { - "n": "CONTEXT_ITEM_WOOD", - "s": "모ᄀ재" - }, - { - "n": "CONTEXT_MACHINE_ALTITUDE", - "s": "고도" - }, - { - "n": "CONTEXT_MACHINE_BRAKES", - "s": "브레이크" - }, - { - "n": "CONTEXT_MACHINE_CHASSIS", - "s": "섀시" - }, - { - "n": "CONTEXT_MACHINE_DEPTH", - "s": "기ᄑ이" - }, - { - "n": "CONTEXT_MACHINE_FUEL", - "s": "여ᄂ료" - }, - { - "n": "CONTEXT_MACHINE_GEAR", - "s": "벼ᄂ소ᄀ기" - }, - { - "n": "CONTEXT_MACHINE_HANDLING", - "s": "해ᄂ드ᄅ리ᄋ" - }, - { - "n": "CONTEXT_MACHINE_SPEED", - "s": "소ᄀ도" - }, - { - "n": "CONTEXT_MACHINE_STEERING", - "s": "해ᄂ드ᄅ 바ᄂ으ᄋ" - }, - { - "n": "CONTEXT_MACHINE_SUSPENSION", - "s": "혀ᄂ가자ᄋ치" - }, - { - "n": "CONTEXT_MACHINE_WHEELS", - "s": "바쿠ᅵ" - }, - { - "n": "CONTEXT_MACHINE_WINGS", - "s": "나ᄅ개" - }, - { - "n": "CONTEXT_MEDAL", - "s": "메다ᄅ" - }, - { - "n": "CONTEXT_MEDAL_BRONZE", - "s": "도ᄋ메다ᄅ" - }, - { - "n": "CONTEXT_MEDAL_GOLD", - "s": "그ᄆ메다ᄅ" - }, - { - "n": "CONTEXT_MEDAL_SILVER", - "s": "으ᄂ메다ᄅ" - }, - { - "n": "CONTEXT_METAL_BRONZE", - "s": "도ᄋ" - }, - { - "n": "CONTEXT_METAL_COIN", - "s": "도ᄋ저ᄂ" - }, - { - "n": "CONTEXT_METAL_GOLD", - "s": "그ᄆ" - }, - { - "n": "CONTEXT_METAL_INGOT", - "s": "주고ᅵ" - }, - { - "n": "CONTEXT_METAL_PLATINUM", - "s": "배ᄀ그ᄆ" - }, - { - "n": "CONTEXT_METAL_SILVER", - "s": "으ᄂ" - }, - { - "n": "CONTEXT_PLACE_CASTLE", - "s": "서ᄋ" - }, - { - "n": "CONTEXT_PLACE_CAVE", - "s": "도ᄋ구ᄅ" - }, - { - "n": "CONTEXT_PLACE_DUNGEON", - "s": "더ᄂ저ᄂ" - }, - { - "n": "CONTEXT_PLACE_INN", - "s": "여고ᅡᄂ" - }, - { - "n": "CONTEXT_PLACE_PLANET", - "s": "해ᄋ서ᄋ" - }, - { - "n": "CONTEXT_PLACE_PLANET_EARTH", - "s": "지구" - }, - { - "n": "CONTEXT_PLACE_SPACE", - "s": "우주" - }, - { - "n": "CONTEXT_PLACE_SPACESHIP", - "s": "우주서ᄂ" - }, - { - "n": "CONTEXT_STORY", - "s": "이야기" - }, - { - "n": "CONTEXT_STORY_ADVENTURE", - "s": "모허ᄆ" - }, - { - "n": "CONTEXT_STORY_CHAPTER", - "s": "채ᄇ터" - }, - { - "n": "CONTEXT_STORY_PAGE", - "s": "페이지" - }, - { - "n": "CREDITS_3D_MODELING", - "s": "3D 모데ᄅ리ᄋ" - }, - { - "n": "CREDITS_ANIMATION", - "s": "애니메이셔ᄂ" - }, - { - "n": "CREDITS_ANIMATION_DIRECTOR", - "s": "애니메이셔ᄂ 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_ANIMATOR", - "s": "애니메이터" - }, - { - "n": "CREDITS_ART", - "s": "아트" - }, - { - "n": "CREDITS_ART_DIRECTOR", - "s": "아트 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_ARTIST", - "s": "아티스트" - }, - { - "n": "CREDITS_ARTIST_PLURAL", - "s": "아티스트" - }, - { - "n": "CREDITS_ASSISTANT", - "s": "보조" - }, - { - "n": "CREDITS_ASSOCIATE", - "s": "혀ᄇ려ᄀ" - }, - { - "n": "CREDITS_AUDIO_DIRECTOR", - "s": "오디오 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_CHARACTER_DESIGNER", - "s": "캐리ᄀ터 디자이너" - }, - { - "n": "CREDITS_CHIEF_TECH_OFFICER", - "s": "초ᅵ고 기수ᄅ 채ᄀ이ᄆ자" - }, - { - "n": "CREDITS_CINEMATIC_ANIMATOR", - "s": "여ᄋ사ᄋ 애니메이터" - }, - { - "n": "CREDITS_CINEMATICS_DIRECTOR", - "s": "여ᄋ사ᄋ 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_CODE", - "s": "코드" - }, - { - "n": "CREDITS_COMPOSER", - "s": "자ᄀ고ᄀ" - }, - { - "n": "CREDITS_CONCEPT_ARTIST", - "s": "커ᄂ세ᄇ트 아티스트" - }, - { - "n": "CREDITS_CREATIVE_DIRECTOR", - "s": "크리에이티브 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_DATABASE_ADMIN", - "s": "데이터베이스 고ᅡᄂ리자" - }, - { - "n": "CREDITS_DESIGN DIRECTOR", - "s": "디자이ᄂ 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_DEVELOPED_BY", - "s": "개바ᄅ자" - }, - { - "n": "CREDITS_DIRECTOR", - "s": "가ᄆ도ᄀ" - }, - { - "n": "CREDITS_FOLEY_ARTIST", - "s": "효고ᅡ으ᄆ 아티스트" - }, - { - "n": "CREDITS_FONT", - "s": "그ᄅᄀ고ᄅ" - }, - { - "n": "CREDITS_FONT_PLURAL", - "s": "그ᄅᄀ고ᄅ" - }, - { - "n": "CREDITS_GAME", - "s": "게이ᄆ" - }, - { - "n": "CREDITS_GAME_DESIGN", - "s": "게이ᄆ 디자이ᄂ" - }, - { - "n": "CREDITS_GAME_DESIGNER", - "s": "게이ᄆ 디자이너" - }, - { - "n": "CREDITS_GAME_DEVELOPER", - "s": "게이ᄆ 개바ᄅ자" - }, - { - "n": "CREDITS_GAME_DEVELOPMENT", - "s": "게이ᄆ 개바ᄅ" - }, - { - "n": "CREDITS_GRAPHIC_DESIGNER", - "s": "그래피ᄀ 디자이너" - }, - { - "n": "CREDITS_IMAGE", - "s": "이미지" - }, - { - "n": "CREDITS_IMAGE_PLURAL", - "s": "이미지" - }, - { - "n": "CREDITS_INTERFACE_ARTIST", - "s": "이ᄂ터페이스 아티스트" - }, - { - "n": "CREDITS_JUNIOR", - "s": "주니어" - }, - { - "n": "CREDITS_LEAD", - "s": "초ᄋ채ᄀ이ᄆ자" - }, - { - "n": "CREDITS_LEAD_PROGRAMMER", - "s": "리드 프로그래머" - }, - { - "n": "CREDITS_LEVEL_DESIGN", - "s": "레베ᄅ 디자이ᄂ" - }, - { - "n": "CREDITS_LEVEL_DESIGNER", - "s": "레베ᄅ 디자이너" - }, - { - "n": "CREDITS_LOCALIZATION", - "s": "지여ᄀ호ᅡ" - }, - { - "n": "CREDITS_MANUSCRIPT", - "s": "대보ᄂ" - }, - { - "n": "CREDITS_MODELS", - "s": "모데ᄅ" - }, - { - "n": "CREDITS_MUSICIAN", - "s": "여ᄂ주" - }, - { - "n": "CREDITS_POLYGLOT", - "s": "버ᄂ여ᄀ 제고ᄋ: Polyglot Project" - }, - { - "n": "CREDITS_PRODUCER", - "s": "제자ᄀ자" - }, - { - "n": "CREDITS_PRODUCTION", - "s": "제자ᄀ" - }, - { - "n": "CREDITS_PROGRAM_MANAGER", - "s": "프로그래ᄆ 고ᅡᄂ리자" - }, - { - "n": "CREDITS_PROGRAMMER", - "s": "프로그래머" - }, - { - "n": "CREDITS_PROGRAMMER_PLURAL", - "s": "프로그래머" - }, - { - "n": "CREDITS_PROGRAMMING", - "s": "프로그래미ᄋ" - }, - { - "n": "CREDITS_PROJECT_MANAGER", - "s": "프로제ᄀ트 고ᅡᄂ리자" - }, - { - "n": "CREDITS_PUBLISHER", - "s": "배그ᄇ" - }, - { - "n": "CREDITS_RECORDIST", - "s": "노ᄀ으ᄆ" - }, - { - "n": "CREDITS_SCRIPT_WRITER", - "s": "대보ᄂ가" - }, - { - "n": "CREDITS_SENIOR", - "s": "시니어" - }, - { - "n": "CREDITS_SFX", - "s": "으ᄆ햐ᄋ 효고ᅡ" - }, - { - "n": "CREDITS_SOUND_DESIGNER", - "s": "으ᄆ햐ᄋ 디자이너" - }, - { - "n": "CREDITS_SOUND_ENGINEER", - "s": "으ᄆ햐ᄋ 에ᄂ지니어" - }, - { - "n": "CREDITS_SOUNDTRACK", - "s": "사우ᄂ드트래ᄀ" - }, - { - "n": "CREDITS_SPECIAL_THANKS", - "s": "트ᄀ벼ᄅ 가ᄆ사" - }, - { - "n": "CREDITS_SPECIAL_THANKS_TO", - "s": "트ᄀ벼ᄅ 가ᄆ사:" - }, - { - "n": "CREDITS_TECHNICAL_ARTIST", - "s": "테크니커ᄅ 아티스트" - }, - { - "n": "CREDITS_TECHNICAL_DIRECTOR", - "s": "기수ᄅ 가ᄆ도ᄀ" - }, - { - "n": "CREDITS_TEST_LEAD", - "s": "테스트 고ᅡᄂ리 초ᄋ지후ᅵ" - }, - { - "n": "CREDITS_TEST_MANAGER", - "s": "테스트 고ᅡᄂ리자" - }, - { - "n": "CREDITS_TESTER", - "s": "테스터" - }, - { - "n": "CREDITS_TRANSLATION", - "s": "버ᄂ여ᄀ" - }, - { - "n": "CREDITS_VFX", - "s": "시가ᄀ 효고ᅡ" - }, - { - "n": "CREDITS_VOICE_ACTING", - "s": "서ᄋ우" - }, - { - "n": "CREDITS_VOICE_ACTOR", - "s": "서ᄋ우" - }, - { - "n": "CREDITS_WRITER", - "s": "대보ᄂ가" - }, - { - "n": "ERROR_DEVICE_NOT_FOUND", - "s": "{0}으ᄅ(르ᄅ) 차ᄌ으ᄅ 수 어ᄇᄉ스ᄇ니다." - }, - { - "n": "ERROR_DEVICE_VR_LEAVING_TRACKAREA", - "s": "이ᄂ시ᄀ 버ᄆ우ᅵ 바ᄀᄀ이ᄇ니다." - }, - { - "n": "ERROR_DEVICE_VR_NO_HMD", - "s": "HMD르ᄅ 차ᄌ으ᄅ 수 어ᄇᄉ스ᄇ니다." - }, - { - "n": "ERROR_GENERIC_CHEATING", - "s": "치트 바ᄅ겨ᄂ!" - }, - { - "n": "ERROR_GENERIC_ERRCODE", - "s": "오류 코드:" - }, - { - "n": "ERROR_GENERIC_INVALID_KEY", - "s": "자ᄅ모ᄉ도ᅵᄂ CD키이ᄇ니다." - }, - { - "n": "ERROR_GENERIC_INVALID_NAME", - "s": "이르ᄆ이 자ᄅ모ᄉ도ᅵ어ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_GENERIC_TEXT", - "s": "오류가 바ᄅ새ᄋ해ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_NETWORK_CONNECTION_LOST", - "s": "여ᄂ겨ᄅ이 ᄀ그ᄂᄒ어져ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_OPPONENT", - "s": "사ᄋ대가 여ᄂ겨ᄅ으ᄅ ᄀ그ᄂᄒ어ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_PLAYER", - "s": "다르ᄂ 프ᄅ레이어가 여ᄂ겨ᄅ으ᄅ ᄀ그ᄂᄒ어ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_NETWORK_DISCONNECTED_YOUR_TEAMMATE", - "s": "티ᄆ우ᅥᄂ이 여ᄂ겨ᄅ으ᄅ ᄀ그ᄂᄒ어ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_NETWORK_SERVER", - "s": "서버에 여ᄂ겨ᄅ하ᄅ 수 어ᄇᄉ스ᄇ니다." - }, - { - "n": "ERROR_SAVE_CORRUPTED", - "s": "저자ᄋ도ᅵᄂ 게이ᄆ에 오류가 이ᄉᄉ스ᄇ니다." - }, - { - "n": "ERROR_SAVE_NO_GAMES_FOUND", - "s": "저자ᄋ도ᅵᄂ 게이ᄆ이 어ᄇᄉ스ᄇ니다." - }, - { - "n": "ERROR_SAVE_NO_OPEN_GAMES", - "s": "혀ᄂ재 여ᄅ리ᄂ 바ᄋ이 어ᄇᄉ스ᄇ니다." - }, - { - "n": "GAME_ACTION_ATTACK", - "s": "고ᄋ겨ᄀ" - }, - { - "n": "GAME_ACTION_BOOST", - "s": "가소ᄀ하기" - }, - { - "n": "GAME_ACTION_BUILD", - "s": "지ᄉ기" - }, - { - "n": "GAME_ACTION_CAST_FISHING", - "s": "더ᄂ지기" - }, - { - "n": "GAME_ACTION_CAST_SPELL", - "s": "사요ᄋ하기" - }, - { - "n": "GAME_ACTION_CLAIM", - "s": "가ᄌ기" - }, - { - "n": "GAME_ACTION_CLIMB", - "s": "오르기" - }, - { - "n": "GAME_ACTION_CLOSE", - "s": "다ᄃ기" - }, - { - "n": "GAME_ACTION_COLLECT", - "s": "모으기" - }, - { - "n": "GAME_ACTION_COOK", - "s": "요리하기" - }, - { - "n": "GAME_ACTION_CRAFT", - "s": "마ᄂ드ᄅ기" - }, - { - "n": "GAME_ACTION_CROUCH", - "s": "조요ᄋ히 거ᄃ기" - }, - { - "n": "GAME_ACTION_DODGE", - "s": "피하기" - }, - { - "n": "GAME_ACTION_DRIVE", - "s": "우ᄂ저ᄂ하기" - }, - { - "n": "GAME_ACTION_FLY", - "s": "비해ᄋ하기" - }, - { - "n": "GAME_ACTION_FULL_SPEED", - "s": "초ᅵ고 소ᄀ도" - }, - { - "n": "GAME_ACTION_GO", - "s": "가기" - }, - { - "n": "GAME_ACTION_GO_TO_PLACE", - "s": "(으)로 가기" - }, - { - "n": "GAME_ACTION_HALF_SPEED", - "s": "주ᄋ가ᄂ 소ᄀ도" - }, - { - "n": "GAME_ACTION_HEAL", - "s": "치료" - }, - { - "n": "GAME_ACTION_JUMP", - "s": "저ᄆ프" - }, - { - "n": "GAME_ACTION_LAND", - "s": "차ᄀ류ᄀ" - }, - { - "n": "GAME_ACTION_LOOK", - "s": "보기" - }, - { - "n": "GAME_ACTION_MIX", - "s": "서ᄀᄀ기" - }, - { - "n": "GAME_ACTION_OPEN", - "s": "여ᄅ기" - }, - { - "n": "GAME_ACTION_PICK_UP", - "s": "주ᄇ기" - }, - { - "n": "GAME_ACTION_RACE", - "s": "겨ᄋ주하기" - }, - { - "n": "GAME_ACTION_READ", - "s": "이ᄅᄀ기" - }, - { - "n": "GAME_ACTION_REPLACE", - "s": "바ᄀ구어 노ᄒ기" - }, - { - "n": "GAME_ACTION_RUN", - "s": "다ᄅ리기" - }, - { - "n": "GAME_ACTION_RUN_AWAY", - "s": "도마ᄋ치기" - }, - { - "n": "GAME_ACTION_SHOOT", - "s": "ᄉ소기" - }, - { - "n": "GAME_ACTION_SNEAK", - "s": "모ᄅ래 가기" - }, - { - "n": "GAME_ACTION_SPIN", - "s": "호ᅵ저ᄂ시키기" - }, - { - "n": "GAME_ACTION_SPRINT", - "s": "다ᄅ리기" - }, - { - "n": "GAME_ACTION_STEER", - "s": "조조ᄋ하기" - }, - { - "n": "GAME_ACTION_TAKE_OFF", - "s": "이류ᄀ하기" - }, - { - "n": "GAME_ACTION_TALK", - "s": "대호ᅡ하기" - }, - { - "n": "GAME_ACTION_THROW", - "s": "더ᄂ지기" - }, - { - "n": "GAME_ACTION_WALK", - "s": "거ᄃ기" - }, - { - "n": "GAME_CHARACTER_ENDURANCE", - "s": "지구려ᄀ" - }, - { - "n": "GAME_CHARACTER_EXP", - "s": "겨ᄋ허ᄆ치" - }, - { - "n": "GAME_CHARACTER_FEMALE", - "s": "여서ᄋ" - }, - { - "n": "GAME_CHARACTER_HEALTH", - "s": "체려ᄀ" - }, - { - "n": "GAME_CHARACTER_HEART", - "s": "하트" - }, - { - "n": "GAME_CHARACTER_HEART_PLURAL", - "s": "하트" - }, - { - "n": "GAME_CHARACTER_LEVEL", - "s": "레베ᄅ" - }, - { - "n": "GAME_CHARACTER_LEVEL_UP", - "s": "레베ᄅ 어ᄇ!" - }, - { - "n": "GAME_CHARACTER_LIVES", - "s": "라이프" - }, - { - "n": "GAME_CHARACTER_MALE", - "s": "나ᄆ서ᄋ" - }, - { - "n": "GAME_CHARACTER_MAN", - "s": "나ᄆ자" - }, - { - "n": "GAME_CHARACTER_MAN_PLURAL", - "s": "나ᄆ자" - }, - { - "n": "GAME_CHARACTER_RESPAWN", - "s": "부호ᅡᄅ" - }, - { - "n": "GAME_CHARACTER_RESPAWN_IN", - "s": "부호ᅡᄅ 자ᄋ소:" - }, - { - "n": "GAME_CHARACTER_RESPAWN_QUESTION", - "s": "부호ᅡᄅ하시게ᄉᄉ스ᄇ니ᄀ가?" - }, - { - "n": "GAME_CHARACTER_RESPAWNING", - "s": "부호ᅡᄅ하느ᄂ 주ᄋ" - }, - { - "n": "GAME_CHARACTER_SKILL", - "s": "기수ᄅ" - }, - { - "n": "GAME_CHARACTER_SPAWN_POINT", - "s": "스포ᄂ 지저ᄆ" - }, - { - "n": "GAME_CHARACTER_TRANSGENDER", - "s": "서ᄋ저ᄂ호ᅡᄂ자" - }, - { - "n": "GAME_CHARACTER_WOMAN", - "s": "여자" - }, - { - "n": "GAME_CHARACTER_WOMAN_PLURAL", - "s": "여자" - }, - { - "n": "GAME_DAMAGE", - "s": "소ᄂ사ᄋ" - }, - { - "n": "GAME_DAMAGE_CRITICAL_HIT", - "s": "이ᄅ겨ᄀ" - }, - { - "n": "GAME_DAMAGE_CRITICAL_MISS", - "s": "이ᄅ겨ᄀ 비ᄉ나가ᄆ" - }, - { - "n": "GAME_DAMAGE_HIT_NOUN", - "s": "타겨ᄀ" - }, - { - "n": "GAME_DAMAGE_HIT_POINTS_PLURAL", - "s": "체려ᄀ" - }, - { - "n": "GAME_DAMAGE_MISS_NOUN", - "s": "비ᄉ나가ᄆ" - }, - { - "n": "GAME_DAMAGE_UNIT", - "s": "대미지" - }, - { - "n": "GAME_DAMAGE_UNIT_PLURAL", - "s": "대미지" - }, - { - "n": "GAME_ENEMY", - "s": "저ᄀ" - }, - { - "n": "GAME_ENEMY_FEMALE", - "s": "저ᄀ" - }, - { - "n": "GAME_ENEMY_FEMALE_PLURAL", - "s": "저ᄀ드ᄅ" - }, - { - "n": "GAME_ENEMY_PLURAL", - "s": "저ᄀ드ᄅ" - }, - { - "n": "GAME_GENRE_ACTION", - "s": "애ᄀ셔ᄂ 게이ᄆ" - }, - { - "n": "GAME_GENRE_ADVENTURE", - "s": "어드베ᄂ처 게이ᄆ" - }, - { - "n": "GAME_GENRE_CARD", - "s": "카드" - }, - { - "n": "GAME_GENRE_CASUAL", - "s": "캐주어ᄅ 게이ᄆ" - }, - { - "n": "GAME_GENRE_FANTASY", - "s": "파ᄂ타지 게이ᄆ" - }, - { - "n": "GAME_GENRE_HARDCORE", - "s": "하드코어 게이ᄆ" - }, - { - "n": "GAME_GENRE_INDIE", - "s": "이ᄂ디" - }, - { - "n": "GAME_GENRE_MEDIEVAL", - "s": "주ᄋ세 게이ᄆ" - }, - { - "n": "GAME_GENRE_MISC", - "s": "기타" - }, - { - "n": "GAME_GENRE_MULTIPLAYER", - "s": "머ᄅ티프ᄅ레이어" - }, - { - "n": "GAME_GENRE_NAME", - "s": "자ᄋ르" - }, - { - "n": "GAME_GENRE_PLATFORMER", - "s": "프ᄅ래ᄉ포ᄆ 게이ᄆ" - }, - { - "n": "GAME_GENRE_PUZZLE", - "s": "퍼즈ᄅ 게이ᄆ" - }, - { - "n": "GAME_GENRE_QUIZ", - "s": "쿠ᅵ즈 게이ᄆ" - }, - { - "n": "GAME_GENRE_RACING", - "s": "레이시ᄋ" - }, - { - "n": "GAME_GENRE_RETRO", - "s": "레트로 게이ᄆ" - }, - { - "n": "GAME_GENRE_RPG", - "s": "로ᄅ프ᄅ레이ᄋ 게이ᄆ" - }, - { - "n": "GAME_GENRE_RTS", - "s": "시ᄅ시가ᄂ 저ᄂ랴ᄀ" - }, - { - "n": "GAME_GENRE_SCIFI", - "s": "SF 게이ᄆ" - }, - { - "n": "GAME_GENRE_SHOOTER", - "s": "슈티ᄋ 게이ᄆ" - }, - { - "n": "GAME_GENRE_SIMULATION", - "s": "시뮤ᄅ레이셔ᄂ 게이ᄆ" - }, - { - "n": "GAME_GENRE_SINGLEPLAYER", - "s": "시ᄋ그ᄅ프ᄅ레이어" - }, - { - "n": "GAME_GENRE_SPORTS", - "s": "스포츠 게이ᄆ" - }, - { - "n": "GAME_GENRE_STRATEGY", - "s": "저ᄂ랴ᄀ 게이ᄆ" - }, - { - "n": "GAME_GENRE_TBS", - "s": "터ᄂ제 저ᄂ랴ᄀ" - }, - { - "n": "GAME_GENRE_TOWER_DEFENSE", - "s": "타우ᅥ 디페ᄂ스 게이ᄆ" - }, - { - "n": "GAME_INVENTORY", - "s": "이ᄂ베ᄂ토리" - }, - { - "n": "GAME_INVENTORY_AMMO", - "s": "타ᄂ호ᅡᄂ" - }, - { - "n": "GAME_INVENTORY_AMMUNITION", - "s": "타ᄂ호ᅡᄂ" - }, - { - "n": "GAME_INVENTORY_BULLET", - "s": "타ᄂ" - }, - { - "n": "GAME_INVENTORY_BULLET_PLURAL", - "s": "타ᄂ" - }, - { - "n": "GAME_INVENTORY_BUY", - "s": "사기" - }, - { - "n": "GAME_INVENTORY_CAPACITY", - "s": "이ᄂ베ᄂ토리 요ᄋ랴ᄋ" - }, - { - "n": "GAME_INVENTORY_DROP", - "s": "버리기" - }, - { - "n": "GAME_INVENTORY_ENCUMBRANCE", - "s": "이ᄂ베ᄂ토리 무게" - }, - { - "n": "GAME_INVENTORY_FULL", - "s": "이ᄂ베ᄂ토리 ᄀ고ᅡᄀ 차ᄆ" - }, - { - "n": "GAME_INVENTORY_ITEM", - "s": "아이테ᄆ" - }, - { - "n": "GAME_INVENTORY_KEY", - "s": "여ᄅ소ᅵ" - }, - { - "n": "GAME_INVENTORY_POWERUP", - "s": "파우ᅥ 어ᄇ" - }, - { - "n": "GAME_INVENTORY_SELL", - "s": "파ᄅ기" - }, - { - "n": "GAME_INVENTORY_USE", - "s": "사요ᄋ하기" - }, - { - "n": "GAME_INVENTORY_WEAPON", - "s": "무기" - }, - { - "n": "GAME_INVENTORY_WEAPONS", - "s": "무기" - }, - { - "n": "GAME_INVENTORY_YOU_CANNOT_CARRY", - "s": "더 지니ᄅ 수 어ᄇᄉ스ᄇ니다." - }, - { - "n": "GAME_LABEL_BE_CAREFUL", - "s": "주으ᅵ하시ᄇ시오." - }, - { - "n": "GAME_LABEL_PLEASE_BE_CAREFUL", - "s": "주으ᅵ하여 주시ᄇ시오." - }, - { - "n": "GAME_LABEL_TACTICS", - "s": "자ᄀ저ᄂ" - }, - { - "n": "GAME_OBJECTIVE", - "s": "모ᄀ표" - }, - { - "n": "GAME_OBJECTIVE_ASSIST", - "s": "보조" - }, - { - "n": "GAME_OBJECTIVE_ASSIST_PLURAL", - "s": "보조" - }, - { - "n": "GAME_OBJECTIVE_ATTACK", - "s": "고ᄋ겨ᄀ" - }, - { - "n": "GAME_OBJECTIVE_BONUS", - "s": "보너스" - }, - { - "n": "GAME_OBJECTIVE_CAPTURE", - "s": "호ᅡᄀ보" - }, - { - "n": "GAME_OBJECTIVE_COMPLETE", - "s": "오ᅡᄂ서ᄋ" - }, - { - "n": "GAME_OBJECTIVE_DEATH", - "s": "사마ᄋ" - }, - { - "n": "GAME_OBJECTIVE_DEATH_PLURAL", - "s": "사마ᄋ" - }, - { - "n": "GAME_OBJECTIVE_DEFEND", - "s": "바ᄋ어하기" - }, - { - "n": "GAME_OBJECTIVE_DESTROY", - "s": "파고ᅵ하기" - }, - { - "n": "GAME_OBJECTIVE_ESCAPE", - "s": "타ᄅ추ᄅ하기" - }, - { - "n": "GAME_OBJECTIVE_GAME_FINISHED", - "s": "ᄀ그ᄐ" - }, - { - "n": "GAME_OBJECTIVE_GAMEOVER", - "s": "게이ᄆ 오버!" - }, - { - "n": "GAME_OBJECTIVE_GAMEOVER_CAPS", - "s": "게이ᄆ 오버" - }, - { - "n": "GAME_OBJECTIVE_HIGH_SCORE", - "s": "초ᅵ고 저ᄆ수" - }, - { - "n": "GAME_OBJECTIVE_INCOMPLETE", - "s": "미오ᅡᄂ료" - }, - { - "n": "GAME_OBJECTIVE_KILL", - "s": "키ᄅ" - }, - { - "n": "GAME_OBJECTIVE_KILL_ASSIST", - "s": "키ᄅ 보조" - }, - { - "n": "GAME_OBJECTIVE_KILL_NOUN", - "s": "키ᄅ" - }, - { - "n": "GAME_OBJECTIVE_KILL_PLURAL", - "s": "키ᄅ" - }, - { - "n": "GAME_OBJECTIVE_LOCKED", - "s": "자ᄆ기ᄆ" - }, - { - "n": "GAME_OBJECTIVE_LOSSES", - "s": "패배" - }, - { - "n": "GAME_OBJECTIVE_MATCH", - "s": "대저ᄂ" - }, - { - "n": "GAME_OBJECTIVE_MISSION", - "s": "이ᄆ무" - }, - { - "n": "GAME_OBJECTIVE_MISSION_OBJECTIVE", - "s": "이ᄆ무으ᅵ 모ᄀ표" - }, - { - "n": "GAME_OBJECTIVE_MISSION_OBJECTIVE_PLURAL", - "s": "이ᄆ무으ᅵ 모ᄀ표" - }, - { - "n": "GAME_OBJECTIVE_MULTIPLIER", - "s": "배수" - }, - { - "n": "GAME_OBJECTIVE_PLURAL", - "s": "모ᄀ표" - }, - { - "n": "GAME_OBJECTIVE_POSITION", - "s": "수ᄂ우ᅵ" - }, - { - "n": "GAME_OBJECTIVE_RACE_LAP", - "s": "래ᄇ" - }, - { - "n": "GAME_OBJECTIVE_RACE_LAP_PLURAL", - "s": "래ᄇ" - }, - { - "n": "GAME_OBJECTIVE_ROUND", - "s": "호ᅵᄉ수" - }, - { - "n": "GAME_OBJECTIVE_SCORE", - "s": "저ᄆ수" - }, - { - "n": "GAME_OBJECTIVE_TIME", - "s": "시가ᄂ" - }, - { - "n": "GAME_OBJECTIVE_TIME_LEFT", - "s": "나ᄆ으ᄂ 시가ᄂ" - }, - { - "n": "GAME_OBJECTIVE_TOURNAMENT", - "s": "토너머ᄂ트" - }, - { - "n": "GAME_OBJECTIVE_TOURNAMENT_PLURAL", - "s": "토너머ᄂ트" - }, - { - "n": "GAME_OBJECTIVE_WINS", - "s": "스ᄋ리" - }, - { - "n": "GAME_STATUS_DEFEAT", - "s": "패배" - }, - { - "n": "GAME_STATUS_DEFEATED", - "s": "패배하여ᄉᄉ스ᄇ니다." - }, - { - "n": "GAME_STATUS_LOSER", - "s": "패자" - }, - { - "n": "GAME_STATUS_TEAM_LOST", - "s": "티ᄆ 패배" - }, - { - "n": "GAME_STATUS_TEAM_WON", - "s": "티ᄆ 스ᄋ리" - }, - { - "n": "GAME_STATUS_VICTORY", - "s": "우스ᄋ" - }, - { - "n": "GAME_STATUS_WINNER", - "s": "스ᄋ자" - }, - { - "n": "GAME_STATUS_YOU_ARE_DEAD", - "s": "사마ᄋ하여ᄉᄉ스ᄇ니다." - }, - { - "n": "GAME_STATUS_YOU_DIED", - "s": "사마ᄋ하여ᄉᄉ스ᄇ니다." - }, - { - "n": "GAME_STATUS_YOU_LOSE", - "s": "패배하여ᄉᄉ스ᄇ니다!" - }, - { - "n": "GAME_STATUS_YOU_LOST", - "s": "패배하여ᄉᄉ스ᄇ니다!" - }, - { - "n": "GAME_STATUS_YOU_WIN", - "s": "스ᄋ리하여ᄉᄉ스ᄇ니다!" - }, - { - "n": "GAME_STATUS_YOU_WON", - "s": "스ᄋ리하여ᄉᄉ스ᄇ니다!" - }, - { - "n": "MENU_CAMERA", - "s": "카메라" - }, - { - "n": "MENU_CAMERA_INVERTED", - "s": "바ᄂ저ᄂ" - }, - { - "n": "MENU_CAMERA_NORMAL", - "s": "보토ᄋ" - }, - { - "n": "MENU_CAMERA_XAXIS", - "s": "카메라 가로추ᄀ" - }, - { - "n": "MENU_CAMERA_YAXIS", - "s": "카메라 세로추ᄀ" - }, - { - "n": "MENU_CONTROLS_BUTTON", - "s": "버트ᄂ" - }, - { - "n": "MENU_CONTROLS_CLICK", - "s": "크ᄅ리ᄀ" - }, - { - "n": "MENU_CONTROLS_DEADZONE", - "s": "데드조ᄂ" - }, - { - "n": "MENU_CONTROLS_DOUBLE_CLICK", - "s": "이주ᄋ 크ᄅ리ᄀ" - }, - { - "n": "MENU_CONTROLS_DRAG", - "s": "ᄀ그ᄅ기" - }, - { - "n": "MENU_CONTROLS_DRAG_DROP", - "s": "ᄀ그ᄅ어다 노ᄒ기" - }, - { - "n": "MENU_CONTROLS_FINGER", - "s": "터치 조자ᄀ" - }, - { - "n": "MENU_CONTROLS_GAMEPAD", - "s": "게이ᄆ 패드" - }, - { - "n": "MENU_CONTROLS_GYROSCOPE", - "s": "자이로스코프" - }, - { - "n": "MENU_CONTROLS_KEY", - "s": "그ᄅ소ᅵ" - }, - { - "n": "MENU_CONTROLS_KEYBOARD", - "s": "자파ᄂ" - }, - { - "n": "MENU_CONTROLS_MOUSE", - "s": "마우스" - }, - { - "n": "MENU_CONTROLS_MOUSE_SENSITIVITY", - "s": "마우스 가ᄆ도" - }, - { - "n": "MENU_CONTROLS_PINCH", - "s": "소ᄂ가라ᄀ 모으기" - }, - { - "n": "MENU_CONTROLS_ROTATE", - "s": "도ᄅ리기" - }, - { - "n": "MENU_CONTROLS_SCROLL", - "s": "스크로ᄅ" - }, - { - "n": "MENU_CONTROLS_SHAKE", - "s": "흐ᄂ드ᄅ기" - }, - { - "n": "MENU_CONTROLS_SPREAD", - "s": "소ᄂ가라ᄀ 펴ᄅ치기" - }, - { - "n": "MENU_CONTROLS_SWIPE", - "s": "미ᄅ기" - }, - { - "n": "MENU_CONTROLS_TAP", - "s": "터치하기" - }, - { - "n": "MENU_CONTROLS_THE_BUTTON", - "s": "버트ᄂ" - }, - { - "n": "MENU_CONTROLS_THE_KEY", - "s": "그ᄅ소ᅵ" - }, - { - "n": "MENU_CONTROLS_TILT", - "s": "기우ᄅ이기" - }, - { - "n": "MENU_CUSTOMIZE_ARM", - "s": "파ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_ARM_PLURAL", - "s": "파ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_CHEST", - "s": "가스ᄆ" - }, - { - "n": "MENU_CUSTOMIZE_CHIN", - "s": "터ᄀ" - }, - { - "n": "MENU_CUSTOMIZE_COLOR", - "s": "새ᄀ" - }, - { - "n": "MENU_CUSTOMIZE_EAR", - "s": "구ᅵ" - }, - { - "n": "MENU_CUSTOMIZE_EAR_PLURAL", - "s": "구ᅵ" - }, - { - "n": "MENU_CUSTOMIZE_EYE", - "s": "누ᄂ" - }, - { - "n": "MENU_CUSTOMIZE_EYE_PLURAL", - "s": "누ᄂ" - }, - { - "n": "MENU_CUSTOMIZE_FEET", - "s": "바ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_FOOT", - "s": "바ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_HAIR", - "s": "터ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_BEARD", - "s": "수여ᄆ" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_FUR", - "s": "터ᄅ" - }, - { - "n": "MENU_CUSTOMIZE_HAIR_HEAD", - "s": "머리카라ᄀ" - }, - { - "n": "MENU_CUSTOMIZE_HAND", - "s": "소ᄂ" - }, - { - "n": "MENU_CUSTOMIZE_HAND_PLURAL", - "s": "소ᄂ" - }, - { - "n": "MENU_CUSTOMIZE_HEAD", - "s": "머리" - }, - { - "n": "MENU_CUSTOMIZE_HIPS", - "s": "어ᄋ더ᄋ이" - }, - { - "n": "MENU_CUSTOMIZE_LEG", - "s": "다리" - }, - { - "n": "MENU_CUSTOMIZE_LEG_PLURAL", - "s": "다리" - }, - { - "n": "MENU_CUSTOMIZE_MOUTH", - "s": "이ᄇ" - }, - { - "n": "MENU_CUSTOMIZE_NECK", - "s": "모ᄀ" - }, - { - "n": "MENU_CUSTOMIZE_NOSE", - "s": "코" - }, - { - "n": "MENU_CUSTOMIZE_SKIN", - "s": "피부" - }, - { - "n": "MENU_CUSTOMIZE_THORAX", - "s": "사ᄋ바ᄂ시ᄂ" - }, - { - "n": "MENU_DIFFICULTY", - "s": "나ᄂ이도" - }, - { - "n": "MENU_DIFFICULTY_EASY", - "s": "수ᅵ우ᄆ" - }, - { - "n": "MENU_DIFFICULTY_HARD", - "s": "어려우ᄆ" - }, - { - "n": "MENU_DIFFICULTY_IMPOSSIBLE", - "s": "부ᄅ가느ᄋ" - }, - { - "n": "MENU_DIFFICULTY_INSANE", - "s": "매니아ᄀ" - }, - { - "n": "MENU_DIFFICULTY_MEDIUM", - "s": "보토ᄋ" - }, - { - "n": "MENU_DIFFICULTY_VERY_EASY", - "s": "매우 수ᅵ우ᄆ" - }, - { - "n": "MENU_DIFFICULTY_VERY_HARD", - "s": "매우 어려우ᄆ" - }, - { - "n": "MENU_DIR_DOWN", - "s": "아래" - }, - { - "n": "MENU_DIR_LEFT", - "s": "오ᅵᄂᄌ조ᄀ" - }, - { - "n": "MENU_DIR_RIGHT", - "s": "오르ᄂᄌ조ᄀ" - }, - { - "n": "MENU_DIR_UP", - "s": "우ᅵ" - }, - { - "n": "MENU_IO_LOAD", - "s": "부ᄅ러오기" - }, - { - "n": "MENU_IO_LOAD_GAME", - "s": "게이ᄆ 부ᄅ러오기" - }, - { - "n": "MENU_IO_LOADING", - "s": "부ᄅ러오느ᄂ 주ᄋ..." - }, - { - "n": "MENU_IO_PLEASE_WAIT", - "s": "자ᄆ시마ᄂ 기다려 주세요" - }, - { - "n": "MENU_IO_RESET_SAVE_DATA", - "s": "저자ᄋ도ᅵᄂ 데이터르ᄅ 초기호ᅡ하ᄅᄀ가요?" - }, - { - "n": "MENU_IO_SAVE", - "s": "저자ᄋ" - }, - { - "n": "MENU_IO_SAVE_DATA", - "s": "저자ᄋ도ᅵᄂ 데이터" - }, - { - "n": "MENU_IO_SAVE_GAME", - "s": "게이ᄆ 저자ᄋ" - }, - { - "n": "MENU_IO_SAVING", - "s": "저자ᄋ하느ᄂ 주ᄋ" - }, - { - "n": "MENU_LABEL_AGE", - "s": "나이" - }, - { - "n": "MENU_LABEL_ALL", - "s": "모두" - }, - { - "n": "MENU_LABEL_ARE_YOU_REALLY_SURE", - "s": "저ᄋ마ᄅ로 호ᅡᄀ시ᄅ하ᄇ니ᄀ가?" - }, - { - "n": "MENU_LABEL_ARE_YOU_SURE", - "s": "호ᅡᄀ시ᄅ하ᄇ니ᄀ가?" - }, - { - "n": "MENU_LABEL_BACK", - "s": "두ᅵ로" - }, - { - "n": "MENU_LABEL_BACKGROUND_MUSIC", - "s": "배겨ᄋ 으ᄆ아ᄀ" - }, - { - "n": "MENU_LABEL_CANCEL", - "s": "추ᅵ소" - }, - { - "n": "MENU_LABEL_CLOSE", - "s": "다ᄃ기" - }, - { - "n": "MENU_LABEL_CONFIRM_BUTTON", - "s": "호ᅡᄀ이ᄂ" - }, - { - "n": "MENU_LABEL_CONTINUE", - "s": "계소ᄀ" - }, - { - "n": "MENU_LABEL_CONTINUE_QUESTION", - "s": "계소ᄀ하ᄅᄀ가요?" - }, - { - "n": "MENU_LABEL_CREDITS", - "s": "제자ᄀ지ᄂ" - }, - { - "n": "MENU_LABEL_DESKTOP", - "s": "바타ᄋ호ᅡ며ᄂ으로 나가기" - }, - { - "n": "MENU_LABEL_DESKTOP_QUESTION", - "s": "바타ᄋ호ᅡ며ᄂ으로 나가게ᄉᄉ스ᄇ니ᄀ가?" - }, - { - "n": "MENU_LABEL_DLC", - "s": "DLC" - }, - { - "n": "MENU_LABEL_DOWNLOAD", - "s": "내려바ᄃ기" - }, - { - "n": "MENU_LABEL_DOWNLOADABLE", - "s": "다우ᄂ로드 코ᄂ테ᄂ츠" - }, - { - "n": "MENU_LABEL_EXIT", - "s": "나가기" - }, - { - "n": "MENU_LABEL_EXIT_QUESTION", - "s": "나가게ᄉᄉ스ᄇ니ᄀ가?" - }, - { - "n": "MENU_LABEL_EXTRAS", - "s": "추가 커ᄂ테ᄂ츠" - }, - { - "n": "MENU_LABEL_FRAMESPERSEC", - "s": "FPS" - }, - { - "n": "MENU_LABEL_GALLERY", - "s": "아트 개ᄅ러리" - }, - { - "n": "MENU_LABEL_GOODBYE", - "s": "아ᄂ녀ᄋ히 가세요!" - }, - { - "n": "MENU_LABEL_GRAPHICS", - "s": "그래피ᄀ" - }, - { - "n": "MENU_LABEL_IAP", - "s": "애ᄇ 내 구매" - }, - { - "n": "MENU_LABEL_LANGUAGE", - "s": "어ᄂ어" - }, - { - "n": "MENU_LABEL_LEVEL", - "s": "레베ᄅ" - }, - { - "n": "MENU_LABEL_MAIL", - "s": "메이ᄅ" - }, - { - "n": "MENU_LABEL_MAINMENU", - "s": "메이ᄂ 메뉴" - }, - { - "n": "MENU_LABEL_MORE", - "s": "더 보기" - }, - { - "n": "MENU_LABEL_MUSIC", - "s": "으ᄆ아ᄀ" - }, - { - "n": "MENU_LABEL_MUSIC_PLAYER", - "s": "으ᄆ아ᄀ 재새ᄋ기" - }, - { - "n": "MENU_LABEL_NEW_GAME", - "s": "새 게이ᄆ" - }, - { - "n": "MENU_LABEL_NEXT", - "s": "다으ᄆ" - }, - { - "n": "MENU_LABEL_NEXT_TRACK", - "s": "다으ᄆ 고ᄀ" - }, - { - "n": "MENU_LABEL_NO", - "s": "아니요" - }, - { - "n": "MENU_LABEL_NO_CAPS", - "s": "아니요" - }, - { - "n": "MENU_LABEL_NOPE", - "s": "아니" - }, - { - "n": "MENU_LABEL_OK", - "s": "호ᅡᄀ이ᄂ" - }, - { - "n": "MENU_LABEL_PAUSE", - "s": "이ᄅ시 저ᄋ지" - }, - { - "n": "MENU_LABEL_PAUSED", - "s": "이ᄅ시 저ᄋ지도ᅵᄆ" - }, - { - "n": "MENU_LABEL_PLAY", - "s": "프ᄅ레이" - }, - { - "n": "MENU_LABEL_PLAY_AGAIN", - "s": "다시 하기" - }, - { - "n": "MENU_LABEL_PRESS_ANYKEY", - "s": "아무 키나 누르세요" - }, - { - "n": "MENU_LABEL_PRESS_ANYKEY_CONTINUE", - "s": "계소ᄀ하려며ᄂ 아무 키나 누르세요" - }, - { - "n": "MENU_LABEL_PRESS_START", - "s": "‘시자ᄀ’으ᄅ 누르세요" - }, - { - "n": "MENU_LABEL_PRESS_START_CONTINUE", - "s": "계소ᄀ하려며ᄂ ‘시자ᄀ’으ᄅ 누르세요" - }, - { - "n": "MENU_LABEL_PREVIOUS", - "s": "이저ᄂ" - }, - { - "n": "MENU_LABEL_PREVIOUS_TRACK", - "s": "이저ᄂ 고ᄀ" - }, - { - "n": "MENU_LABEL_PRICE", - "s": "가겨ᄀ" - }, - { - "n": "MENU_LABEL_PRICE_FREE", - "s": "무료" - }, - { - "n": "MENU_LABEL_PURCHASE", - "s": "구매하기" - }, - { - "n": "MENU_LABEL_QUIT", - "s": "조ᄋ료" - }, - { - "n": "MENU_LABEL_QUIT_CONFIRM", - "s": "저ᄋ마ᄅ로 조ᄋ료하ᄅᄀ가요?" - }, - { - "n": "MENU_LABEL_QUIT_QUESTION", - "s": "조ᄋ료하ᄅᄀ가요?" - }, - { - "n": "MENU_LABEL_REPLAY", - "s": "리프ᄅ레이" - }, - { - "n": "MENU_LABEL_RETURN", - "s": "도ᄅ아가기" - }, - { - "n": "MENU_LABEL_RETURN_MAIN", - "s": "메이ᄂ 메뉴로 도ᄅ아가기" - }, - { - "n": "MENU_LABEL_RETURN_MAIN_QUESTION", - "s": "메이ᄂ 메뉴로 도ᄅ아가ᄅᄀ가요?" - }, - { - "n": "MENU_LABEL_SHARE", - "s": "고ᄋ유하기" - }, - { - "n": "MENU_LABEL_SKIP", - "s": "거ᄂ너ᄃ두ᅵ기" - }, - { - "n": "MENU_LABEL_SOUND", - "s": "으ᄆ햐ᄋ" - }, - { - "n": "MENU_LABEL_THANK_YOU", - "s": "가ᄆ사하ᄇ니다!" - }, - { - "n": "MENU_LABEL_UNLOCK", - "s": "자ᄆ기ᄆ 해제" - }, - { - "n": "MENU_LABEL_VIDEO", - "s": "여ᄋ사ᄋ" - }, - { - "n": "MENU_LABEL_VOICES", - "s": "으ᄆ서ᄋ" - }, - { - "n": "MENU_LABEL_WARNING", - "s": "겨ᄋ고" - }, - { - "n": "MENU_LABEL_WELCOME", - "s": "호ᅡᄂ여ᄋ하ᄇ니다" - }, - { - "n": "MENU_LABEL_WORLD", - "s": "세계" - }, - { - "n": "MENU_LABEL_YEAH", - "s": "으ᄋ" - }, - { - "n": "MENU_LABEL_YES", - "s": "예" - }, - { - "n": "MENU_LABEL_YES_CAPS", - "s": "예" - }, - { - "n": "MENU_LANGUAGE_DIRECTION", - "s": "ltr" - }, - { - "n": "MENU_LANGUAGE_THIS", - "s": "하ᄂ구ᄀ어" - }, - { - "n": "MENU_LANGUAGE_THIS_EN", - "s": "Korean" - }, - { - "n": "MENU_LOGIN", - "s": "로그이ᄂ" - }, - { - "n": "MENU_LOGIN_EMAIL", - "s": "이메이ᄅ" - }, - { - "n": "MENU_LOGIN_FORGOT", - "s": "비미ᄅ버ᄂ호르ᄅ 이ᄌ으셔ᄉᄉ나요?" - }, - { - "n": "MENU_LOGIN_PASSWORD", - "s": "비미ᄅ버ᄂ호" - }, - { - "n": "MENU_LOGIN_REGISTER", - "s": "호ᅵ우ᅥᄂ 가이ᄇ" - }, - { - "n": "MENU_LOGIN_REMEMBER", - "s": "계저ᄋ 저ᄋ보 저자ᄋ" - }, - { - "n": "MENU_MODE_CHALLENGE", - "s": "도저ᄂ" - }, - { - "n": "MENU_MODE_CHALLENGE_MODE", - "s": "도저ᄂ 모드" - }, - { - "n": "MENU_MODE_COOP", - "s": "혀ᄇ도ᄋ" - }, - { - "n": "MENU_MODE_COOPERATIVE", - "s": "혀ᄇ도ᄋ 프ᄅ레이" - }, - { - "n": "MENU_MODE_DEATHMATCH", - "s": "데스매치" - }, - { - "n": "MENU_MODE_HELP", - "s": "도우ᄆ마ᄅ" - }, - { - "n": "MENU_MODE_INSTRUCTIONS", - "s": "서ᄅ며ᄋ" - }, - { - "n": "MENU_MODE_MULTIPLAYER", - "s": "머ᄅ티프ᄅ레이" - }, - { - "n": "MENU_MODE_MULTIPLAYER_LOCAL", - "s": "로커ᄅ 머ᄅ티프ᄅ레이" - }, - { - "n": "MENU_MODE_MULTIPLAYER_ONLINE", - "s": "오ᄂ라이ᄂ 머ᄅ티프ᄅ레이" - }, - { - "n": "MENU_MODE_PLAY_ONLINE", - "s": "오ᄂ라이ᄂ으로 프ᄅ레이" - }, - { - "n": "MENU_MODE_SINGLEPLAYER", - "s": "시ᄋ그ᄅ프ᄅ레이" - }, - { - "n": "MENU_MODE_TRAINING", - "s": "트레이니ᄋ" - }, - { - "n": "MENU_MODE_TUTORIAL", - "s": "튜토리어ᄅ" - }, - { - "n": "MENU_MODE_VERSUS", - "s": "대저ᄂ 모드" - }, - { - "n": "MENU_NAME", - "s": "이르ᄆ" - }, - { - "n": "MENU_NAME_FIRST", - "s": "이르ᄆ" - }, - { - "n": "MENU_NAME_LAST", - "s": "서ᄋ" - }, - { - "n": "MENU_NAME_USER", - "s": "아이디" - }, - { - "n": "MENU_OPTIONS", - "s": "서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_ADVANCEDGRAPHICS", - "s": "고그ᄇ 그래피ᄀ 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_ANTIALIASING", - "s": "아ᄂ티에이ᄅ리어시ᄋ" - }, - { - "n": "MENU_OPTIONS_BLOOM", - "s": "브ᄅ루ᄆ 효고ᅡ" - }, - { - "n": "MENU_OPTIONS_CONTROLS", - "s": "조자ᄀ 바ᄋ시ᄀ" - }, - { - "n": "MENU_OPTIONS_DIFFICULTY", - "s": "나ᄂ이도 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_DISPLAY", - "s": "호ᅡ며ᄂ 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_EFFECT_DETAIL", - "s": "효고ᅡ 세부 묘사" - }, - { - "n": "MENU_OPTIONS_FILTERING_ANISOTROPIC", - "s": "비드ᄋ바ᄋ서ᄋ" - }, - { - "n": "MENU_OPTIONS_FILTERING_BILINEAR", - "s": "ᄉ사ᄋ서ᄂ혀ᄋ" - }, - { - "n": "MENU_OPTIONS_FILTERING_MODE", - "s": "피ᄅ터리ᄋ 모드" - }, - { - "n": "MENU_OPTIONS_FILTERING_TRILINEAR", - "s": "사ᄆ서ᄂ혀ᄋ" - }, - { - "n": "MENU_OPTIONS_FIRST_PERSON_VIEW", - "s": "1이ᄂ치ᄋ 시저ᄆ" - }, - { - "n": "MENU_OPTIONS_FOV", - "s": "시야가ᄀ" - }, - { - "n": "MENU_OPTIONS_FULLSCREEN", - "s": "저ᄂ체호ᅡ며ᄂ" - }, - { - "n": "MENU_OPTIONS_GAMEPLAY", - "s": "게이ᄆ프ᄅ레이 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_GRAPHICS", - "s": "그래피ᄀ 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_HUD", - "s": "HUD" - }, - { - "n": "MENU_OPTIONS_MODEL_DETAIL", - "s": "모데ᄅ 세부 사하ᄋ" - }, - { - "n": "MENU_OPTIONS_MULTICORE_RENDERING", - "s": "다주ᄋ 코어 레ᄂ더리ᄋ" - }, - { - "n": "MENU_OPTIONS_MUSIC_VOLUME", - "s": "으ᄆ아ᄀ 으ᄆ랴ᄋ" - }, - { - "n": "MENU_OPTIONS_NETWORK", - "s": "네트우ᅥ크 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_QUALITY", - "s": "푸ᄆ지ᄅ" - }, - { - "n": "MENU_OPTIONS_RESOLUTION", - "s": "해사ᄋ도" - }, - { - "n": "MENU_OPTIONS_SFX_VOLUME", - "s": "효고ᅡ으ᄆ 으ᄆ랴ᄋ" - }, - { - "n": "MENU_OPTIONS_SHADER_DETAIL", - "s": "셰이더 세부 사하ᄋ" - }, - { - "n": "MENU_OPTIONS_SHADOW", - "s": "그리ᄆ자" - }, - { - "n": "MENU_OPTIONS_SHADOW_PLURAL", - "s": "그리ᄆ자" - }, - { - "n": "MENU_OPTIONS_SIZE", - "s": "크기" - }, - { - "n": "MENU_OPTIONS_SOUND", - "s": "소리 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_SOUND_VOLUME", - "s": "으ᄆ랴ᄋ" - }, - { - "n": "MENU_OPTIONS_SPLITSCREEN", - "s": "부ᄂ하ᄅ 호ᅡ며ᄂ" - }, - { - "n": "MENU_OPTIONS_TEXTURE_DETAIL", - "s": "테ᄀ스처 세부 사하ᄋ" - }, - { - "n": "MENU_OPTIONS_THIRD_PERSON_VIEW", - "s": "3이ᄂ치ᄋ 시저ᄆ" - }, - { - "n": "MENU_OPTIONS_VIDEO", - "s": "여ᄋ사ᄋ 서ᄅ저ᄋ" - }, - { - "n": "MENU_OPTIONS_VIDEO_QUALITY", - "s": "여ᄋ사ᄋ 호ᅡ지ᄅ" - }, - { - "n": "MENU_OPTIONS_VOICE_VOLUME", - "s": "으ᄆ서ᄋ 으ᄆ랴ᄋ" - }, - { - "n": "MENU_OPTIONS_VSYNC", - "s": "수지ᄀ 도ᄋ기" - }, - { - "n": "MENU_OPTIONS_WIDESCREEN", - "s": "오ᅡ이드스크리ᄂ" - }, - { - "n": "MENU_OPTIONS_WINDOWED", - "s": "차ᄋ 모드" - }, - { - "n": "MENU_SETTING_HIGH", - "s": "노ᄑ으ᄆ" - }, - { - "n": "MENU_SETTING_LOW", - "s": "나ᄌ으ᄆ" - }, - { - "n": "MENU_SETTING_MEDIUM", - "s": "주ᄋ가ᄂ" - }, - { - "n": "MENU_SETTING_ULTRA", - "s": "매우 노ᄑ으ᄆ" - }, - { - "n": "MENU_SETTING_VERY_HIGH", - "s": "매우 노ᄑ으ᄆ" - }, - { - "n": "MENU_VERSION", - "s": "버저ᄂ" - }, - { - "n": "MENU_VERSION_DEMO", - "s": "체허ᄆ파ᄂ" - }, - { - "n": "MENU_VERSION_FREE", - "s": "무료 버저ᄂ (부부ᄂ 유료)" - }, - { - "n": "MENU_VERSION_FULL", - "s": "푸ᄅ 버저ᄂ" - }, - { - "n": "MENU_VERSION_LITE", - "s": "라이트 버저ᄂ" - }, - { - "n": "MENU_VERSION_PREMIUM", - "s": "프리미어ᄆ 버저ᄂ" - }, - { - "n": "MENU_VERSION_SHAREWARE", - "s": "셰어우ᅦ어" - }, - { - "n": "MENU_VERSION_TRIAL", - "s": "기가ᄂ 하ᄂ저ᄋ 시허ᄆ파ᄂ" - }, - { - "n": "MENU_VR_COMFORT_MODE", - "s": "VR 효고ᅡ 주ᄅ이기" - }, - { - "n": "MENU_VR_HMD_ORIENT_RESET", - "s": "HMD 바ᄋ햐ᄋ 재서ᄅ저ᄋ" - }, - { - "n": "MENU_VR_VIRTUAL_REALITY", - "s": "가사ᄋ혀ᄂ시ᄅ" - } - ] - } -} diff --git a/assets/locales/koKRabc/terrarum.json b/assets/locales/koKRabc/terrarum.json deleted file mode 100644 index eecf82694..000000000 --- a/assets/locales/koKRabc/terrarum.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "CONTEXT_CHARACTER": "캐리ᄀ터", - "MENU_LABEL_COPYRIGHT": "저자ᄀ구ᅥᄂ", - "COPYRIGHT_ALL_RIGHTS_RESERVED": "모드ᄂ 구ᅥᄂ리 보유", - "COPYRIGHT_GNU_GPL_3": "GNU GPL 3에 ᄃ다라 배포도ᅵᄆ", - "APP_WARNING_HEALTH_AND_SAFETY": "겨ᄋ고—거ᄂ가ᄋ고ᅡ 아ᄂ저ᄂ으ᄅ 우ᅵ하여", - "MENU_LABEL_PRESS_START_SYMBOL": ">으ᄅ 누르세요", - "MENU_MODULES" : "모듀ᄅ", - "GAME_ACTION_MOVE_VERB" : "이도ᄋ하기", - "GAME_ACTION_ZOOM" : "호ᅡᄀ대·추ᄀ소", - "MENU_LABEL_RESET" : "재서ᄅ저ᄋ", - "GAME_32BIT_WARNING1": "32비트 버저ᄂ으ᅵ Java르ᄅ 사요ᄋ주ᄋ이ᄂ 거ᄉ 가ᄐ스ᄇ니다.", - "GAME_32BIT_WARNING2": "아래 리ᄋ크에서 초ᅵ시ᄂ 64비트 Java르ᄅ 내려바ᄃ아 서ᄅ치해주세요.", - "GAME_32BIT_WARNING3": "https://www.java.com/ko/download/", - "MENU_OPTION_STREAMERS_LAYOUT": "채티ᄋ차ᄋ 오버레이", - "MENU_LABEL_RESTART_REQUIRED": "재시자ᄀ 피ᄅ요", - "MENU_LABEL_KEYBOARD_LAYOUT": "자파ᄂ 배여ᄅ", - "MENU_LABEL_IME": "이ᄇ려ᄀ기", - "MENU_OPTIONS_DITHER": "디더리ᄋ", - "MENU_OPTIONS_BLUR": "흐리ᄆ", - "MENU_OPTIONS_PARTICLES": "이ᄇ자 수", - "MENU_IO_IMPORT": "가져오기" -} diff --git a/assets/mods/basegame/gui/worldportal_catbar.tga b/assets/mods/basegame/gui/worldportal_catbar.tga new file mode 100644 index 000000000..2e3ad36f8 --- /dev/null +++ b/assets/mods/basegame/gui/worldportal_catbar.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9483029bd08a1bc0cde7691b0d4d758b54178f68ef083c5fb9834675b6a64fe3 +size 14418 diff --git a/assets/mods/basegame/locales/jaJPysi/game.json b/assets/mods/basegame/locales/jaJPysi/game.json deleted file mode 100644 index f61499c38..000000000 --- a/assets/mods/basegame/locales/jaJPysi/game.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "CONTEXT_WORLD_NEW": "あたらしい せかい", - "MENU_LABEL_DELETE_WORLD": "せかいを さくじょ", - "CONTEXT_WORLD_COUNT": "せかい: ", - - "MENU_MONITOR_CALI_TITLE": "モニターチェック", - - "GAME_INVENTORY_INGREDIENTS" : "ざいりょう", - "GAME_INVENTORY_POTIONS" : "すいやく", - "GAME_INVENTORY_BLOCKS" : "ブロック", - "GAME_INVENTORY_WALLS" : "かべ", - "CONTEXT_ITEM_TOOL_PLURAL" : "どうぐ", - "GAME_INVENTORY_FAVORITES" : "とうろく" -} \ No newline at end of file diff --git a/assets/mods/basegame/locales/koKRabc/blocks.json b/assets/mods/basegame/locales/koKRabc/blocks.json deleted file mode 100644 index 336816380..000000000 --- a/assets/mods/basegame/locales/koKRabc/blocks.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "BLOCK_STONE": "도ᄅ", - "BLOCK_STONE_PLURAL": "도ᄅ", - "BLOCK_DIRT": "흐ᄅᄀ", - "BLOCK_DIRT_PLURAL": "흐ᄅᄀ", - "BLOCK_GRASS": "자ᄂ디", - "BLOCK_GRAS_PLURALS": "자ᄂ디", - "BLOCK_PLANK_NORMAL": "나무파ᄂ자", - "BLOCK_PLANK_NORMAL_PLURAL": "나무파ᄂ자", - "BLOCK_PLANK_EBONY": "거ᄆ저ᄋ 나무파ᄂ자", - "BLOCK_PLANK_EBONY_PLURAL": "거ᄆ저ᄋ 나무파ᄂ자", - "BLOCK_PLANK_BIRCH": "하야ᄋ 나무파ᄂ자", - "BLOCK_PLANK_BIRCH_PLURAL": "하야ᄋ 나무파ᄂ자", - "BLOCK_PLANK_BLOODROSE": "ᄇ바ᄅ가ᄋ 나무파ᄂ자", - "BLOCK_PLANK_BLOODROSE_PLURAL": "ᄇ바ᄅ가ᄋ 나무파ᄂ자", - "BLOCK_TRUNK_NORMAL": "토ᄋ나무", - "BLOCK_TRUNK_NORMAL_PLURAL": "토ᄋ나무", - "BLOCK_TRUNK_EBONY": "흐ᄀ다ᄂ나무", - "BLOCK_TRUNK_EBONY_PLURAL": "흐ᄀ다ᄂ나무", - "BLOCK_TRUNK_BIRCH": "자자ᄀ나무", - "BLOCK_TRUNK_BIRCH_PLURAL": "자자ᄀ나무", - "BLOCK_TRUNK_BLOODROSE": "자다ᄂ나무", - "BLOCK_TRUNK_BLOODROSE_PLURAL": "자다ᄂ나무", - "BLOCK_STONE_QUARRIED": "서ᄀ재", - "BLOCK_STONE_QUARRIED_PLURAL": "서ᄀ재", - "BLOCK_SAND": "모래", - "BLOCK_SAND_PLURAL": "모래", - "BLOCK_GRAVEL": "자가ᄅ", - "BLOCK_GRAVEL_PLURAL": "자가ᄅ", - "BLOCK_ORE_MALACHITE": "고ᄋ자ᄀ서ᄀ", - "BLOCK_ORE_MALACHITES": "고ᄋ자ᄀ서ᄀ", - "BLOCK_ORE_HEMATITE": "저ᄀ처ᄅ서ᄀ", - "BLOCK_ORE_HEMATITE_PLURAL": "저ᄀ처ᄅ서ᄀ", - "BLOCK_ORE_NATURAL_GOLD": "자여ᄂ그ᄆ", - "BLOCK_ORE_NATERAL_GOLD_PLURAL": "자여ᄂ그ᄆ", - "BLOCK_ORE_NATURAL_SILVER": "자여ᄂ으ᄂ", - "BLOCK_ORE_NATURAL_SILVER_PLURAL": "자여ᄂ으ᄂ", - "BLOCK_ORE_RUTILE": "그ᄆ호ᄋ서ᄀ", - "BLOCK_ORE_RUTILE_PLURAL": "그ᄆ호ᄋ서ᄀ", - "BLOCK_ORE_AURICHALCUMITE": "지ᄂ그ᄆ서ᄀ", - "BLOCK_ORE_AURICHALCUMITE_PLURAL": "지ᄂ그ᄆ서ᄀ", - "BLOCK_GEM_RUBY": "호ᄋ오ᄀ서ᄀ", - "BLOCK_GEM_RUBY_PLURAL": "호ᄋ오ᄀ서ᄀ", - "BLOCK_GEM_EMERALD": "추ᅵ오ᄀ서ᄀ", - "BLOCK_GEM_EMERALD_PLURAL": "추ᅵ오ᄀ서ᄀ", - "BLOCK_GEM_SAPPHIRE": "처ᄋ오ᄀ서ᄀ", - "BLOCK_GEM_SAPPHIRE_PLURAL": "처ᄋ오ᄀ서ᄀ", - "BLOCK_GEM_TOPAZ": "호ᅡᄋ오ᄀ서ᄀ", - "BLOCK_GEM_TOPAZ_PLURAL": "호ᅡᄋ오ᄀ서ᄀ", - "BLOCK_GEM_DIAMOND": "그ᄆ가ᄋ서ᄀ", - "BLOCK_GEM_DIAMOND_PLURAL": "그ᄆ가ᄋ서ᄀ", - "BLOCK_GEM_AMETHYST": "자수저ᄋ서ᄀ", - "BLOCK_GEM_AMETHYST_PLURAL": "자수저ᄋ서ᄀ", - "BLOCK_SNOW": "누ᄂ", - "BLOCK_SNOW_PLURAL": "누ᄂ", - "BLOCK_ICE_FRAGILE": "사ᄅ어ᄅ으ᄆ", - "BLOCK_ICE_FRAGILE_PLURAL": "사ᄅ어ᄅ으ᄆ", - "BLOCK_ICE_NATURAL": "어ᄅ으ᄆ", - "BLOCK_ICE_NATURAL_PLURAL": "어ᄅ으ᄆ", - "BLOCK_ICE_CLEAR_MAGICAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ", - "BLOCK_ICE_CLEAR_MAGICAL_PLURAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ", - "BLOCK_PLATFORM_STONE": "도ᄅ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_STONE_PLURAL": "도ᄅ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_WOODEN": "나무 바ᄅ파ᄂ", - "BLOCK_PLATFORM_WOODEN_PLURAL": "나무 바ᄅ파ᄂ", - "BLOCK_PLATFORM_EBONY": "흐ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_EBONY_PLURAL": "흐ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_BIRCH": "배ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_BIRCH_PLURAL": "배ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_BLOODROSE": "저ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_PLATFORM_BLOODROSE_PLURAL": "저ᄀ다ᄂ 바ᄅ파ᄂ", - "BLOCK_TORCH": "호ᅢᄉ부ᄅ", - "BLOCK_TORCH_PLURAL": "호ᅢᄉ부ᄅ", - "BLOCK_WATER": "무ᄅ", - "BLOCK_WATER_PLURAL": "무ᄅ", - "BLOCK_LAVA": "요ᄋ아ᄆ", - "BLOCK_LAVA_PLURAL": "요ᄋ아ᄆ" -} \ No newline at end of file diff --git a/assets/mods/basegame/locales/koKRabc/devmsg.json b/assets/mods/basegame/locales/koKRabc/devmsg.json deleted file mode 100644 index d137595de..000000000 --- a/assets/mods/basegame/locales/koKRabc/devmsg.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "DEV_MESSAGE_CONSOLE_CODEX": "사요ᄋ 가느ᄋ하ᄂ 며ᄋ려ᄋ어 모ᄀ로ᄀ으ᄅ 보려며ᄂ ‘codex’르ᄅ 이ᄇ려ᄀ해 주시ᄇ시오.", - "DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS": "며ᄋ려ᄋ어 모ᄀ로ᄀ:", - "DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN": "‘%1$s’: 아ᄅ 수 어ᄇᄉ느ᄂ 며ᄋ려ᄋ어" -} \ No newline at end of file diff --git a/assets/mods/basegame/locales/koKRabc/game.json b/assets/mods/basegame/locales/koKRabc/game.json deleted file mode 100644 index 8f2119dfe..000000000 --- a/assets/mods/basegame/locales/koKRabc/game.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "CONTEXT_WORLD_NEW": "새 세계", - "MENU_LABEL_DELETE_WORLD": "새계 사ᄀ제", - "CONTEXT_WORLD_COUNT": "새계: ", - "MENU_MONITOR_CALI_TITLE": "모니터 호ᅡᄀ이ᄂ", - "GAME_INVENTORY_INGREDIENTS": "재료", - "GAME_INVENTORY_POTIONS": "무ᄅ야ᄀ", - "GAME_INVENTORY_BLOCKS": "브ᄅ로ᄀ", - "GAME_INVENTORY_WALLS": "벼ᄀ지", - "CONTEXT_ITEM_TOOL_PLURAL": "도구", - "GAME_INVENTORY_FAVORITES": "즈ᄅ겨차ᄌ기", - "GAME_INVENTORY_REGISTER": "드ᄋ로ᄀ하기", - "MENU_LABEL_MENU": "메뉴", - "CONTEXT_ITEM_MAP": "지도", - "CONTEXT_GENERATOR_SEED": "시드", - "GAME_ACTION_GRAPPLE": "매다ᄅ리기", - "GAME_ACTION_QUICKSEL": "빠르ᄂ 서ᄂ태ᄀ" -} \ No newline at end of file diff --git a/assets/mods/basegame/locales/koKRabc/items.json b/assets/mods/basegame/locales/koKRabc/items.json deleted file mode 100644 index b707ec445..000000000 --- a/assets/mods/basegame/locales/koKRabc/items.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "ITEM_STORAGE_CHEST": "보고ᅡᄂ사ᄋ자" -} \ No newline at end of file diff --git a/src/net/torvald/parametricsky/datasets/DatasetOp.kt b/src/net/torvald/parametricsky/datasets/DatasetOp.kt index eb9aa3e8e..a16d8707d 100644 --- a/src/net/torvald/parametricsky/datasets/DatasetOp.kt +++ b/src/net/torvald/parametricsky/datasets/DatasetOp.kt @@ -1,6 +1,6 @@ package net.torvald.parametricsky.datasets -import net.torvald.terrarum.serialise.toLittleLong +import net.torvald.terrarum.serialise.toLittleInt64 import java.io.File import java.io.FileInputStream @@ -14,7 +14,7 @@ object DatasetOp { val ret = DoubleArray(entrysize) { val inputbuf = ByteArray(8) fis.read(inputbuf) - val rawnum = inputbuf.toLittleLong() + val rawnum = inputbuf.toLittleInt64() Double.fromBits(rawnum) } diff --git a/src/net/torvald/terrarum/CommonResourcePool.kt b/src/net/torvald/terrarum/CommonResourcePool.kt index 80db29a14..a6891a9d6 100644 --- a/src/net/torvald/terrarum/CommonResourcePool.kt +++ b/src/net/torvald/terrarum/CommonResourcePool.kt @@ -22,29 +22,19 @@ object CommonResourcePool { init { addToLoadingList("itemplaceholder_16") { - val t = TextureRegion(Texture("assets/item_kari_16.tga")) - t.flip(false, false) - /*return*/t + TextureRegion(Texture("assets/item_kari_16.tga")).also { it.flip(false, false) } } addToLoadingList("itemplaceholder_24") { - val t = TextureRegion(Texture("assets/item_kari_24.tga")) - t.flip(false, false) - /*return*/t + TextureRegion(Texture("assets/item_kari_24.tga")).also { it.flip(false, false) } } addToLoadingList("itemplaceholder_32") { - val t = TextureRegion(Texture("assets/item_kari_32.tga")) - t.flip(false, false) - /*return*/t + TextureRegion(Texture("assets/item_kari_32.tga")).also { it.flip(false, false) } } addToLoadingList("itemplaceholder_48") { - val t = TextureRegion(Texture("assets/item_kari_48.tga")) - t.flip(false, false) - /*return*/t + TextureRegion(Texture("assets/item_kari_48.tga")).also { it.flip(false, false) } } addToLoadingList("test_texture") { - val t = TextureRegion(Texture("assets/test_texture.tga")) - t.flip(false, false) - /*return*/t + TextureRegion(Texture("assets/test_texture.tga")).also { it.flip(false, false) } } loadAll() } @@ -130,7 +120,7 @@ object CommonResourcePool { fun getAsTexture(identifier: String) = getAs(identifier) fun dispose() { - pool.forEach { name, u -> + pool.forEach { (name, u) -> try { when { u is Disposable -> u.dispose() diff --git a/src/net/torvald/terrarum/KVHashMap.kt b/src/net/torvald/terrarum/KVHashMap.kt index 3a1f2a6d0..9dbb2565e 100644 --- a/src/net/torvald/terrarum/KVHashMap.kt +++ b/src/net/torvald/terrarum/KVHashMap.kt @@ -3,6 +3,12 @@ package net.torvald.terrarum typealias ItemValue = KVHashMap /** + * Supported Value Types: + * - Int + * - Double (`getAsFloat()` first retrieves the Double value then casts to Float) + * - Boolean + * - String + * * Created by minjaesong on 2015-12-30. */ open class KVHashMap { @@ -42,47 +48,29 @@ open class KVHashMap { } fun getAsInt(key: String): Int? { - val value = get(key) - - if (value == null) return null - + val value = get(key) ?: return null return value as Int } fun getAsDouble(key: String): Double? { - val value = get(key) - - if (value == null) return null - - if (value is Int) - return value.toDouble() - + val value = get(key) ?: return null + if (value is Int) return value.toDouble() return value as Double } fun getAsFloat(key: String): Float? { - val value = get(key) - - if (value == null) return null - - if (value is Float) return value as Float - + val value = get(key) ?: return null + if (value is Float) return value return getAsDouble(key)?.toFloat() } fun getAsString(key: String): String? { - val value = get(key) - - if (value == null) return null - + val value = get(key) ?: return null return value as String } fun getAsBoolean(key: String): Boolean? { - val value = get(key) - - if (value == null) return null - + val value = get(key) ?: return null return value as Boolean } diff --git a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt index b58fe5bd8..8b181e061 100644 --- a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt +++ b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt @@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.Pixmap import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.gameitems.GameItem +import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.ui.* import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import kotlin.math.roundToInt @@ -41,6 +42,18 @@ class UIItemInventoryCatBar( arrayOf(GameItem.Category.MISC), arrayOf(CAT_ALL) ) + internal val catIconsLabels = listOf( + { Lang["GAME_INVENTORY_WEAPONS"] }, + { Lang["CONTEXT_ITEM_TOOL_PLURAL"] }, + { Lang["CONTEXT_ITEM_ARMOR"] }, + { 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"] }, + ) private val inventoryUI = parentUI @@ -274,12 +287,17 @@ class UIItemInventoryCatBar( batch.color = underlineColour Toolkit.drawStraightLine(batch, posX, posY + height - 1, posX + width, 1, false) - // indicator if (selectedPanel == 1) { + // indicator batch.color = underlineHighlightColour - batch.draw(underlineIndTex, (highlighterXPos - buttonGapSize / 2).toFloat().round(), posY + highlighterYPos) - } + batch.draw(underlineIndTex, (highlighterXPos - buttonGapSize / 2).round(), posY + highlighterYPos) + // label + batch.color = Color.WHITE + catIconsLabels[selectedIcon]().let { + App.fontGame.draw(batch, it, posX + ((width - App.fontGame.getWidth(it)) / 2).toFloat(), posY + highlighterYPos + 4) + } + } } diff --git a/src/net/torvald/terrarum/gameactors/AVKey.kt b/src/net/torvald/terrarum/gameactors/AVKey.kt index f1ee740eb..a59489fae 100644 --- a/src/net/torvald/terrarum/gameactors/AVKey.kt +++ b/src/net/torvald/terrarum/gameactors/AVKey.kt @@ -50,10 +50,7 @@ object AVKey { const val STRENGTH = "strength" const val STRENGTHBUFF = "$STRENGTH$BUFF" const val ENCUMBRANCE = "encumbrance" - /** 30-bit RGB (Int) - * 0000 0010000000 0010000000 0010000000 - * ^ Red ^ Green ^ Blue - */ + const val LUMR = "luminosityred" const val LUMG = "luminositygreen" const val LUMB = "luminosityblue" @@ -142,4 +139,14 @@ object AVKey { const val BAREHAND_MINHEIGHT = "barehandactionminheight" const val BAREHAND_BASE_DIGSIZE = "basebarehanddiggingsize" + + + /** String + * Comma-separated values of UUID for the world, Ascii85-encoded, big endian. + * + * Use extension function `UUID.toAscii85()` and `String.ascii85toUUID()` defined in the file for net.torvald.terrarum.serialise.Ascii85 + * + * example value: `"SIxM+kGlrjZgLx5Zeqz7,;:UIZ5Q=2WT35SgKpOp.,vvf'fNW3G, Cloneabl */ var equipPosition: Int = EquipPosition.NULL - abstract val material: Material + internal val material: Material + get() = MaterialCodex.getOrDefault(materialId) + abstract val materialId: String /** * DO NOT READ FROM THIS VALUE: USE `ItemCodex.getItemImage(item)`; diff --git a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt index 54a505629..371db15db 100644 --- a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt +++ b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt @@ -88,7 +88,7 @@ class EntryPoint : ModuleEntryPoint() { override var stackable = true override var inventoryCategory = if (isWall) Category.WALL else Category.BLOCK override var isDynamic = false - override val material = MaterialCodex.getOrDefault(tile.material) + override val materialId = tile.material // override val itemImage: TextureRegion // get() { // val itemSheetNumber = App.tileMaker.tileIDtoItemSheetNumber(originalID) diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index b5ed11dc7..704dc0a5a 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -356,7 +356,9 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { codices.player.setPosition(it.physics.position) if (isMultiplayer) { + printdbg(this, "Using world's ActorValue instead of player's") codices.player.actorValue = it.actorValue!! + printdbg(this, "Using world's Inventory instead of player's") codices.player.inventory = it.inventory!! } } diff --git a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt index 90d6c1454..d7d116ba3 100644 --- a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt @@ -186,9 +186,9 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) { // load a half-gradient texture that would be used throughout the titlescreen and its sub UIs CommonResourcePool.addToLoadingList("title_halfgrad") { - val t = Texture(Gdx.files.internal("./assets/graphics/halfgrad.tga")) - t.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear) - t + Texture(Gdx.files.internal("./assets/graphics/halfgrad.tga")).also { + it.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear) + } } CommonResourcePool.loadAll() diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt index e36a1e3dc..270031882 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt @@ -191,7 +191,7 @@ open class ActorHumanoid : ActorWithBody, Controllable, Pocketed, Factionable, L override val originalName: String = actorValue.getAsString(AVKey.NAME) ?: "(no name)" override var stackable = false override val isDynamic = false - override val material = Material() + override val materialId = "" } override fun update(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt index 7ab0f07c0..5988a5cc8 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt @@ -1,29 +1,12 @@ package net.torvald.terrarum.modulebasegame.gameactors -import com.badlogic.gdx.graphics.Camera -import com.badlogic.gdx.graphics.Color -import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.* -import net.torvald.terrarum.App.gamepadLabelStart import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE import net.torvald.terrarum.gameactors.AVKey -import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory.Companion.CAPACITY_MODE_COUNT import net.torvald.terrarum.modulebasegame.ui.* -import net.torvald.terrarum.modulebasegame.ui.UIInventoryCells.Companion.weightBarWidth -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELLS_VRT -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_X -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.catBarWidth -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.controlHelpHeight -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalHeight -import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth -import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap -import net.torvald.terrarum.ui.Toolkit -import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack -import net.torvald.unicode.getKeycapPC /** * Created by minjaesong on 2019-07-08. @@ -65,236 +48,3 @@ internal class FixtureStorageChest : FixtureBase { const val MASS = 2.0 } } - - -internal class UIStorageChest : UICanvas( - toggleKeyLiteral = App.getConfigInt("control_key_inventory"), - toggleButtonLiteral = App.getConfigInt("control_gamepad_start"), -), HasInventory { - - lateinit var chestInventory: FixtureInventory - lateinit var chestNameFun: () -> String - - override var width = App.scr.width - override var height = App.scr.height - - private val negotiator = object : InventoryTransactionNegotiator() { - override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) { - player.remove(item, amount) - fixture.add(item, amount) - } - - override fun reject(fixture: FixtureInventory, player: FixtureInventory, item: GameItem, amount: Long) { - fixture.remove(item, amount) - player.add(item, amount) - } - } - - override fun getNegotiator() = negotiator - override fun getFixtureInventory(): FixtureInventory = chestInventory - override fun getPlayerInventory(): FixtureInventory = INGAME.actorNowPlaying!!.inventory - - private val catBar: UIItemInventoryCatBar - private val itemListChest: UIItemInventoryItemGrid - private val itemListPlayer: UIItemInventoryItemGrid - - private var encumbrancePerc = 0f - private var isEncumbered = false - - private var halfSlotOffset = (UIItemInventoryElemSimple.height + listGap) / 2 - - init { - catBar = UIItemInventoryCatBar( - this, - (App.scr.width - catBarWidth) / 2, - 42 - UIInventoryFull.YPOS_CORRECTION + (App.scr.height - internalHeight) / 2, - internalWidth, - catBarWidth, - false - ) - catBar.selectionChangeListener = { old, new -> itemListUpdate() } - itemListChest = UIItemInventoryItemGrid( - this, - catBar, - { getFixtureInventory() }, - INVENTORY_CELLS_OFFSET_X() - halfSlotOffset, - INVENTORY_CELLS_OFFSET_Y(), - 6, CELLS_VRT, - drawScrollOnRightside = false, - drawWallet = false, - keyDownFun = { _, _, _, _, _ -> Unit }, - touchDownFun = { gameItem, amount, _, _, _ -> - if (gameItem != null) { - negotiator.reject(getFixtureInventory(), getPlayerInventory(), gameItem, amount) - } - itemListUpdate() - } - ) - // make grid mode buttons work together - itemListChest.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) } - itemListChest.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) } - - itemListPlayer = UIItemInventoryItemGrid( - this, - catBar, - { INGAME.actorNowPlaying!!.inventory }, // literally a player's inventory - INVENTORY_CELLS_OFFSET_X() - halfSlotOffset + (listGap + UIItemInventoryElemWide.height) * 7, - INVENTORY_CELLS_OFFSET_Y(), - 6, CELLS_VRT, - drawScrollOnRightside = true, - drawWallet = false, - keyDownFun = { _, _, _, _, _ -> Unit }, - touchDownFun = { gameItem, amount, _, _, _ -> - if (gameItem != null) { - negotiator.accept(getPlayerInventory(), getFixtureInventory(), gameItem, amount) - } - itemListUpdate() - } - ) - itemListPlayer.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) } - itemListPlayer.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) } - - handler.allowESCtoClose = true - - addUIitem(catBar) - addUIitem(itemListChest) - addUIitem(itemListPlayer) - } - - private var openingClickLatched = false - - override fun show() { - itemListPlayer.getInventory = { INGAME.actorNowPlaying!!.inventory } - - itemListUpdate() - - openingClickLatched = Terrarum.mouseDown - - UIItemInventoryItemGrid.tooltipShowing.clear() - INGAME.setTooltipMessage(null) - } - - private fun itemListUpdate() { - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - - encumbrancePerc = getPlayerInventory().capacity.toFloat() / getPlayerInventory().maxCapacity - isEncumbered = getPlayerInventory().isEncumbered - } - - private fun setCompact(yes: Boolean) { - itemListChest.isCompactMode = yes - itemListChest.gridModeButtons[0].highlighted = !yes - itemListChest.gridModeButtons[1].highlighted = yes - itemListChest.itemPage = 0 - itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - - itemListPlayer.isCompactMode = yes - itemListPlayer.gridModeButtons[0].highlighted = !yes - itemListPlayer.gridModeButtons[1].highlighted = yes - itemListPlayer.itemPage = 0 - itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) - - itemListUpdate() - } - - override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { - if (!openingClickLatched) { - return super.touchDown(screenX, screenY, pointer, button) - } - return false - } - - override fun updateUI(delta: Float) { - catBar.update(delta) - itemListChest.update(delta) - itemListPlayer.update(delta) - - if (openingClickLatched && !Terrarum.mouseDown) openingClickLatched = false - } - - private val thisOffsetX = UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset - private val thisOffsetX2 = thisOffsetX + (listGap + UIItemInventoryElemWide.height) * 7 - private val thisOffsetY = UIInventoryFull.INVENTORY_CELLS_OFFSET_Y() - private val cellsWidth = (listGap + UIItemInventoryElemWide.height) * 6 - listGap - - private val controlHelp: String - get() = if (App.environment == RunningEnvironment.PC) - "${getKeycapPC(App.getConfigInt("control_key_inventory"))} ${Lang["GAME_ACTION_CLOSE"]}" - else - "$gamepadLabelStart ${Lang["GAME_ACTION_CLOSE"]} " - - override fun renderUI(batch: SpriteBatch, camera: Camera) { - // background fill - UIInventoryFull.drawBackground(batch, handler.opacity) - - // UI items - batch.color = Color.WHITE - - catBar.render(batch, camera) - itemListChest.render(batch, camera) - itemListPlayer.render(batch, camera) - - - blendNormalStraightAlpha(batch) - - // encumbrance meter - val encumbranceText = Lang["GAME_INVENTORY_ENCUMBRANCE"] - val chestName = chestNameFun() - val playerName = INGAME.actorNowPlaying!!.actorValue.getAsString(AVKey.NAME).orEmpty().let { it.ifBlank { Lang["GAME_INVENTORY"] } } - val encumbBarXPos = itemListPlayer.posX + itemListPlayer.width - weightBarWidth - val encumbBarTextXPos = encumbBarXPos - 6 - App.fontGame.getWidth(encumbranceText) - val yEnd = -UIInventoryFull.YPOS_CORRECTION + (App.scr.height + internalHeight).div(2).toFloat() // directly copied from UIInventoryFull.yEnd - val encumbBarYPos = yEnd - 20 + 3 // dunno why but extra 3 px is needed - val encumbCol = UIItemInventoryCellCommonRes.getHealthMeterColour(1f - encumbrancePerc, 0f, 1f) - val encumbBack = encumbCol mul UIItemInventoryCellCommonRes.meterBackDarkening - - // encumbrance bar background - batch.color = encumbBack - Toolkit.fillArea(batch, encumbBarXPos, encumbBarYPos, weightBarWidth, controlHelpHeight - 6f) - // encumbrance bar - batch.color = encumbCol - Toolkit.fillArea(batch, - encumbBarXPos, encumbBarYPos, - if (getPlayerInventory().capacityMode == FixtureInventory.CAPACITY_MODE_NO_ENCUMBER) - 1f - else // make sure 1px is always be seen - minOf(weightBarWidth, maxOf(1f, weightBarWidth * encumbrancePerc)), - controlHelpHeight - 6f - ) - - // chest name text - batch.color = Color.WHITE - App.fontGame.draw(batch, chestName, thisOffsetX + (cellsWidth - App.fontGame.getWidth(chestName)) / 2, thisOffsetY - 30) - App.fontGame.draw(batch, playerName, thisOffsetX2 + (cellsWidth - App.fontGame.getWidth(playerName)) / 2, thisOffsetY - 30) - - // control hint - App.fontGame.draw(batch, controlHelp, thisOffsetX + 2f, encumbBarYPos - 3) - - // encumb text - batch.color = Color.WHITE - App.fontGame.draw(batch, encumbranceText, encumbBarTextXPos, encumbBarYPos - 3f) - } - - override fun doOpening(delta: Float) { - INGAME.pause() - INGAME.setTooltipMessage(null) - } - - override fun doClosing(delta: Float) { - INGAME.resume() - INGAME.setTooltipMessage(null) - } - - override fun endOpening(delta: Float) { - } - - override fun endClosing(delta: Float) { - UIItemInventoryItemGrid.tooltipShowing.clear() - INGAME.setTooltipMessage(null) // required! - } - - - override fun dispose() { - } -} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt index bee516bc4..91fb91e68 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt @@ -48,7 +48,7 @@ open class HumanoidNPC : ActorHumanoid, AIControlled, CanBeAnItem { override val originalName: String = actorValue.getAsString(AVKey.NAME) ?: "NPC" override var stackable = true override val isDynamic = false - override val material = Material() + override val materialId = "" override fun startPrimaryUse(actor: ActorWithBody, delta: Float): Long { try { diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt index 644c76fb2..d29a4b689 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/FixtureItemBase.kt @@ -44,7 +44,7 @@ open class FixtureItemBase(originalID: ItemID, val fixtureClassName: String) : G override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" /** * 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 52b61c0a4..c9161e33a 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt @@ -17,7 +17,7 @@ class ItemLogicSignalEmitter(originalID: ItemID) : FixtureItemBase(originalID, " override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga") diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt index 926f98cce..6391b100f 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt @@ -19,7 +19,7 @@ class ItemStorageChest(originalID: ItemID) : FixtureItemBase(originalID, "net.to override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_48") override var baseToolSize: Double? = baseMass diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt index 5b3a06b01..f02c43ca6 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt @@ -19,7 +19,7 @@ class ItemSwingingDoorOak(originalID: ItemID) : override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass @@ -44,7 +44,7 @@ class ItemSwingingDoorEbony(originalID: ItemID) : override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass @@ -69,7 +69,7 @@ class ItemSwingingDoorBirch(originalID: ItemID) : override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass @@ -94,7 +94,7 @@ class ItemSwingingDoorRosewood(originalID: ItemID) : override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt index 09cfc01d6..ec20ca483 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTapestry.kt @@ -21,7 +21,7 @@ class ItemTapestry(originalID: ItemID) : FixtureItemBase(originalID, "net.torval override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_16") override var baseToolSize: Double? = baseMass diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt index 8423d7636..adc6e2459 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt @@ -17,7 +17,7 @@ class ItemTikiTorch(originalID: ItemID) : FixtureItemBase(originalID, "net.torva override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSheet("basegame", "sprites/fixtures/tiki_torch.tga", 16, 32) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt index bcd0a119b..1a0bc2b1d 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTypewriter.kt @@ -17,7 +17,7 @@ class ItemTypewriter(originalID: ItemID) : FixtureItemBase(originalID, "net.torv override var inventoryCategory = Category.MISC override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = getItemImageFromSheet("basegame", "sprites/fixtures/typewriter.tga", 32, 16) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt index 02fdaf7e5..a95e732ba 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt @@ -118,7 +118,7 @@ class PickaxeCopper(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = false override val isDynamic = true - override val material = MaterialCodex["CUPR"] + override val materialId = "CUPR" override var baseMass = material.density.toDouble() / MaterialCodex["IRON"].density * BASE_MASS_AND_SIZE override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegionPack("basegame.items24").get(0,0) @@ -148,7 +148,7 @@ class PickaxeIron(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = false override val isDynamic = true - override val material = MaterialCodex["IRON"] + override val materialId = "IRON" override var baseMass = material.density.toDouble() / MaterialCodex["IRON"].density * BASE_MASS_AND_SIZE override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegionPack("basegame.items24").get(1,0) @@ -178,7 +178,7 @@ class PickaxeSteel(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = false override val isDynamic = true - override val material = MaterialCodex["STAL"] + override val materialId = "STAL" override var baseMass = material.density.toDouble() / MaterialCodex["IRON"].density * BASE_MASS_AND_SIZE override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegionPack("basegame.items24").get(2,0) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt index 1b6809315..f7f7fc025 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt @@ -92,7 +92,7 @@ class WireCutterAll(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = true override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegionPack("basegame.items16").get(0, 9) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt index aec4352d6..6bfb12e1f 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt @@ -18,7 +18,7 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) { override var inventoryCategory = Category.TOOL override val isUnique = true override val isDynamic = false - override val material = MaterialCodex["CUPR"] + override val materialId = "CUPR" override var baseMass = 2.0 override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_24") diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt index 408dcfd9b..31d8e131e 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt @@ -22,7 +22,7 @@ class WirePieceSignalWire(originalID: ItemID, private val atlasID: String, priva override var inventoryCategory = Category.WIRE override val isUnique = false override val isDynamic = false - override val material = Material() + override val materialId = "" override val itemImage: TextureRegion get() = CommonResourcePool.getAsTextureRegionPack(atlasID).get(sheetX, sheetY) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/UICrafting.kt b/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt similarity index 99% rename from src/net/torvald/terrarum/modulebasegame/gameactors/UICrafting.kt rename to src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt index 20e8c7040..cf2b5b208 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/UICrafting.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.modulebasegame.gameactors +package net.torvald.terrarum.modulebasegame.ui import com.badlogic.gdx.graphics.Camera import com.badlogic.gdx.graphics.Color @@ -12,6 +12,8 @@ import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.gameitems.ItemID import net.torvald.terrarum.itemproperties.CraftingCodex import net.torvald.terrarum.langpack.Lang +import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory +import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair import net.torvald.terrarum.modulebasegame.ui.* import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap import net.torvald.terrarum.ui.Toolkit diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt index 15c93e8df..43ac11b70 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt @@ -9,7 +9,6 @@ import net.torvald.terrarum.* import net.torvald.terrarum.App.* import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid -import net.torvald.terrarum.modulebasegame.gameactors.UICrafting import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide @@ -160,6 +159,7 @@ class UIInventoryFull( fun unlockTransition() { panelTransitionLocked = false } + fun requestTransition(target: Int) = transitionPanel.requestTransition(target) val catBar = UIItemInventoryCatBar( this, @@ -167,13 +167,12 @@ class UIInventoryFull( 42 - YPOS_CORRECTION + (App.scr.height - internalHeight) / 2, internalWidth, catBarWidth, - true, - { i -> if (!panelTransitionLocked) requestTransition(i) } - ) + true + ) { i -> if (!panelTransitionLocked) requestTransition(i) } -// private val transitionalMinimap = UIInventoryMinimap(this) // PLACEHOLDER - private val transitionalCraftingUI = UICrafting(this) // PLACEHOLDER + // private val transitionalMinimap = UIInventoryMinimap(this) + private val transitionalCraftingUI = UICrafting(this) private val transitionalItemCells = UIInventoryCells(this) private val transitionalEscMenu = UIInventoryEscMenu(this) private val transitionPanel = UIItemHorizontalFadeSlide( @@ -258,8 +257,6 @@ class UIInventoryFull( internal var offsetY = ((App.scr.height - internalHeight) / 2).toFloat() private set - fun requestTransition(target: Int) = transitionPanel.requestTransition(target) - override fun updateUI(delta: Float) { if (handler.openFired) { rebuildList() diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemCraftingCandidateGrid.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemCraftingCandidateGrid.kt index 3d795e828..257c5779f 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemCraftingCandidateGrid.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemCraftingCandidateGrid.kt @@ -7,7 +7,6 @@ import net.torvald.terrarum.UIItemInventoryCatBar import net.torvald.terrarum.ceilInt import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.itemproperties.CraftingCodex -import net.torvald.terrarum.modulebasegame.gameactors.UICrafting /** * Created by minjaesong on 2022-06-28. diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt index 43349c51a..70eab78ed 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt @@ -85,8 +85,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() { init { CommonResourcePool.addToLoadingList("terrarum-defaultsavegamethumb") { - val t = TextureRegion(Texture(Gdx.files.internal("assets/graphics/gui/savegame_thumb_placeholder.png"))) - t.flip(false, false); t + TextureRegion(Texture(Gdx.files.internal("assets/graphics/gui/savegame_thumb_placeholder.png"))) } CommonResourcePool.addToLoadingList("savegame_status_icon") { TextureRegionPack("assets/graphics/gui/savegame_status_icon.tga", 24, 24) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt new file mode 100644 index 000000000..7c05a27c7 --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt @@ -0,0 +1,255 @@ +package net.torvald.terrarum.modulebasegame.ui + +import com.badlogic.gdx.graphics.Camera +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.g2d.SpriteBatch +import net.torvald.terrarum.* +import net.torvald.terrarum.gameactors.AVKey +import net.torvald.terrarum.gameitems.GameItem +import net.torvald.terrarum.langpack.Lang +import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory +import net.torvald.terrarum.ui.Toolkit +import net.torvald.terrarum.ui.UICanvas +import net.torvald.unicode.getKeycapPC + +/** + * Created by minjaesong on 2019-07-08. + */ +internal class UIStorageChest : UICanvas( + toggleKeyLiteral = App.getConfigInt("control_key_inventory"), + toggleButtonLiteral = App.getConfigInt("control_gamepad_start"), +), HasInventory { + + lateinit var chestInventory: FixtureInventory + lateinit var chestNameFun: () -> String + + override var width = App.scr.width + override var height = App.scr.height + + private val negotiator = object : InventoryTransactionNegotiator() { + override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) { + player.remove(item, amount) + fixture.add(item, amount) + } + + override fun reject(fixture: FixtureInventory, player: FixtureInventory, item: GameItem, amount: Long) { + fixture.remove(item, amount) + player.add(item, amount) + } + } + + override fun getNegotiator() = negotiator + override fun getFixtureInventory(): FixtureInventory = chestInventory + override fun getPlayerInventory(): FixtureInventory = INGAME.actorNowPlaying!!.inventory + + private val catBar: UIItemInventoryCatBar + private val itemListChest: UIItemInventoryItemGrid + private val itemListPlayer: UIItemInventoryItemGrid + + private var encumbrancePerc = 0f + private var isEncumbered = false + + private var halfSlotOffset = (UIItemInventoryElemSimple.height + UIItemInventoryItemGrid.listGap) / 2 + + init { + catBar = UIItemInventoryCatBar( + this, + (App.scr.width - UIInventoryFull.catBarWidth) / 2, + 42 - UIInventoryFull.YPOS_CORRECTION + (App.scr.height - UIInventoryFull.internalHeight) / 2, + UIInventoryFull.internalWidth, + UIInventoryFull.catBarWidth, + false + ) + catBar.selectionChangeListener = { old, new -> itemListUpdate() } + itemListChest = UIItemInventoryItemGrid( + this, + catBar, + { getFixtureInventory() }, + UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset, + UIInventoryFull.INVENTORY_CELLS_OFFSET_Y(), + 6, UIInventoryFull.CELLS_VRT, + drawScrollOnRightside = false, + drawWallet = false, + keyDownFun = { _, _, _, _, _ -> Unit }, + touchDownFun = { gameItem, amount, _, _, _ -> + if (gameItem != null) { + negotiator.reject(getFixtureInventory(), getPlayerInventory(), gameItem, amount) + } + itemListUpdate() + } + ) + // make grid mode buttons work together + itemListChest.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) } + itemListChest.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) } + + itemListPlayer = UIItemInventoryItemGrid( + this, + catBar, + { INGAME.actorNowPlaying!!.inventory }, // literally a player's inventory + UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset + (UIItemInventoryItemGrid.listGap + UIItemInventoryElemWide.height) * 7, + UIInventoryFull.INVENTORY_CELLS_OFFSET_Y(), + 6, UIInventoryFull.CELLS_VRT, + drawScrollOnRightside = true, + drawWallet = false, + keyDownFun = { _, _, _, _, _ -> Unit }, + touchDownFun = { gameItem, amount, _, _, _ -> + if (gameItem != null) { + negotiator.accept(getPlayerInventory(), getFixtureInventory(), gameItem, amount) + } + itemListUpdate() + } + ) + itemListPlayer.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) } + itemListPlayer.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) } + + handler.allowESCtoClose = true + + addUIitem(catBar) + addUIitem(itemListChest) + addUIitem(itemListPlayer) + } + + private var openingClickLatched = false + + override fun show() { + itemListPlayer.getInventory = { INGAME.actorNowPlaying!!.inventory } + + itemListUpdate() + + openingClickLatched = Terrarum.mouseDown + + UIItemInventoryItemGrid.tooltipShowing.clear() + INGAME.setTooltipMessage(null) + } + + private fun itemListUpdate() { + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + + encumbrancePerc = getPlayerInventory().capacity.toFloat() / getPlayerInventory().maxCapacity + isEncumbered = getPlayerInventory().isEncumbered + } + + private fun setCompact(yes: Boolean) { + itemListChest.isCompactMode = yes + itemListChest.gridModeButtons[0].highlighted = !yes + itemListChest.gridModeButtons[1].highlighted = yes + itemListChest.itemPage = 0 + itemListChest.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + + itemListPlayer.isCompactMode = yes + itemListPlayer.gridModeButtons[0].highlighted = !yes + itemListPlayer.gridModeButtons[1].highlighted = yes + itemListPlayer.itemPage = 0 + itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon]) + + itemListUpdate() + } + + override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { + if (!openingClickLatched) { + return super.touchDown(screenX, screenY, pointer, button) + } + return false + } + + override fun updateUI(delta: Float) { + catBar.update(delta) + itemListChest.update(delta) + itemListPlayer.update(delta) + + if (openingClickLatched && !Terrarum.mouseDown) openingClickLatched = false + } + + private val thisOffsetX = UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset + private val thisOffsetX2 = thisOffsetX + (UIItemInventoryItemGrid.listGap + UIItemInventoryElemWide.height) * 7 + private val thisOffsetY = UIInventoryFull.INVENTORY_CELLS_OFFSET_Y() + private val cellsWidth = (UIItemInventoryItemGrid.listGap + UIItemInventoryElemWide.height) * 6 - UIItemInventoryItemGrid.listGap + + private val controlHelp: String + get() = if (App.environment == RunningEnvironment.PC) + "${getKeycapPC(App.getConfigInt("control_key_inventory"))} ${Lang["GAME_ACTION_CLOSE"]}" + else + "${App.gamepadLabelStart} ${Lang["GAME_ACTION_CLOSE"]} " + + override fun renderUI(batch: SpriteBatch, camera: Camera) { + // background fill + UIInventoryFull.drawBackground(batch, handler.opacity) + + // UI items + batch.color = Color.WHITE + + catBar.render(batch, camera) + itemListChest.render(batch, camera) + itemListPlayer.render(batch, camera) + + + blendNormalStraightAlpha(batch) + + // encumbrance meter + val encumbranceText = Lang["GAME_INVENTORY_ENCUMBRANCE"] + val chestName = chestNameFun() + val playerName = INGAME.actorNowPlaying!!.actorValue.getAsString(AVKey.NAME).orEmpty().let { it.ifBlank { Lang["GAME_INVENTORY"] } } + val encumbBarXPos = itemListPlayer.posX + itemListPlayer.width - UIInventoryCells.weightBarWidth + val encumbBarTextXPos = encumbBarXPos - 6 - App.fontGame.getWidth(encumbranceText) + val yEnd = -UIInventoryFull.YPOS_CORRECTION + (App.scr.height + UIInventoryFull.internalHeight).div(2).toFloat() // directly copied from UIInventoryFull.yEnd + val encumbBarYPos = yEnd - 20 + 3 // dunno why but extra 3 px is needed + val encumbCol = UIItemInventoryCellCommonRes.getHealthMeterColour(1f - encumbrancePerc, 0f, 1f) + val encumbBack = encumbCol mul UIItemInventoryCellCommonRes.meterBackDarkening + + // encumbrance bar background + batch.color = encumbBack + Toolkit.fillArea( + batch, + encumbBarXPos, + encumbBarYPos, + UIInventoryCells.weightBarWidth, + UIInventoryFull.controlHelpHeight - 6f + ) + // encumbrance bar + batch.color = encumbCol + Toolkit.fillArea( + batch, + encumbBarXPos, encumbBarYPos, + if (getPlayerInventory().capacityMode == FixtureInventory.CAPACITY_MODE_NO_ENCUMBER) + 1f + else // make sure 1px is always be seen + minOf(UIInventoryCells.weightBarWidth, maxOf(1f, UIInventoryCells.weightBarWidth * encumbrancePerc)), + UIInventoryFull.controlHelpHeight - 6f + ) + + // chest name text + batch.color = Color.WHITE + App.fontGame.draw(batch, chestName, thisOffsetX + (cellsWidth - App.fontGame.getWidth(chestName)) / 2, thisOffsetY - 30) + App.fontGame.draw(batch, playerName, thisOffsetX2 + (cellsWidth - App.fontGame.getWidth(playerName)) / 2, thisOffsetY - 30) + + // control hint + App.fontGame.draw(batch, controlHelp, thisOffsetX + 2f, encumbBarYPos - 3) + + // encumb text + batch.color = Color.WHITE + App.fontGame.draw(batch, encumbranceText, encumbBarTextXPos, encumbBarYPos - 3f) + } + + override fun doOpening(delta: Float) { + INGAME.pause() + INGAME.setTooltipMessage(null) + } + + override fun doClosing(delta: Float) { + INGAME.resume() + INGAME.setTooltipMessage(null) + } + + override fun endOpening(delta: Float) { + } + + override fun endClosing(delta: Float) { + UIItemInventoryItemGrid.tooltipShowing.clear() + INGAME.setTooltipMessage(null) // required! + } + + + override fun dispose() { + } +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt index 999bb7c31..60442c40c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt @@ -4,12 +4,12 @@ import com.badlogic.gdx.graphics.Camera import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.App -import net.torvald.terrarum.Second import net.torvald.terrarum.Terrarum import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemTextButtonList +import kotlin.math.ceil class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() { @@ -22,8 +22,8 @@ class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() { private val textButtonLineHeight = 32 private val localeList = Lang.languageList.toList().sorted() - private val localeFirstHalf = localeList.subList(0, localeList.size / 2) - private val localeSecondHalf = localeList.subList(localeList.size / 2, localeList.size) + private val localeFirstHalf = localeList.subList(0, ceil(localeList.size / 2f).toInt()) + private val localeSecondHalf = localeList.subList(ceil(localeList.size / 2f).toInt(), localeList.size) override var width = 480 override var height = maxOf(localeFirstHalf.size, localeSecondHalf.size) * textButtonLineHeight diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt new file mode 100644 index 000000000..5ac2df9d6 --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt @@ -0,0 +1,126 @@ +package net.torvald.terrarum.modulebasegame.ui + +import com.badlogic.gdx.graphics.Camera +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.g2d.SpriteBatch +import net.torvald.terrarum.* +import net.torvald.terrarum.ui.Toolkit +import net.torvald.terrarum.ui.UICanvas +import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide + +/** + * Structure: + * + * UIWorldPortal (the container) + * + UIWorldPortalSearch (left panel) + * + UIWorldPortalListing (centre panel) + * + UIWorldPortalCargo (right panel) + * + * Created by minjaesong on 2023-05-19. + */ +class UIWorldPortal : UICanvas() { + + override var width = App.scr.width + override var height = App.scr.height + + + + val gradStartCol = Color(0x404040_60) + val gradEndCol = Color(0x000000_70) + val gradHeight = 48f + + + val controlHelpHeight = App.fontGame.lineHeight + + private var panelTransitionLocked = false + + fun lockTransition() { + panelTransitionLocked = true + } + fun unlockTransition() { + panelTransitionLocked = false + } + fun requestTransition(target: Int) = transitionPanel.requestTransition(target) + + + val catBar = UIItemInventoryCatBar( + this, + (width - UIInventoryFull.catBarWidth) / 2, + 42 - UIInventoryFull.YPOS_CORRECTION + (App.scr.height - UIInventoryFull.internalHeight) / 2, + UIInventoryFull.internalWidth, + UIInventoryFull.catBarWidth, + true + ) { i -> if (!panelTransitionLocked) requestTransition(i) } + + + private val transitionalSearch = UIWorldPortalSearch(this) + private val transitionalListing = UIWorldPortalListing(this) + private val transitionalCargo = UIWorldPortalCargo(this) + private val transitionPanel = UIItemHorizontalFadeSlide( + this, + (width - UIInventoryFull.internalWidth) / 2, + UIInventoryFull.INVENTORY_CELLS_OFFSET_Y(), + width, + App.scr.height, + 1f, + transitionalSearch, transitionalListing, transitionalCargo + ) + + init { + addUIitem(catBar) + addUIitem(transitionPanel) + + + + } + + + + + + + override fun updateUI(delta: Float) { + + } + + override fun renderUI(batch: SpriteBatch, camera: Camera) { + UIInventoryFull.drawBackground(batch, handler.opacity) + + // UI items + catBar.render(batch, camera) + transitionPanel.render(batch, camera) + } + + override fun dispose() { + catBar.dispose() + } + + fun resetUI() { + + } + + override fun doOpening(delta: Float) { + super.doOpening(delta) + resetUI() + INGAME.setTooltipMessage(null) + } + + override fun doClosing(delta: Float) { + super.doClosing(delta) + INGAME.setTooltipMessage(null) + } + + override fun endOpening(delta: Float) { + super.endOpening(delta) + UIItemInventoryItemGrid.tooltipShowing.clear() + INGAME.setTooltipMessage(null) // required! + } + + override fun endClosing(delta: Float) { + super.endClosing(delta) + resetUI() + UIItemInventoryItemGrid.tooltipShowing.clear() + INGAME.setTooltipMessage(null) // required! + } + +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt new file mode 100644 index 000000000..0d645e03a --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt @@ -0,0 +1,25 @@ +package net.torvald.terrarum.modulebasegame.ui + +import com.badlogic.gdx.graphics.Camera +import com.badlogic.gdx.graphics.g2d.SpriteBatch +import net.torvald.terrarum.App +import net.torvald.terrarum.ui.Toolkit +import net.torvald.terrarum.ui.UICanvas + +class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas() { + + override var width: Int = Toolkit.drawWidth + override var height: Int = App.scr.height + + override fun updateUI(delta: Float) { + TODO("Not yet implemented") + } + + override fun renderUI(batch: SpriteBatch, camera: Camera) { + TODO("Not yet implemented") + } + + override fun dispose() { + TODO("Not yet implemented") + } +} diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt new file mode 100644 index 000000000..c59441df0 --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt @@ -0,0 +1,129 @@ +package net.torvald.terrarum.modulebasegame.ui + +import com.badlogic.gdx.graphics.Camera +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.Texture +import com.badlogic.gdx.graphics.g2d.SpriteBatch +import com.badlogic.gdx.graphics.g2d.TextureRegion +import net.torvald.terrarum.* +import net.torvald.terrarum.gameactors.AVKey +import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y +import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap +import net.torvald.terrarum.savegame.DiskSkimmer +import net.torvald.terrarum.serialise.ascii85toUUID +import net.torvald.terrarum.ui.Toolkit +import net.torvald.terrarum.ui.UICanvas +import net.torvald.terrarum.ui.UIItem +import net.torvald.terrarum.ui.UIItemTextButton +import java.util.* + +/** + * Created by minjaesong on 2023-05-19. + */ +class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() { + + + override var width: Int = Toolkit.drawWidth + override var height: Int = App.scr.height + + private val cellHeight = 48 + private val buttonHeight = 24 + private val gridGap = listGap + + private var worldList: List> + private var selectedWorld: DiskSkimmer? = null + + + private val cellCol = UIInventoryFull.CELL_COL + private var highlightCol: Color = Color.WHITE + + + + + private val thumbw = 360 + private val thumbh = 240 + private val hx = Toolkit.drawWidth.div(2) + private val y = INVENTORY_CELLS_OFFSET_Y() + + private val listCount = UIInventoryFull.CELLS_VRT + private val listHeight = cellHeight * listCount + gridGap * (listCount - 1) + + private val deleteButtonWidth = 80 + private val buttonReset = UIItemTextButton(this, + "MENU_LABEL_DELETE_WORLD", + hx - gridGap/2 - deleteButtonWidth, + y + listHeight - buttonHeight, + deleteButtonWidth, + readFromLang = true, + hasBorder = true, + alignment = UIItemTextButton.Companion.Alignment.CENTRE + ) + + init { + CommonResourcePool.addToLoadingList("terrarum-basegame-worldportalicons") { + TextureRegion(Texture(ModMgr.getGdxFile("basegame", "gui/worldportal_catbar.tga")), 20, 20).also { + it.flip(false, false) + } + } + CommonResourcePool.loadAll() + + + addUIitem(buttonReset) + + + worldList = (INGAME.actorGamer.actorValue.getAsString(AVKey.WORLD_PORTAL_DICT) ?: "").split(",").map { + it.ascii85toUUID().let { it to App.savegameWorlds[it] } + }.filter { it.second != null } as List> + } + + + + override fun updateUI(delta: Float) { + + } + + override fun renderUI(batch: SpriteBatch, camera: Camera) { + + batch.inUse { + + // draw background // + // screencap panel + batch.color = cellCol + Toolkit.fillArea(batch, hx - thumbw - gridGap/2, y, thumbw, thumbh) + + + // draw border // + // screencap panel + batch.color = highlightCol + Toolkit.drawBoxBorder(batch, hx - thumbw - gridGap/2 - 1, y - 1, thumbw + 2, thumbh + 2) + // memory gauge + Toolkit.drawBoxBorder(batch, hx - 330 - gridGap/2 - 1, y + listHeight - 1, 240 + 2, buttonHeight + 2) + + + uiItems.forEach { it.render(batch, camera) } + } + + } + + override fun dispose() { + + } +} + + +class UIItemWorldCellsSimple( + parent: UILoadDemoSavefiles, + initialX: Int, + initialY: Int, + val skimmer: DiskSkimmer +) : UIItem(parent, initialX, initialY) { + + override val width: Int = 360 + override val height: Int = 46 + + private val cellCol = UIInventoryFull.CELL_COL + private var highlightCol: Color = Color.WHITE + + override fun dispose() { + } +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt new file mode 100644 index 000000000..03c39d1fe --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt @@ -0,0 +1,28 @@ +package net.torvald.terrarum.modulebasegame.ui + +import com.badlogic.gdx.graphics.Camera +import com.badlogic.gdx.graphics.g2d.SpriteBatch +import net.torvald.terrarum.App +import net.torvald.terrarum.ui.Toolkit +import net.torvald.terrarum.ui.UICanvas + +/** + * Created by minjaesong on 2023-05-19. + */ +class UIWorldPortalSearch(val full: UIWorldPortal) : UICanvas() { + + override var width: Int = Toolkit.drawWidth + override var height: Int = App.scr.height + + override fun updateUI(delta: Float) { + TODO("Not yet implemented") + } + + override fun renderUI(batch: SpriteBatch, camera: Camera) { + TODO("Not yet implemented") + } + + override fun dispose() { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/serialise/Ascii85.kt b/src/net/torvald/terrarum/serialise/Ascii85.kt index 66f14c537..3df000ef9 100644 --- a/src/net/torvald/terrarum/serialise/Ascii85.kt +++ b/src/net/torvald/terrarum/serialise/Ascii85.kt @@ -1,8 +1,11 @@ package net.torvald.terrarum.serialise +import net.torvald.terrarum.savegame.toBigEndian +import java.util.UUID +import kotlin.math.ceil + /** - * Standard Ascii85 implementation, except that the character sets used are as defined in - * RFC 1924 for JSON-compatibility, and will NOT truncate '00000' into something else; + * Ascii85 implementation with my own character table based on RFC 1924. Will NOT truncate '00000' into something else; * just gzip the inputstream instead! */ object Ascii85 { @@ -31,9 +34,6 @@ object Ascii85 { INVERSE_TABLE[CHAR_TABLE[i].toInt()] = i.toLong() } - /** - * Put -1 ([Ascii85.PAD_BYTE]) for null-bytes - */ fun encode(i1: Int?, i2: Int?, i3: Int?, i4: Int?): String { var b1=i1 ?: PAD_BYTE; var b2=i2 ?: PAD_BYTE; var b3=i3 ?: PAD_BYTE; var b4=i4 ?: PAD_BYTE var padLen = 0 @@ -73,9 +73,6 @@ object Ascii85 { "${CHAR_TABLE[sum.toInt()]}").substring(0,5 - padLen) } - /** - * Put '\0' ([Ascii85.PAD_CHAR]) for null-chars - */ fun decode(x1: Char?, x2: Char?, x3: Char?, x4: Char?, x5: Char?): ByteArray { var s1=x1 ?: PAD_CHAR; var s2=x2 ?: PAD_CHAR; var s3=x3 ?: PAD_CHAR; var s4=x4 ?: PAD_CHAR; var s5=x5 ?: PAD_CHAR var padLen = 0 @@ -106,6 +103,47 @@ object Ascii85 { INVERSE_TABLE[s5.toInt()] return ByteArray(4 - padLen) { sum.ushr((3 - it) * 8).and(255).toByte() } } + + fun encodeBytes(bytes: ByteArray): String { + val sb = StringBuilder() + for (k in 0..(bytes.size / 4)) { + sb.append(Ascii85.encode( + bytes.getOrNull(k*4)?.toInt(), + bytes.getOrNull(k*4+1)?.toInt(), + bytes.getOrNull(k*4+2)?.toInt(), + bytes.getOrNull(k*4+3)?.toInt() + )) + } + return sb.toString() + } + fun decodeBytes(encoded: String): ByteArray { + val bytes = ByteArray(ceil(encoded.length * 0.8).toInt()) + var curs = 0 + for (k in 0..(encoded.length / 5)) { + Ascii85.decode( + encoded.getOrNull(k*5), + encoded.getOrNull(k*5+1), + encoded.getOrNull(k*5+2), + encoded.getOrNull(k*5+3), + encoded.getOrNull(k*5+4), + ).let { + it.forEachIndexed { i, b -> + bytes[curs + i] = b + } + curs += it.size + } + } + return bytes + } +} + +fun UUID.toAscii85() = + Ascii85.encodeBytes(this.mostSignificantBits.toBigEndian() + this.leastSignificantBits.toBigEndian()) +fun String.ascii85toUUID(): UUID { + val bytes = Ascii85.decodeBytes(this) + val msb = bytes.toBigInt64(0) + val lsb = bytes.toBigInt64(8) + return UUID(msb, lsb) } /*fun main(args: Array) { diff --git a/src/net/torvald/terrarum/serialise/ByteUtils.kt b/src/net/torvald/terrarum/serialise/ByteUtils.kt index e1c0c27a7..62d11777f 100644 --- a/src/net/torvald/terrarum/serialise/ByteUtils.kt +++ b/src/net/torvald/terrarum/serialise/ByteUtils.kt @@ -38,39 +38,67 @@ fun Long.toULittle48() = byteArrayOf( fun Double.toLittle() = java.lang.Double.doubleToRawLongBits(this).toLittle() fun Boolean.toLittle() = byteArrayOf(if (this) 0xFF.toByte() else 0.toByte()) -fun ByteArray.toLittleInt() = - if (this.size != 4) throw Error("Array not in size of 4") - else this[0].toUint() or - this[1].toUint().shl(8) or - this[2].toUint().shl(16) or - this[3].toUint().shl(24) -fun ByteArray.toULittleShort() = - if (this.size != 4) throw Error("Array not in size of 2") - else this[0].toUint() or - this[1].toUint().shl(8) -fun ByteArray.toLittleShort() = - if (this.size != 4) throw Error("Array not in size of 2") - else this[0].toUint() or - this[1].toInt().shl(8) -fun ByteArray.toLittleLong() = - if (this.size != 8) throw Error("Array not in size of 8") - else this[0].toUlong() or - this[1].toUlong().shl(8) or - this[2].toUlong().shl(16) or - this[3].toUlong().shl(24) or - this[4].toUlong().shl(32) or - this[5].toUlong().shl(40) or - this[6].toUlong().shl(48) or - this[7].toUlong().shl(56) -fun ByteArray.toLittleInt48() = - if (this.size != 6) throw Error("Array not in size of 6") - else this[0].toUlong() or - this[1].toUlong().shl(8) or - this[2].toUlong().shl(16) or - this[3].toUlong().shl(24) or - this[4].toUlong().shl(32) or - this[5].toUlong().shl(40) -fun ByteArray.toLittleFloat() = java.lang.Float.intBitsToFloat(this.toLittleInt()) +fun ByteArray.toLittleInt32(offset: Int = 0) = + this[0 + offset].toUint() or + this[1 + offset].toUint().shl(8) or + this[2 + offset].toUint().shl(16) or + this[3 + offset].toUint().shl(24) +fun ByteArray.toULittleShort(offset: Int = 0) = + this[0 + offset].toUint() or + this[1 + offset].toUint().shl(8) +fun ByteArray.toLittleShort(offset: Int = 0) = + this[0 + offset].toUint() or + this[1 + offset].toInt().shl(8) +fun ByteArray.toLittleInt64(offset: Int = 0) = + this[0 + offset].toUlong() or + this[1 + offset].toUlong().shl(8) or + this[2 + offset].toUlong().shl(16) or + this[3 + offset].toUlong().shl(24) or + this[4 + offset].toUlong().shl(32) or + this[5 + offset].toUlong().shl(40) or + this[6 + offset].toUlong().shl(48) or + this[7 + offset].toUlong().shl(56) +fun ByteArray.toLittleInt48(offset: Int = 0) = + this[0 + offset].toUlong() or + this[1 + offset].toUlong().shl(8) or + this[2 + offset].toUlong().shl(16) or + this[3 + offset].toUlong().shl(24) or + this[4 + offset].toUlong().shl(32) or + this[5 + offset].toUlong().shl(40) +fun ByteArray.toLittleFloat() = java.lang.Float.intBitsToFloat(this.toLittleInt32()) +fun ByteArray.toBigInt16(offset: Int = 0): Int { + return this[0 + offset].toUint().shl(8) or + this[1 + offset].toUint() +} +fun ByteArray.toBigInt24(offset: Int = 0): Int { + return this[0 + offset].toUint().shl(16) or + this[1 + offset].toUint().shl(8) or + this[2 + offset].toUint() +} +fun ByteArray.toBigInt32(offset: Int = 0): Int { + return this[0 + offset].toUint().shl(24) or + this[1 + offset].toUint().shl(16) or + this[2 + offset].toUint().shl(8) or + this[3 + offset].toUint() +} +fun ByteArray.toBigInt48(offset: Int = 0): Long { + return this[0 + offset].toUlong().shl(40) or + this[1 + offset].toUlong().shl(32) or + this[2 + offset].toUlong().shl(24) or + this[3 + offset].toUlong().shl(16) or + this[4 + offset].toUlong().shl(8) or + this[5 + offset].toUlong() +} +fun ByteArray.toBigInt64(offset: Int = 0): Long { + return this[0 + offset].toUlong().shl(56) or + this[1 + offset].toUlong().shl(48) or + this[2 + offset].toUlong().shl(40) or + this[3 + offset].toUlong().shl(32) or + this[4 + offset].toUlong().shl(24) or + this[5 + offset].toUlong().shl(16) or + this[6 + offset].toUlong().shl(8) or + this[7 + offset].toUlong() +} fun Byte.toUlong() = java.lang.Byte.toUnsignedLong(this) fun Byte.toUint() = java.lang.Byte.toUnsignedInt(this) diff --git a/src/net/torvald/terrarum/ui/UIItemToggleButton.kt b/src/net/torvald/terrarum/ui/UIItemToggleButton.kt index 81deb4532..21662c34f 100644 --- a/src/net/torvald/terrarum/ui/UIItemToggleButton.kt +++ b/src/net/torvald/terrarum/ui/UIItemToggleButton.kt @@ -23,14 +23,10 @@ class UIItemToggleButton( init { CommonResourcePool.addToLoadingList("ui_item_toggler_base") { - val t = TextureRegion(Texture(Gdx.files.internal("./assets/graphics/gui/toggler_back.tga"))) - t.flip(false, false) - t + TextureRegion(Texture(Gdx.files.internal("./assets/graphics/gui/toggler_back.tga"))) } CommonResourcePool.addToLoadingList("ui_item_toggler_handle") { - val t = TextureRegion(Texture(Gdx.files.internal("./assets/graphics/gui/toggler_switch.tga"))) - t.flip(false, false) - t + TextureRegion(Texture(Gdx.files.internal("./assets/graphics/gui/toggler_switch.tga"))) } CommonResourcePool.loadAll() }