diff --git a/out/production/Terrarum_renewed/com/Torvald/ImageFont/GameFontBase.class b/out/production/Terrarum_renewed/com/Torvald/ImageFont/GameFontBase.class index 5840d1b27..d4c07248d 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/ImageFont/GameFontBase.class and b/out/production/Terrarum_renewed/com/Torvald/ImageFont/GameFontBase.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Faction/Faction.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Faction/Faction.class index 246529eaa..7f42c91d6 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Faction/Faction.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Faction/Faction.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/PBFSigrid.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/PBFSigrid.class index d91a30f10..c5870601d 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/PBFSigrid.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/PBFSigrid.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Player.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Player.class index d92925c4a..6ef492cfe 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Player.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/Player.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class index 39610d6c6..9a10fc75c 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class index 842990755..2c01dfa63 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class index e9f6a223d..0e617f73b 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class new file mode 100644 index 000000000..549c1548f Binary files /dev/null and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.class new file mode 100644 index 000000000..3fb46f0c4 Binary files /dev/null and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class index e361db3b2..3786ea5b6 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang.class index d38f7b6d9..d93434538 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class index 4af13fcbd..0843c1bea 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv index 2e72b6385..92b07e07f 100644 --- a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -21,7 +21,7 @@ "17";"TILE_ORE_NATURAL_GOLD" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "17"; "0";"16" "18";"TILE_ORE_NATURAL_SILVER" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "18"; "0";"16" "19";"TILE_ORE_RUTILE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "19"; "0";"16" - "20";"TILE_ORE_NATURAL_AURICHALCUM"; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "20"; "0";"16" + "20";"TILE_ORE_AURICHALCUMITE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "20"; "0";"16" "21";"TILE_GEM_RUBY" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "21"; "0";"16" "22";"TILE_GEM_EMERALD" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "22"; "0";"16" "23";"TILE_GEM_SAPPHIRE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "23"; "0";"16" @@ -42,5 +42,5 @@ "36";"TILE_TORCH" ; "0"; "0"; "0"; "N/A"; "0"; "0";"16777215"; "36"; "0";"16" -"239";"TILE_WATER" ; "16"; "100"; "1"; "2"; "0"; "0";"15464447"; "239"; "0";"16" +"239";"TILE_WATER" ; "16"; "100"; "1"; "2"; "0"; "0";"15464447"; "239"; "0";"16" "255";"TILE_LAVA" ; "0"; "100"; "1"; "2"; "0"; "0"; "8397312"; "239"; "0";"16" diff --git a/out/production/Terrarum_renewed/com/Torvald/spriteAnimation/SpriteAnimation.class b/out/production/Terrarum_renewed/com/Torvald/spriteAnimation/SpriteAnimation.class index 9adeca035..cc514a046 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/spriteAnimation/SpriteAnimation.class and b/out/production/Terrarum_renewed/com/Torvald/spriteAnimation/SpriteAnimation.class differ diff --git a/res/graphics/fonts/cjkpunct.png b/res/graphics/fonts/cjkpunct.png index fec0886e1..394ef9cf7 100644 Binary files a/res/graphics/fonts/cjkpunct.png and b/res/graphics/fonts/cjkpunct.png differ diff --git a/res/graphics/fonts/kana.png b/res/graphics/fonts/kana.png index 88a876773..16bb0d4a2 100644 Binary files a/res/graphics/fonts/kana.png and b/res/graphics/fonts/kana.png differ diff --git a/res/locales/en.lang b/res/locales/en.lang index 2d4445f27..14f26d524 100755 --- a/res/locales/en.lang +++ b/res/locales/en.lang @@ -9,7 +9,8 @@ COPYRIGHT_MSG=All rights reserved. ## Application messages # ########################### -APP_CALIBRATE_YOUR_MONITOR=Best player experience can be achieved with properly calibrated monitor. If you have not, please do it before you play. +APP_CALIBRATE_YOUR_MONITOR=Best player experience can be achieved with properly calibrated monitor. \ + If you have not, please do it before you play. @@ -97,25 +98,116 @@ GAME_INVENTORY_YOU_CANNOT_CARRY=You cannot carry any more. ## Tiles # ############ -TILE_AIR=You are not supposed to see this TILE_STONE=Stone +TILE_STONE_PLURAL=Stones + TILE_DIRT=Dirt +TILE_DIRT_PLURAL=Dirts + TILE_GRASS=Grass -TILE_PLANK_NORMAL=Wooden plank -TILE_PLANK_EBONY=Ebony plank -TILE_PLANK_BIRCH=Birch plank -TILE_PLANK_ROSEWOOD=Rosewood plank +TILE_GRAS_PLURALS=Grasses + +TILE_PLANK_NORMAL=Wooden planks +TILE_PLANK_NORMAL_PLURAL=Wooden planks + +TILE_PLANK_EBONY=Ebony planks +TILE_PLANK_EBONY_PLURAL=Ebony planks + +TILE_PLANK_BIRCH=Birch planks +TILE_PLANK_BIRCH_PLURAL=Birch planks + +TILE_PLANK_BLOODROSE=Rosewood planks +TILE_PLANK_BLOODROSE_PLURAL=Rosewood planks + TILE_TRUNK_NORMAL=Oak log +TILE_TRUNK_NORMAL_PLURAL=Oak logs + TILE_TRUNK_EBONY=Ebony log +TILE_TRUNK_EBONY_PLURAL=Ebony logs + TILE_TRUNK_BIRCH=Birch log -TILE_TRUNK_ROSEWOOD=Rosewood log +TILE_TRUNK_BIRCH_PLURAL=Birch logs + +TILE_TRUNK_BLOODROSE=Rosewood log +TILE_TRUNK_BLOODROSE_PLURAL=Rosewood logs + +TILE_SAND=Sand +TILE_SAND_PLURAL=Sands + +TILE_GRAVEL=Gravel +TILE_GRAVEL_PLURAL=Gravels + +TILE_ORE_MALACHITE=Malachite +TILE_ORE_MALACHITES=Malachites + +TILE_ORE_HEMATITE=Hematite +TILE_ORE_HEMATITE_PLURAL=Hematites + +TILE_ORE_NATURAL_GOLD=Natural gold +TILE_ORE_NATERAL_GOLD_PLURAL=Natural golds + +TILE_ORE_NATURAL_SILVER=Natural silver +TILE_ORE_NATURAL_SILVER_PLURAL=Natural silvers + +TILE_ORE_RUTILE=Rutile +TILE_ORE_RUTILE_PLURAL=Rutiles + +TILE_ORE_AURICHALCUMITE=Aurichalcumite +TILE_ORE_AURICHALCUMITE_PLURAL=Aurichalcumites + +TILE_GEM_RUBY=Raw ruby +TILE_GEM_RUBY_PLURAL=Raw rubies + +TILE_GEM_EMERALD=Raw emerald +TILE_GEM_EMERALD_PLURAL=Raw emeralds + +TILE_GEM_SAPPHIRE=Raw sapphire +TILE_GEM_SAPPHIRE_PLURAL=Raw sapphires + +TILE_GEM_TOPAZ=Raw topaz +TILE_GEM_TOPAZ_PLURAL=Raw topazes + +TILE_GEM_DIAMOND=Raw diamond +TILE_GEM_DIAMOND_PLURAL=Raw diamonds + +TILE_GEM_AMETHYST=Raw amethyst +TILE_GEM_AMETHYST_PLURAL=Raw amethysts TILE_SNOW=Snow +TILE_SNOW_PLURAL=Snows + TILE_ICE_FRAGILE=Thin ice +TILE_ICE_FRAGILE_PLURAL=Thin ices + TILE_ICE_NATURAL=Ice +TILE_ICE_NATURAL_PLURAL=Ices + TILE_ICE_CLEAR_MAGICAL=Clear ice +TILE_ICE_CLEAR_MAGICA_PLURALL=Clear ices +TILE_PLATFORM_STONE=Stone platform +TILE_PLATFORM_STONE_PLURAL=Stone platforms +TILE_PLATFORM_WOODEN=Wooden platform +TILE_PLATFORM_WOODEN_PLURAL=Wooden platforms + +TILE_PLATFORM_EBONY=Ebony platform +TILE_PLATFORM_EBONY_PLURAL=Ebony platforms + +TILE_PLATFORM_BIRCH=Birch platform +TILE_PLATFORM_BIRCH_PLURAL=Birch platforms + +TILE_PLATFORM_BLOODROSE=Rosewood platform +TILE_PLATFORM_BLOODROSE_PLURAL=Rosewood platforms + +TILE_TORCH=Torch +TILE_TORCH_PLURAL=Torches + +TILE_WATER=Water +TILE_WATER_PLURAL=Waters + +TILE_LAVA=Lava +TILE_LAVA_PLURAL=Lavas #################### ## Terminologies # @@ -165,4 +257,6 @@ CREDITS_POLYGLOT=Translated by the Polyglot Project. LANGUAGE_ENGLISH=English LANGUAGE_FRENCH=French +LANGUAGE_JAPANESE=Japanese +LANGUAGE_JAPANESE_KANA=Japanese (kana) LANGUAGE_KOREAN=Korean diff --git a/res/locales/fr.lang b/res/locales/fr.lang index 75b31f092..2141f8ce9 100644 --- a/res/locales/fr.lang +++ b/res/locales/fr.lang @@ -9,7 +9,8 @@ COPYRIGHT_MSG=Tous les droits sont réservés. ## Application messages # ########################### -APP_CALIBRATE_YOUR_MONITOR=Meilleure expérience de joueur peut être réalisé avec écran correctement calibré. Si vous ne l'avez pas, s.v.p. le calibrez avant de jouer. +APP_CALIBRATE_YOUR_MONITOR=Meilleure expérience de joueur peut être réalisé avec écran correctement calibré. \ + Si vous ne l'avez pas, s.v.p. le calibrez avant de jouer. @@ -97,25 +98,116 @@ GAME_INVENTORY_YOU_CANNOT_CARRY=Vous ne pouvez pas transporter plus ## Tiles # ############ -TILE_AIR=Vous n'êtes pas censé voir ce TILE_STONE=Roche +TILE_STONE_PLURAL=Roches + TILE_DIRT=Terre +TILE_DIRT_PLURAL=Terres + TILE_GRASS=Herbe +TILE_GRAS_PLURALS=Herbes + TILE_PLANK_NORMAL=Planches +TILE_PLANK_NORMAL_PLURAL=Planches + TILE_PLANK_EBONY=Planches ébène +TILE_PLANK_EBONY_PLURAL=Planches ébène + TILE_PLANK_BIRCH=Planches bouleau -TILE_PLANK_ROSEWOOD=Planches palissandre +TILE_PLANK_BIRCH_PLURAL=Planches bouleau + +TILE_PLANK_BLOODROSE=Planches palissandre +TILE_PLANK_BLOODROSE_PLURAL=Planches palissandre + TILE_TRUNK_NORMAL=Bûche +TILE_TRUNK_NORMAL_PLURAL=Bûches + TILE_TRUNK_EBONY=Bûche ébène +TILE_TRUNK_EBONY_PLURAL=Bûches ébène + TILE_TRUNK_BIRCH=Bûche bouleau -TILE_TRUNK_ROSEWOOD=Bûche rouge +TILE_TRUNK_BIRCH_PLURAL=Bûches bouleau + +TILE_TRUNK_BLOODROSE=Bûche rouge +TILE_TRUNK_BLOODROSE_PLURAL=Bûches rouge + +TILE_SAND=Sable +TILE_SAND_PLURAL=Sables + +TILE_GRAVEL=Gravier +TILE_GRAVEL_PLURAL=Graviers + +TILE_ORE_MALACHITE=Malachite +TILE_ORE_MALACHITES=Malachites + +TILE_ORE_HEMATITE=Hématite +TILE_ORE_HEMATITE_PLURAL=Hématites + +TILE_ORE_NATURAL_GOLD=Or naturel +TILE_ORE_NATERAL_GOLD_PLURAL=Ors naturels + +TILE_ORE_NATURAL_SILVER=Argent naturel +TILE_ORE_NATURAL_SILVER_PLURAL=Argents naturels + +TILE_ORE_RUTILE=Rutile +TILE_ORE_RUTILE_PLURAL=Rutiles + +TILE_ORE_AURICHALCUMITE=Aurichalquemite +TILE_ORE_AURICHALCUMITE_PLURAL=Aurichalquemites + +TILE_GEM_RUBY=Rubis brut +TILE_GEM_RUBY_PLURAL=Rubis bruts + +TILE_GEM_EMERALD=Émeraude brute +TILE_GEM_EMERALD_PLURAL=Émeraudes brutes + +TILE_GEM_SAPPHIRE=Saphir brut +TILE_GEM_SAPPHIRE_PLURAL=Saphirs bruts + +TILE_GEM_TOPAZ=Topaze brute +TILE_GEM_TOPAZ_PLURAL=Topazes brutes + +TILE_GEM_DIAMOND=Diamant brut +TILE_GEM_DIAMOND_PLURAL=Diamants bruts + +TILE_GEM_AMETHYST=Améthyste brute +TILE_GEM_AMETHYST_PLURAL=Améthystes brutes TILE_SNOW=Neige +TILE_SNOW_PLURAL=Neiges + TILE_ICE_FRAGILE=Glace mance +TILE_ICE_FRAGILE_PLURAL=Glaces mance + TILE_ICE_NATURAL=Glace +TILE_ICE_NATURAL_PLURAL=Glaces + TILE_ICE_CLEAR_MAGICAL=Glace claire +TILE_ICE_CLEAR_MAGICA_PLURALL=Glaces claire +TILE_PLATFORM_STONE=Plateforme de pierre +TILE_PLATFORM_STONE_PLURAL=plateformes de pierre +TILE_PLATFORM_WOODEN=Plateforme de planches +TILE_PLATFORM_WOODEN_PLURAL=Plateformes de planches + +TILE_PLATFORM_EBONY=Plateforme de planches ébène +TILE_PLATFORM_EBONY_PLURAL=Plateformes de planches ébène + +TILE_PLATFORM_BIRCH=Plateforme de planche bouleau +TILE_PLATFORM_BIRCH_PLURAL=Plateformes de planche bouleau + +TILE_PLATFORM_BLOODROSE=Plateforme de planche palissandre +TILE_PLATFORM_BLOODROSE_PLURAL=Plateformes de planche palissandre + +TILE_TORCH=Torche +TILE_TORCH_PLURAL=Torches + +TILE_WATER=Eau +TILE_WATER_PLURAL=Eaux + +TILE_LAVA=Lave +TILE_LAVA_PLURAL=Laves #################### ## Terminologies # @@ -137,9 +229,9 @@ DEV_COLOUR_LEGEND_BLUE= BLEU DEV_COLOUR_LEGEND_ORANGE=ORANGE DEV_COLOUR_LEGEND_RED= ROUGE -DEV_MESSAGE_CONSOLE_CODEX=Tapez «codex» pour commandes disponibles. +DEV_MESSAGE_CONSOLE_CODEX=Tapez « codex » pour commandes disponibles. DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS=Commandes disponibles : -DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN=«%1$s»: Commande inconnue +DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN=« %1$s » : Commande inconnue @@ -165,4 +257,6 @@ CREDITS_POLYGLOT=Traduit par le Polyglot Projet. LANGUAGE_ENGLISH=Anglais LANGUAGE_FRENCH=Français +LANGUAGE_JAPANESE_KANA=Japonais +LANGUAGE_JAPANESE_KANA=Japonais (kana) LANGUAGE_KOREAN=Coréen diff --git a/res/locales/jp.lang b/res/locales/jp.lang new file mode 100644 index 000000000..ff6c61a07 --- /dev/null +++ b/res/locales/jp.lang @@ -0,0 +1,262 @@ +MENU_LANGUAGE_THIS_EN=Japanese +MENU_LANGUAGE_THIS=日本語 + +COPYRIGHT_MSG=全著作権所有。 + + + +########################### +## Application messages # +########################### + +APP_CALIBRATE_YOUR_MONITOR=このゲームは適切に校正したモニターから最高のプレイができます。\ + 校正していなければプレイする前に校正して下さい。 + + + +############### +## Gameplay # +############### + +GAME_ACTION_ATTACK=Attack +GAME_ACTION_BOOST=Boost +GAME_ACTION_BUILD=Build +GAME_ACTION_CAST_FISHING=Cast +GAME_ACTION_CAST_SPELL=Cast +GAME_ACTION_CLAIM=Claim +GAME_ACTION_CLIMB=Climb +GAME_ACTION_CLOSE=Close +GAME_ACTION_COLLECT=Collect +GAME_ACTION_COOK=Cook +GAME_ACTION_CRAFT=Craft +GAME_ACTION_CROUCH=Crouch +GAME_ACTION_DODGE=Dodge +GAME_ACTION_DRIVE=Drive +GAME_ACTION_FLY=Fly +GAME_ACTION_FULL_SPEED=Full Speed +GAME_ACTION_GO=Go +GAME_ACTION_GO_TO_PLACE=Go to +GAME_ACTION_HALF_SPEED=Half Speed +GAME_ACTION_HEAL=Heal +GAME_ACTION_JUMP=Jump +GAME_ACTION_LAND=Landing +GAME_ACTION_LOOK=Look +GAME_ACTION_MIX=Mix +GAME_ACTION_OPEN=Open +GAME_ACTION_PICK_UP=Pick up +GAME_ACTION_RACE=Race +GAME_ACTION_READ=Read +GAME_ACTION_REPLACE=Replace +GAME_ACTION_RUN=Run +GAME_ACTION_RUN_AWAY=Run away +GAME_ACTION_SHOOT=Shoot +GAME_ACTION_SNEAK=Sneak +GAME_ACTION_SPIN=Spin +GAME_ACTION_SPRINT=Sprint +GAME_ACTION_STEER=Steer +GAME_ACTION_TAKE_OFF=Takeoff +GAME_ACTION_TALK=Talk +GAME_ACTION_THROW=Throw +GAME_ACTION_WALK=Walk + +GAME_CHARACTER_ENDURANCE=Endurance +GAME_CHARACTER_EXP=Experience points +GAME_CHARACTER_HEALTH=Health +GAME_CHARACTER_HEART=Heart +GAME_CHARACTER_HEART_PLURAL=Hearts +GAME_CHARACTER_LEVEL=Level +GAME_CHARACTER_LEVEL_UP=Level up! +GAME_CHARACTER_RESPAWN=Respawn +GAME_CHARACTER_RESPAWN_IN=Respawn in: +GAME_CHARACTER_RESPAWN_QUESTION=Respawn? +GAME_CHARACTER_RESPAWNING=Respawning +GAME_CHARACTER_SKILL=Skill +GAME_CHARACTER_SPAWN_POINT=Spawn Point + +GAME_INVENTORY=Inventory +GAME_INVENTORY_AMMO=Ammo +GAME_INVENTORY_AMMUNITION=Ammunition +GAME_INVENTORY_BULLET=Bullet +GAME_INVENTORY_BULLET_PLURAL=Bullets +GAME_INVENTORY_BUY=Buy +GAME_INVENTORY_CAPACITY=Inventory Capacity +GAME_INVENTORY_DROP=Drop +GAME_INVENTORY_ENCUMBRANCE=Encumbrance +GAME_INVENTORY_FULL=Inventory Full +GAME_INVENTORY_ITEM=Item +GAME_INVENTORY_KEY=Key +GAME_INVENTORY_POWERUP=Power-up +GAME_INVENTORY_SELL=Sell +GAME_INVENTORY_USE=Use +GAME_INVENTORY_WEAPON=Weapon +GAME_INVENTORY_WEAPONS=Weapons +GAME_INVENTORY_YOU_CANNOT_CARRY=You cannot carry any more. + + + +############ +## Tiles # +############ + +TILE_STONE=Stone +TILE_STONE_PLURAL=Stones + +TILE_DIRT=Dirt +TILE_DIRT_PLURAL=Dirts + +TILE_GRASS=Grass +TILE_GRAS_PLURALS=Grasses + +TILE_PLANK_NORMAL=Wooden plank +TILE_PLANK_NORMAL_PLURAL=Wooden planks + +TILE_PLANK_EBONY=Ebony plank +TILE_PLANK_EBONY_PLURAL=Ebony planks + +TILE_PLANK_BIRCH=Birch plank +TILE_PLANK_BIRCH_PLURAL=Birch planks + +TILE_PLANK_BLOODROSE=Rosewood plank +TILE_PLANK_BLOODROSE_PLURAL=Rosewood planks + +TILE_TRUNK_NORMAL=Oak log +TILE_TRUNK_NORMAL_PLURAL=Oak logs + +TILE_TRUNK_EBONY=Ebony log +TILE_TRUNK_EBONY_PLURAL=Ebony logs + +TILE_TRUNK_BIRCH=Birch log +TILE_TRUNK_BIRCH_PLURAL=Birch logs + +TILE_TRUNK_BLOODROSE=Rosewood log +TILE_TRUNK_BLOODROSE_PLURAL=Rosewood logss + +TILE_SAND=Sand +TILE_SAND_PLURAL=Sands + +TILE_GRAVEL=Gravel +TILE_GRAVEL_PLURAL=Gravels + +TILE_ORE_MALACHITE=Malachite +TILE_ORE_MALACHITES=Malachites + +TILE_ORE_HEMATITE=Hematite +TILE_ORE_HEMATITE_PLURAL=Hematites + +TILE_ORE_NATURAL_GOLD=Natural gold +TILE_ORE_NATERAL_GOLD_PLURAL=Natural golds + +TILE_ORE_NATURAL_SILVER=Natural silver +TILE_ORE_NATURAL_SILVER_PLURAL=Natural silvers + +TILE_ORE_RUTILE=Rutile +TILE_ORE_RUTILE_PLURAL=Rutiles + +TILE_ORE_AURICHALCUMITE=Aurichalcumite +TILE_ORE_AURICHALCUMITE_PLURAL=Aurichalcumites + +TILE_GEM_RUBY=Raw ruby +TILE_GEM_RUBY_PLURAL=Raw rubies + +TILE_GEM_EMERALD=Raw emerald +TILE_GEM_EMERALD_PLURAL=Raw emeralds + +TILE_GEM_SAPPHIRE=Raw sapphire +TILE_GEM_SAPPHIRE_PLURAL=Raw sapphires + +TILE_GEM_TOPAZ=Raw topaz +TILE_GEM_TOPAZ_PLURAL=Raw topazes + +TILE_GEM_DIAMOND=Raw diamond +TILE_GEM_DIAMOND_PLURAL=Raw diamonds + +TILE_GEM_AMETHYST=Raw amethyst +TILE_GEM_AMETHYST_PLURAL=Raw amethysts + +TILE_SNOW=Snow +TILE_SNOW_PLURAL=Snows + +TILE_ICE_FRAGILE=Thin ice +TILE_ICE_FRAGILE_PLURAL=Thin ices + +TILE_ICE_NATURAL=Ice +TILE_ICE_NATURAL_PLURAL=Ices + +TILE_ICE_CLEAR_MAGICAL=Clear ice +TILE_ICE_CLEAR_MAGICA_PLURALL=Clear ices + +TILE_PLATFORM_STONE=Stone platform +TILE_PLATFORM_STONE_PLURAL=Stone platforms + +TILE_PLATFORM_WOODEN=Wooden platform +TILE_PLATFORM_WOODEN_PLURAL=Wooden platforms + +TILE_PLATFORM_EBONY=Ebony platform +TILE_PLATFORM_EBONY_PLURAL=Ebony platforms + +TILE_PLATFORM_BIRCH=Birch platform +TILE_PLATFORM_BIRCH_PLURAL=Birch platforms + +TILE_PLATFORM_BLOODROSE=Rosewood platform +TILE_PLATFORM_BLOODROSE_PLURAL=Rosewood platforms + +TILE_TORCH=Torch +TILE_TORCH_PLURAL=Torches + +TILE_WATER=Water +TILE_WATER_PLURAL=Waters + +TILE_LAVA=Lava +TILE_LAVA_PLURAL=Lavas + +#################### +## Terminologies # +#################### + +TERM_PHYS_MASS=質量 + + + +########## +## Dev # +########## + +DEV_MEMORY_SHORT_CAP=メモリー +DEV_MEMORY_A_OF_B=%2$sM 中 %1$sM + +DEV_COLOUR_LEGEND_GREEN=緑 +DEV_COLOUR_LEGEND_BLUE=青 +DEV_COLOUR_LEGEND_ORANGE=黄 +DEV_COLOUR_LEGEND_RED=赤 + +DEV_MESSAGE_CONSOLE_CODEX=使用可能な命令語の目録は「codex」を入力して下さい。 +DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS=命令語の目録: +DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN=「%1$s」: 不明な命令語 + + + +############### +## Debugger # +############### + +DBG_TOTAL_ACCEL_X=total X-accel + + + +############## +## Credits # +############## + +CREDITS_POLYGLOT=Translated by the Polyglot Project. + + + +################ +## Languages # +################ + +LANGUAGE_ENGLISH=えい ご +LANGUAGE_FRENCH=フランス ご +LANGUAGE_JAPANESE=日本語 +LANGUAGE_JAPANESE_KANA=日本語・仮名 +LANGUAGE_KOREAN=かんこく ご diff --git a/res/locales/jp_kana.lang b/res/locales/jp_kana.lang new file mode 100644 index 000000000..704fe16dc --- /dev/null +++ b/res/locales/jp_kana.lang @@ -0,0 +1,262 @@ +MENU_LANGUAGE_THIS_EN=Japanese (kana) +MENU_LANGUAGE_THIS=にほんご + +COPYRIGHT_MSG=ぜん ちょさくけん しょゆう。 + + + +########################### +## Application messages # +########################### + +APP_CALIBRATE_YOUR_MONITOR=この ゲームは てきせつに こうせい した モニターから さいこうの プレイが できます。\ + こうせい して いなければ プレイする まえに こうせい して ください。 + + + +############### +## Gameplay # +############### + +GAME_ACTION_ATTACK=Attack +GAME_ACTION_BOOST=Boost +GAME_ACTION_BUILD=Build +GAME_ACTION_CAST_FISHING=Cast +GAME_ACTION_CAST_SPELL=Cast +GAME_ACTION_CLAIM=Claim +GAME_ACTION_CLIMB=Climb +GAME_ACTION_CLOSE=Close +GAME_ACTION_COLLECT=Collect +GAME_ACTION_COOK=Cook +GAME_ACTION_CRAFT=Craft +GAME_ACTION_CROUCH=Crouch +GAME_ACTION_DODGE=Dodge +GAME_ACTION_DRIVE=Drive +GAME_ACTION_FLY=Fly +GAME_ACTION_FULL_SPEED=Full Speed +GAME_ACTION_GO=Go +GAME_ACTION_GO_TO_PLACE=Go to +GAME_ACTION_HALF_SPEED=Half Speed +GAME_ACTION_HEAL=Heal +GAME_ACTION_JUMP=Jump +GAME_ACTION_LAND=Landing +GAME_ACTION_LOOK=Look +GAME_ACTION_MIX=Mix +GAME_ACTION_OPEN=Open +GAME_ACTION_PICK_UP=Pick up +GAME_ACTION_RACE=Race +GAME_ACTION_READ=Read +GAME_ACTION_REPLACE=Replace +GAME_ACTION_RUN=Run +GAME_ACTION_RUN_AWAY=Run away +GAME_ACTION_SHOOT=Shoot +GAME_ACTION_SNEAK=Sneak +GAME_ACTION_SPIN=Spin +GAME_ACTION_SPRINT=Sprint +GAME_ACTION_STEER=Steer +GAME_ACTION_TAKE_OFF=Takeoff +GAME_ACTION_TALK=Talk +GAME_ACTION_THROW=Throw +GAME_ACTION_WALK=Walk + +GAME_CHARACTER_ENDURANCE=Endurance +GAME_CHARACTER_EXP=Experience points +GAME_CHARACTER_HEALTH=Health +GAME_CHARACTER_HEART=Heart +GAME_CHARACTER_HEART_PLURAL=Hearts +GAME_CHARACTER_LEVEL=Level +GAME_CHARACTER_LEVEL_UP=Level up! +GAME_CHARACTER_RESPAWN=Respawn +GAME_CHARACTER_RESPAWN_IN=Respawn in: +GAME_CHARACTER_RESPAWN_QUESTION=Respawn? +GAME_CHARACTER_RESPAWNING=Respawning +GAME_CHARACTER_SKILL=Skill +GAME_CHARACTER_SPAWN_POINT=Spawn Point + +GAME_INVENTORY=Inventory +GAME_INVENTORY_AMMO=Ammo +GAME_INVENTORY_AMMUNITION=Ammunition +GAME_INVENTORY_BULLET=Bullet +GAME_INVENTORY_BULLET_PLURAL=Bullets +GAME_INVENTORY_BUY=Buy +GAME_INVENTORY_CAPACITY=Inventory Capacity +GAME_INVENTORY_DROP=Drop +GAME_INVENTORY_ENCUMBRANCE=Encumbrance +GAME_INVENTORY_FULL=Inventory Full +GAME_INVENTORY_ITEM=Item +GAME_INVENTORY_KEY=Key +GAME_INVENTORY_POWERUP=Power-up +GAME_INVENTORY_SELL=Sell +GAME_INVENTORY_USE=Use +GAME_INVENTORY_WEAPON=Weapon +GAME_INVENTORY_WEAPONS=Weapons +GAME_INVENTORY_YOU_CANNOT_CARRY=You cannot carry any more. + + + +############ +## Tiles # +############ + +TILE_STONE=Stone +TILE_STONE_PLURAL=Stones + +TILE_DIRT=Dirt +TILE_DIRT_PLURAL=Dirts + +TILE_GRASS=Grass +TILE_GRAS_PLURALS=Grasses + +TILE_PLANK_NORMAL=Wooden plank +TILE_PLANK_NORMAL_PLURAL=Wooden planks + +TILE_PLANK_EBONY=Ebony plank +TILE_PLANK_EBONY_PLURAL=Ebony planks + +TILE_PLANK_BIRCH=Birch plank +TILE_PLANK_BIRCH_PLURAL=Birch planks + +TILE_PLANK_BLOODROSE=Rosewood plank +TILE_PLANK_BLOODROSE_PLURAL=Rosewood planks + +TILE_TRUNK_NORMAL=Oak log +TILE_TRUNK_NORMAL_PLURAL=Oak logs + +TILE_TRUNK_EBONY=Ebony log +TILE_TRUNK_EBONY_PLURAL=Ebony logs + +TILE_TRUNK_BIRCH=Birch log +TILE_TRUNK_BIRCH_PLURAL=Birch logs + +TILE_TRUNK_BLOODROSE=Rosewood log +TILE_TRUNK_BLOODROSE_PLURAL=Rosewood logss + +TILE_SAND=Sand +TILE_SAND_PLURAL=Sands + +TILE_GRAVEL=Gravel +TILE_GRAVEL_PLURAL=Gravels + +TILE_ORE_MALACHITE=Malachite +TILE_ORE_MALACHITES=Malachites + +TILE_ORE_HEMATITE=Hematite +TILE_ORE_HEMATITE_PLURAL=Hematites + +TILE_ORE_NATURAL_GOLD=Natural gold +TILE_ORE_NATERAL_GOLD_PLURAL=Natural golds + +TILE_ORE_NATURAL_SILVER=Natural silver +TILE_ORE_NATURAL_SILVER_PLURAL=Natural silvers + +TILE_ORE_RUTILE=Rutile +TILE_ORE_RUTILE_PLURAL=Rutiles + +TILE_ORE_AURICHALCUMITE=Aurichalcumite +TILE_ORE_AURICHALCUMITE_PLURAL=Aurichalcumites + +TILE_GEM_RUBY=Raw ruby +TILE_GEM_RUBY_PLURAL=Raw rubies + +TILE_GEM_EMERALD=Raw emerald +TILE_GEM_EMERALD_PLURAL=Raw emeralds + +TILE_GEM_SAPPHIRE=Raw sapphire +TILE_GEM_SAPPHIRE_PLURAL=Raw sapphires + +TILE_GEM_TOPAZ=Raw topaz +TILE_GEM_TOPAZ_PLURAL=Raw topazes + +TILE_GEM_DIAMOND=Raw diamond +TILE_GEM_DIAMOND_PLURAL=Raw diamonds + +TILE_GEM_AMETHYST=Raw amethyst +TILE_GEM_AMETHYST_PLURAL=Raw amethysts + +TILE_SNOW=Snow +TILE_SNOW_PLURAL=Snows + +TILE_ICE_FRAGILE=Thin ice +TILE_ICE_FRAGILE_PLURAL=Thin ices + +TILE_ICE_NATURAL=Ice +TILE_ICE_NATURAL_PLURAL=Ices + +TILE_ICE_CLEAR_MAGICAL=Clear ice +TILE_ICE_CLEAR_MAGICA_PLURALL=Clear ices + +TILE_PLATFORM_STONE=Stone platform +TILE_PLATFORM_STONE_PLURAL=Stone platforms + +TILE_PLATFORM_WOODEN=Wooden platform +TILE_PLATFORM_WOODEN_PLURAL=Wooden platforms + +TILE_PLATFORM_EBONY=Ebony platform +TILE_PLATFORM_EBONY_PLURAL=Ebony platforms + +TILE_PLATFORM_BIRCH=Birch platform +TILE_PLATFORM_BIRCH_PLURAL=Birch platforms + +TILE_PLATFORM_BLOODROSE=Rosewood platform +TILE_PLATFORM_BLOODROSE_PLURAL=Rosewood platforms + +TILE_TORCH=Torch +TILE_TORCH_PLURAL=Torches + +TILE_WATER=Water +TILE_WATER_PLURAL=Waters + +TILE_LAVA=Lava +TILE_LAVA_PLURAL=Lavas + +#################### +## Terminologies # +#################### + +TERM_PHYS_MASS=しつりょう + + + +########## +## Dev # +########## + +DEV_MEMORY_SHORT_CAP=メモリー +DEV_MEMORY_A_OF_B=%2$sM ちゅう %1$sM + +DEV_COLOUR_LEGEND_GREEN= みどり +DEV_COLOUR_LEGEND_BLUE=  あお +DEV_COLOUR_LEGEND_ORANGE=オレンジ +DEV_COLOUR_LEGEND_RED=  あか + +DEV_MESSAGE_CONSOLE_CODEX=しよう かのうな めいれいご の もくろく は 「codex」を にゅうりょく して ください。 +DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS=めいれいご の もくろく: +DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN=「%1$s」: ふめいな めいれいご + + + +############### +## Debugger # +############### + +DBG_TOTAL_ACCEL_X=total X-accel + + + +############## +## Credits # +############## + +CREDITS_POLYGLOT=Translated by the Polyglot Project. + + + +################ +## Languages # +################ + +LANGUAGE_ENGLISH=えい ご +LANGUAGE_FRENCH=フランス ご +LANGUAGE_JAPANESE=にほんご +LANGUAGE_JAPANESE_KANA=にほんご・かな +LANGUAGE_KOREAN=かんこく ご diff --git a/res/locales/ko.lang b/res/locales/ko.lang index 83a075c7b..ca7afbdbc 100755 --- a/res/locales/ko.lang +++ b/res/locales/ko.lang @@ -9,7 +9,8 @@ COPYRIGHT_MSG=모든 권리 보유. ## Application messages # ########################### -APP_CALIBRATE_YOUR_MONITOR=본 게임은 적절히 보정된 모니터에서 최상으로 즐길 수 있습니다. 모니터를 보정하지 않았다면 플레이하기 전에 보정해 주십시오. +APP_CALIBRATE_YOUR_MONITOR=본 게임은 적절히 보정된 모니터에서 최상으로 즐길 수 있습니다. \ + 보정하지 않았다면 플레이하기 전에 보정해 주십시오. @@ -97,24 +98,116 @@ GAME_INVENTORY_YOU_CANNOT_CARRY=더 지닐 수 없습니다. ## Tiles # ############ -TILE_AIR=이게 보이면 안 되는데 말입니다 TILE_STONE=돌 +TILE_STONE_PLURAL=돌 + TILE_DIRT=흙 +TILE_DIRT_PLURAL=흙 + TILE_GRASS=잔디 +TILE_GRAS_PLURALS=잔디 + TILE_PLANK_NORMAL=나무판자 +TILE_PLANK_NORMAL_PLURAL=나무판자 + TILE_PLANK_EBONY=흑단 +TILE_PLANK_EBONY_PLURAL=흑단 + TILE_PLANK_BIRCH=백단 -TILE_PLANK_ROSEWOOD=자단 +TILE_PLANK_BIRCH_PLURAL=백단 + +TILE_PLANK_BLOODROSE=자단 +TILE_PLANK_BLOODROSE_PLURAL=자단 + TILE_TRUNK_NORMAL=통나무 +TILE_TRUNK_NORMAL_PLURAL=통나무 + TILE_TRUNK_EBONY=흑단나무 -TILE_TRUNK_BIRCH=자작나무 -TILE_TRUNK_ROSEWOOD=자단나무 +TILE_TRUNK_EBONY_PLURAL=흑단나무 + +TILE_TRUNK_BIRCH=백단나무 +TILE_TRUNK_BIRCH_PLURAL=백단나무 + +TILE_TRUNK_BLOODROSE=자단나무 +TILE_TRUNK_BLOODROSE_PLURAL=자단나무 + +TILE_SAND=모래 +TILE_SAND_PLURAL=모래 + +TILE_GRAVEL=자갈 +TILE_GRAVEL_PLURAL=자갈 + +TILE_ORE_MALACHITE=공작석 +TILE_ORE_MALACHITES=공작석 + +TILE_ORE_HEMATITE=적철석 +TILE_ORE_HEMATITE_PLURAL=적철석 + +TILE_ORE_NATURAL_GOLD=자연금 +TILE_ORE_NATERAL_GOLD_PLURAL=자연금 + +TILE_ORE_NATURAL_SILVER=자연은 +TILE_ORE_NATURAL_SILVER_PLURAL=자연은 + +TILE_ORE_RUTILE=금홍석 +TILE_ORE_RUTILE_PLURAL=금홍석 + +TILE_ORE_AURICHALCUMITE=진금석 +TILE_ORE_AURICHALCUMITE_PLURAL=진금석 + +TILE_GEM_RUBY=홍옥석 +TILE_GEM_RUBY_PLURAL=홍옥석 + +TILE_GEM_EMERALD=취옥석 +TILE_GEM_EMERALD_PLURAL=취옥석 + +TILE_GEM_SAPPHIRE=청옥석 +TILE_GEM_SAPPHIRE_PLURAL=청옥석 + +TILE_GEM_TOPAZ=황옥석 +TILE_GEM_TOPAZ_PLURAL=황옥석 + +TILE_GEM_DIAMOND=금강석 +TILE_GEM_DIAMOND_PLURAL=금강석 + +TILE_GEM_AMETHYST=자수정석 +TILE_GEM_AMETHYST_PLURAL=자수정석 TILE_SNOW=눈 -TILE_ICE_FRAGILE=살얼음 -TILE_ICE_NATURAL=얼음 -TILE_ICE_CLEAR_MAGICAL=깨끗한 얼음 +TILE_SNOW_PLURAL=눈 +TILE_ICE_FRAGILE=살얼음 +TILE_ICE_FRAGILE_PLURAL=살얼음 + +TILE_ICE_NATURAL=얼음 +TILE_ICE_NATURAL_PLURAL=얼음 + +TILE_ICE_CLEAR_MAGICAL=깨끗한 얼음 +TILE_ICE_CLEAR_MAGICA_PLURALL=깨끗한 얼음 + +TILE_PLATFORM_STONE=돌 발판 +TILE_PLATFORM_STONE_PLURAL=돌 발판 + +TILE_PLATFORM_WOODEN=나무 발판 +TILE_PLATFORM_WOODEN_PLURAL=나무 발판 + +TILE_PLATFORM_EBONY=흑단 발판 +TILE_PLATFORM_EBONY_PLURAL=흑단 발판 + +TILE_PLATFORM_BIRCH=백단 발판 +TILE_PLATFORM_BIRCH_PLURAL=백단 발판 + +TILE_PLATFORM_BLOODROSE=적단 발판 +TILE_PLATFORM_BLOODROSE_PLURAL=적단 발판 + +TILE_TORCH=횃불 +TILE_TORCH_PLURAL=횃불 + +TILE_WATER=물 +TILE_WATER_PLURAL=물 + +TILE_LAVA=용암 +TILE_LAVA_PLURAL=용암 #################### ## Terminologies # @@ -131,10 +224,10 @@ TERM_PHYS_MASS=질량 DEV_MEMORY_SHORT_CAP=메모리 DEV_MEMORY_A_OF_B=%2$sM 중 %1$sM -DEV_COLOUR_LEGEND_GREEN= 녹 -DEV_COLOUR_LEGEND_BLUE= 청 -DEV_COLOUR_LEGEND_ORANGE= 황 -DEV_COLOUR_LEGEND_RED= 적 +DEV_COLOUR_LEGEND_GREEN=녹 +DEV_COLOUR_LEGEND_BLUE=청 +DEV_COLOUR_LEGEND_ORANGE=황 +DEV_COLOUR_LEGEND_RED=적 DEV_MESSAGE_CONSOLE_CODEX=사용 가능한 명령어 목록을 보려면 'codex'를 입력해 주십시오. DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS=명령어 목록: @@ -164,4 +257,6 @@ CREDITS_POLYGLOT=번역 제공: Polyglot Project LANGUAGE_ENGLISH=영어 LANGUAGE_FRENCH=프랑스어 +LANGUAGE_JAPANESE=일본어 +LANGUAGE_JAPANESE_KANA=일본어 (가나) LANGUAGE_KOREAN=한국어 diff --git a/src/com/Torvald/ImageFont/GameFontBase.java b/src/com/Torvald/ImageFont/GameFontBase.java index e65872e2e..ca8d6eb9b 100644 --- a/src/com/Torvald/ImageFont/GameFontBase.java +++ b/src/com/Torvald/ImageFont/GameFontBase.java @@ -257,9 +257,7 @@ public class GameFontBase implements Font { + getWidth(s.substring(0, i)) ) , Math.round(y) - - ((prevInstance == SHEET_KANA) ? 2 - : (prevInstance == SHEET_CJK_PUNCT) ? - 1 : 0) + - ((prevInstance == SHEET_CJK_PUNCT) ? 1 : 0) , sheetX , sheetY ); diff --git a/src/com/Torvald/Terrarum/Actors/Faction/Faction.java b/src/com/Torvald/Terrarum/Actors/Faction/Faction.java index a2fe90545..3060054fb 100644 --- a/src/com/Torvald/Terrarum/Actors/Faction/Faction.java +++ b/src/com/Torvald/Terrarum/Actors/Faction/Faction.java @@ -21,6 +21,14 @@ public class Faction { factionFearful = new HashSet<>(); } + public String getFactionName() { + return factionName; + } + + public void renewFactionName(String factionName) { + this.factionName = factionName; + } + public HashSet getFactionFearful() { return factionFearful; } diff --git a/src/com/Torvald/Terrarum/Actors/PBFSigrid.java b/src/com/Torvald/Terrarum/Actors/PBFSigrid.java index c1ffeb875..077a96f7f 100644 --- a/src/com/Torvald/Terrarum/Actors/PBFSigrid.java +++ b/src/com/Torvald/Terrarum/Actors/PBFSigrid.java @@ -1,14 +1,22 @@ package com.Torvald.Terrarum.Actors; +import com.Torvald.JsonFetcher; +import com.Torvald.Terrarum.Actors.Faction.Faction; import com.Torvald.Terrarum.Game; import com.Torvald.spriteAnimation.SpriteAnimation; +import com.google.gson.JsonObject; +import org.lwjgl.Sys; import org.newdawn.slick.SlickException; +import java.io.IOException; + /** * Created by minjaesong on 16-02-03. */ public class PBFSigrid { + private static String FACTION_PATH = "./res/raw/"; + public Player build() throws SlickException { Player p = new Player(); @@ -60,7 +68,36 @@ public class PBFSigrid { p.setPosition(4096 * 16, 300 * 16); + p.assignFaction(loadFactioningData("FactionSigrid.json")); + return p; } + private Faction loadFactioningData(String filename) { + JsonObject jsonObject = null; + try { + jsonObject = JsonFetcher.readJson(FACTION_PATH + filename); + } + catch (IOException e) { + e.printStackTrace(); + System.exit(-1); + } + + Faction faction = new Faction(jsonObject.get("factionname").getAsString()); + + jsonObject.get("factionamicable").getAsJsonArray().forEach( + jobj -> faction.addFactionAmicable(jobj.getAsString()) + ); + jsonObject.get("factionneutral").getAsJsonArray().forEach( + jobj -> faction.addFactionNeutral(jobj.getAsString()) + ); + jsonObject.get("factionhostile").getAsJsonArray().forEach( + jobj -> faction.addFactionHostile(jobj.getAsString()) + ); + jsonObject.get("factionfearful").getAsJsonArray().forEach( + jobj -> faction.addFactionFearful(jobj.getAsString()) + ); + + return faction; + } } diff --git a/src/com/Torvald/Terrarum/Actors/Player.java b/src/com/Torvald/Terrarum/Actors/Player.java index 716073420..961ea3dcf 100644 --- a/src/com/Torvald/Terrarum/Actors/Player.java +++ b/src/com/Torvald/Terrarum/Actors/Player.java @@ -67,6 +67,9 @@ public class Player extends ActorWithBody implements Controllable, Pocketed, Fac @Override public void update(GameContainer gc, int delta_t) { + if (vehicleRiding instanceof Player) throw new RuntimeException("Attempted to 'ride' " + + "player object."); + updatePhysicalInfos(); super.update(gc, delta_t); diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java index 49bbcbdc7..77d011cb7 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java @@ -28,6 +28,8 @@ public class CommandDict { dict.put("cat", new CatStdout()); dict.put("exportav", new ExportAV()); dict.put("gsontest", new GsonTest()); + dict.put("setgl", new SetGlobalLightLevel()); + dict.put("getfaction", new GetFactioning()); } public static ConsoleCommand getCommand(String commandName) { diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.java b/src/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.java new file mode 100644 index 000000000..0db7f6b13 --- /dev/null +++ b/src/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.java @@ -0,0 +1,55 @@ +package com.Torvald.Terrarum.ConsoleCommand; + +import com.Torvald.Terrarum.Actors.Faction.Faction; +import com.Torvald.Terrarum.LangPack.Lang; +import com.Torvald.Terrarum.Terrarum; + +import java.util.HashSet; + +/** + * Created by minjaesong on 16-02-17. + */ +public class GetFactioning implements ConsoleCommand { + + private final String PRINT_INDENTATION = " --> "; + + @Override + public void execute(String[] args) { + Echo echo = new Echo(); + + if (args.length == 1) { // get all factioning data of player + HashSet factionSet = Terrarum.game.getPlayer().getAssignedFactions(); + + int count = factionSet.size(); + echo.execute(String.valueOf(count) + Lang.pluralise(" faction", count) + " assigned."); + + for (Faction faction : factionSet) { + echo.execute("Faction \"" + faction.getFactionName() + "\""); + echo.execute(" Amicable"); + faction.getFactionAmicable().forEach( + s -> echo.execute(PRINT_INDENTATION + s) + ); + + echo.execute(" Explicit neutral"); + faction.getFactionNeutral().forEach( + s -> echo.execute(PRINT_INDENTATION + s) + ); + + echo.execute(" Hostile"); + faction.getFactionHostile().forEach( + s -> echo.execute(PRINT_INDENTATION + s) + ); + + echo.execute(" Fearful"); + faction.getFactionFearful().forEach( + s -> echo.execute(PRINT_INDENTATION + s) + ); + } + } + } + + @Override + public void printUsage() { + + } +} diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.java b/src/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.java new file mode 100644 index 000000000..c7d3d02df --- /dev/null +++ b/src/com/Torvald/Terrarum/ConsoleCommand/SetGlobalLightLevel.java @@ -0,0 +1,33 @@ +package com.Torvald.Terrarum.ConsoleCommand; + +import com.Torvald.Terrarum.Terrarum; + +/** + * Created by minjaesong on 16-02-17. + */ +public class SetGlobalLightLevel implements ConsoleCommand { + @Override + public void execute(String[] args) { + if (args.length == 4) { + try { + int r = new Integer(args[1]); + int g = new Integer(args[2]); + int b = new Integer(args[3]); + int GL = (r << 16) | (g << 8) | b; + + Terrarum.game.map.setGlobalLight(GL); + } + catch (NumberFormatException e) { + new Echo().execute("Wrong number input."); + } + } + else{ + printUsage(); + } + } + + @Override + public void printUsage() { + new Echo().execute("Usage: setgl r g b"); + } +} diff --git a/src/com/Torvald/Terrarum/LangPack/Lang.java b/src/com/Torvald/Terrarum/LangPack/Lang.java index e7aba7a68..b05889892 100644 --- a/src/com/Torvald/Terrarum/LangPack/Lang.java +++ b/src/com/Torvald/Terrarum/LangPack/Lang.java @@ -4,6 +4,7 @@ import com.Torvald.Terrarum.Terrarum; import java.io.*; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.Properties; /** @@ -15,6 +16,26 @@ public class Lang { private static Properties langFallback; private static final String FALLBACK_LANG_CODE = "en"; + private static final int HANGUL_SYL_START = 0xAC00; + + private static final int[] HANGUL_POST_INDEX_ALPH = { // 0: 는, 가, ... 1: 은, 이, ... + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + private static final int[] HANGUL_POST_RO_INDEX_ALPH = { // 0: 로 1: 으로 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + + private static String[] ENGLISH_WORD_NORMAL_PLURAL = { + "photo" + }; + + private static String[] FRENCH_WORD_NORMAL_PLURAL = { + "bal" + , "banal" + , "fatal" + , "final" + }; + public Lang() throws IOException { lang = new Properties(); lang.load(new BufferedReader(new InputStreamReader(new FileInputStream( @@ -23,6 +44,8 @@ public class Lang { langFallback = new Properties(); langFallback.load(new BufferedReader(new InputStreamReader(new FileInputStream( "res/locales/" + FALLBACK_LANG_CODE + ".lang"), StandardCharsets.UTF_8))); + + Arrays.sort(ENGLISH_WORD_NORMAL_PLURAL); } public static String get(String key) { @@ -32,4 +55,83 @@ public class Lang { ); } + public static String pluraliseLang(String key, int count) { + return (count > 1) ? get(key + "_PLURAL") : get(key); + } + + public static String pluralise(String word, int count) { + if (count < 2) return word; + + switch (Terrarum.gameLocale) { + case ("fr"): + if (Arrays.binarySearch(FRENCH_WORD_NORMAL_PLURAL, word) >= 0) { + return word + "s"; + } + if (word.endsWith("al") || word.endsWith("au") || word.endsWith("eu") || word + .endsWith("eau")) { + return word.substring(0, word.length() - 2) + "ux"; + } + else if (word.endsWith("ail")) { + return word.substring(0, word.length() - 3) + "ux"; + } + else { + return word + "s"; + } + case ("en"): default: + if (Arrays.binarySearch(ENGLISH_WORD_NORMAL_PLURAL, word) >= 0) { + return word + "s"; + } + else if (word.endsWith("f")) { // f -> ves + return word.substring(0, word.length() - 2) + "ves"; + } + else if (word.endsWith("o") || word.endsWith("z")) { // o -> oes + return word + "es"; + } + else { + return word + "s"; + } + } + } + + public static String postEunNeun(String word) { + char lastChar = getLastChar(word); + + if (isHangul(lastChar)) { + int index = lastChar - HANGUL_SYL_START; + return (index % 28 == 0) ? word + "는" : word + "은"; + } + else if ((lastChar >= 'A' && lastChar <= 'Z') + || (lastChar >= 'a' && lastChar <= 'z')) { + int index = (lastChar - 0x41) % 0x20; + return (HANGUL_POST_INDEX_ALPH[index] == 0) ? word + "는" : word + "은"; + } + else { + return "은(는)"; + } + } + + public static String postIiGa(String word) { + char lastChar = getLastChar(word); + + if (isHangul(lastChar)) { + int index = lastChar - HANGUL_SYL_START; + return (index % 28 == 0) ? word + "가" : word + "이"; + } + else if ((lastChar >= 'A' && lastChar <= 'Z') + || (lastChar >= 'a' && lastChar <= 'z')) { + int index = (lastChar - 0x41) % 0x20; + return (HANGUL_POST_INDEX_ALPH[index] == 0) ? word + "가" : word + "이"; + } + else { + return "이(가)"; + } + } + + private static boolean isHangul(char c) { + return (c >= 0xAC00 && c <= 0xD7A3); + } + + private static char getLastChar(String s) { + return s.charAt(s.length() - 1); + } } diff --git a/src/com/Torvald/Terrarum/Terrarum.java b/src/com/Torvald/Terrarum/Terrarum.java index 9b85ba88e..b06bef8ac 100644 --- a/src/com/Torvald/Terrarum/Terrarum.java +++ b/src/com/Torvald/Terrarum/Terrarum.java @@ -8,7 +8,6 @@ import java.util.logging.Logger; import com.Torvald.ImageFont.GameFontWhite; import com.Torvald.Terrarum.LangPack.Lang; import org.lwjgl.input.Controllers; -import org.lwjgl.opengl.DisplayMode; import org.newdawn.slick.*; import org.newdawn.slick.state.StateBasedGame; @@ -42,7 +41,7 @@ public class Terrarum extends StateBasedGame { public static String defaultDir; public static String defaultSaveDir; - public static String gameLocale = "ko"; + public static String gameLocale = "jp_kana"; public static Font gameFontWhite; diff --git a/src/com/Torvald/Terrarum/TileProperties/propdata.csv b/src/com/Torvald/Terrarum/TileProperties/propdata.csv index 2e72b6385..92b07e07f 100644 --- a/src/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/src/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -21,7 +21,7 @@ "17";"TILE_ORE_NATURAL_GOLD" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "17"; "0";"16" "18";"TILE_ORE_NATURAL_SILVER" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "18"; "0";"16" "19";"TILE_ORE_RUTILE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "19"; "0";"16" - "20";"TILE_ORE_NATURAL_AURICHALCUM"; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "20"; "0";"16" + "20";"TILE_ORE_AURICHALCUMITE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "20"; "0";"16" "21";"TILE_GEM_RUBY" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "21"; "0";"16" "22";"TILE_GEM_EMERALD" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "22"; "0";"16" "23";"TILE_GEM_SAPPHIRE" ; "32"; "25"; "0"; "N/A"; "1"; "0"; "0"; "23"; "0";"16" @@ -42,5 +42,5 @@ "36";"TILE_TORCH" ; "0"; "0"; "0"; "N/A"; "0"; "0";"16777215"; "36"; "0";"16" -"239";"TILE_WATER" ; "16"; "100"; "1"; "2"; "0"; "0";"15464447"; "239"; "0";"16" +"239";"TILE_WATER" ; "16"; "100"; "1"; "2"; "0"; "0";"15464447"; "239"; "0";"16" "255";"TILE_LAVA" ; "0"; "100"; "1"; "2"; "0"; "0"; "8397312"; "239"; "0";"16" diff --git a/src/com/Torvald/spriteAnimation/SpriteAnimation.java b/src/com/Torvald/spriteAnimation/SpriteAnimation.java index 5cd7ec35e..51b8fec3e 100644 --- a/src/com/Torvald/spriteAnimation/SpriteAnimation.java +++ b/src/com/Torvald/spriteAnimation/SpriteAnimation.java @@ -150,8 +150,8 @@ public class SpriteAnimation { flippedImage.startUse(); flippedImage.drawEmbedded( - FastMath.floor(posX * Terrarum.game.screenZoom) - , FastMath.floor(posY * Terrarum.game.screenZoom) + Math.round(posX * Terrarum.game.screenZoom) + , Math.round(posY * Terrarum.game.screenZoom) , FastMath.floor(width * scale) , FastMath.floor(height * scale) );