mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-05-02 13:49:58 -07:00
Functions and fields are cached, part names added, part name language support added.
This commit is contained in:
+25
-21
@@ -1,11 +1,14 @@
|
||||
local config = {};
|
||||
local table_helpers;
|
||||
local language;
|
||||
|
||||
config.current_config = nil;
|
||||
config.config_file_name = "MHR Overlay/config.json";
|
||||
|
||||
config.default_config = {
|
||||
global_settings = {
|
||||
language = "en-us",
|
||||
|
||||
module_visibility = {
|
||||
during_quest = {
|
||||
small_monster_UI = true,
|
||||
@@ -29,7 +32,7 @@ config.default_config = {
|
||||
damage_meter_UI = true
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
font = {
|
||||
family = "Consolas",
|
||||
size = 13,
|
||||
@@ -552,7 +555,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
parts = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 0,
|
||||
@@ -565,7 +568,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
settings = {
|
||||
hide_undamaged_parts = true,
|
||||
hide_undamaged_parts = false,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
@@ -578,7 +581,7 @@ config.default_config = {
|
||||
text = "%s",
|
||||
|
||||
include = {
|
||||
part_name = false,
|
||||
part_name = true,
|
||||
break_count = true
|
||||
},
|
||||
|
||||
@@ -586,7 +589,7 @@ config.default_config = {
|
||||
x = 15,
|
||||
y = 61
|
||||
},
|
||||
color = 0xF1F4A3CC,
|
||||
color = 0xFFf9d9ff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
@@ -603,7 +606,7 @@ config.default_config = {
|
||||
text = "HP:",
|
||||
offset = {
|
||||
x = -15,
|
||||
y = 71
|
||||
y = 69
|
||||
},
|
||||
color = 0xF1F4A3CC,
|
||||
|
||||
@@ -622,7 +625,7 @@ config.default_config = {
|
||||
text = "%.0f/%.0f", -- current_health/max_health
|
||||
offset = {
|
||||
x = 55,
|
||||
y = 78
|
||||
y = 74
|
||||
},
|
||||
color = 0xFFFFFFFF,
|
||||
|
||||
@@ -637,12 +640,12 @@ config.default_config = {
|
||||
},
|
||||
|
||||
percentage_label = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
text = "%5.1f%%",
|
||||
|
||||
offset = {
|
||||
x = 145,
|
||||
y = 78
|
||||
y = 74
|
||||
},
|
||||
color = 0xFFFFFFFF,
|
||||
|
||||
@@ -660,7 +663,7 @@ config.default_config = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 10,
|
||||
y = 78
|
||||
y = 75
|
||||
},
|
||||
|
||||
size = {
|
||||
@@ -669,7 +672,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xF4D0A3CC,
|
||||
foreground = 0xB9ca85cc,
|
||||
background = 0x88000000
|
||||
}
|
||||
}
|
||||
@@ -971,9 +974,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
parts = {
|
||||
visibility = true,
|
||||
|
||||
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 0,
|
||||
@@ -999,7 +1000,7 @@ config.default_config = {
|
||||
text = "%s",
|
||||
|
||||
include = {
|
||||
part_name = false,
|
||||
part_name = true,
|
||||
break_count = true
|
||||
},
|
||||
|
||||
@@ -1007,7 +1008,7 @@ config.default_config = {
|
||||
x = 15,
|
||||
y = 61
|
||||
},
|
||||
color = 0xF1F4A3CC,
|
||||
color = 0xFFf9d9ff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
@@ -1024,7 +1025,7 @@ config.default_config = {
|
||||
text = "HP:",
|
||||
offset = {
|
||||
x = -15,
|
||||
y = 71
|
||||
y = 69
|
||||
},
|
||||
color = 0xF1F4A3CC,
|
||||
|
||||
@@ -1043,7 +1044,7 @@ config.default_config = {
|
||||
text = "%.0f/%.0f", -- current_health/max_health
|
||||
offset = {
|
||||
x = 55,
|
||||
y = 78
|
||||
y = 74
|
||||
},
|
||||
color = 0xFFFFFFFF,
|
||||
|
||||
@@ -1063,7 +1064,7 @@ config.default_config = {
|
||||
|
||||
offset = {
|
||||
x = 145,
|
||||
y = 78
|
||||
y = 74
|
||||
},
|
||||
color = 0xFFFFFFFF,
|
||||
|
||||
@@ -1081,7 +1082,7 @@ config.default_config = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 10,
|
||||
y = 78
|
||||
y = 75
|
||||
},
|
||||
|
||||
size = {
|
||||
@@ -1090,7 +1091,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xF4D0A3CC,
|
||||
foreground = 0xB9ca85cc,
|
||||
background = 0x88000000
|
||||
}
|
||||
}
|
||||
@@ -1347,7 +1348,10 @@ end
|
||||
|
||||
function config.init_module()
|
||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
|
||||
config.load();
|
||||
language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false));
|
||||
config.current_config.version = "v1.7";
|
||||
end
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
local language = {};
|
||||
local table_helpers;
|
||||
|
||||
language.current_language = {};
|
||||
|
||||
language.language_names = {};
|
||||
language.languages = {};
|
||||
|
||||
language.language_folder = "MHR Overlay\\languages\\";
|
||||
|
||||
language.default_language = {
|
||||
parts = {
|
||||
head = "Head",
|
||||
neck = "Neck",
|
||||
body = "Body",
|
||||
torso = "Torso",
|
||||
abdomen = "Abdomen",
|
||||
back = "Back",
|
||||
tail = "Tail",
|
||||
|
||||
upper_body = "Upper Body",
|
||||
lower_body = "Lower Body",
|
||||
|
||||
upper_back = "Upper Back",
|
||||
lower_back = "Lower Back",
|
||||
|
||||
left_wing = "Wing L",
|
||||
right_wing = "Wing R",
|
||||
wings = "Wings",
|
||||
|
||||
left_leg = "Leg L",
|
||||
right_leg = "Leg R",
|
||||
legs = "Legs",
|
||||
left_legs = "Legs L",
|
||||
right_legs = "Legs R",
|
||||
|
||||
left_arm = "Arm L",
|
||||
right_arm = "Arm R",
|
||||
arms = "Arms",
|
||||
|
||||
left_arm_ice = "Arm L (Ice)",
|
||||
right_arm_ice = "Arm R (Ice)",
|
||||
|
||||
left_cutwing = "Cutwing L",
|
||||
right_cutwing = "Cutwing R",
|
||||
|
||||
head_mud = "Head (Mud)",
|
||||
tail_mud = "Tail (Mud)",
|
||||
|
||||
tail_windsac = "Tail (Windsac)",
|
||||
chest_windsac = "Chest (Windsac)",
|
||||
back_windsac = "Back (Windsac)",
|
||||
|
||||
large_mudbulb = "Large Mudbulb",
|
||||
mane = "Mane",
|
||||
rear = "Rear",
|
||||
claw = "Claw",
|
||||
dorsal_fin = "Dorsal Fin",
|
||||
carapace = "Carapace",
|
||||
spinning = "Spinning",
|
||||
rock = "Rock"
|
||||
}
|
||||
};
|
||||
|
||||
function language.load()
|
||||
local language_files = fs.glob([[MHR Overlay\\languages\\.*json]]);
|
||||
|
||||
if language_files == nil then
|
||||
return;
|
||||
end
|
||||
|
||||
for i, language_file in ipairs(language_files) do
|
||||
local language_name = language_file:gsub(language.language_folder, ""):gsub(".json", "");
|
||||
|
||||
-- v will be something like `my-cool-mod\config-file-1.json`;
|
||||
local loaded_language = json.load_file(language.language_folder .. "en-us.json");
|
||||
if loaded_language ~= nil then
|
||||
log.info("[MHR Overlay] " .. language_name .. ".json loaded successfully");
|
||||
table.insert(language.language_names, language_name);
|
||||
table.insert(language.languages, loaded_language);
|
||||
else
|
||||
log.error("[MHR Overlay] Failed to load " .. language_name .. ".json");
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
function language.save_default()
|
||||
-- save current config to disk, replacing any existing file
|
||||
local success = json.dump_file(language.language_folder .. "en-us.json", language.default_language);
|
||||
if success then
|
||||
log.info('[MHR Overlay] en-us.json saved successfully');
|
||||
else
|
||||
log.error('[MHR Overlay] Failed to save en-us.json');
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function language.update(index)
|
||||
language.current_language = table_helpers.deep_copy(language.languages[index]);
|
||||
end
|
||||
|
||||
function language.init_module()
|
||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||
language.save_default();
|
||||
language.load();
|
||||
end
|
||||
|
||||
return language;
|
||||
@@ -0,0 +1,476 @@
|
||||
local part_names = {};
|
||||
local language;
|
||||
local table_helpers;
|
||||
|
||||
part_names.list = {};
|
||||
|
||||
function part_names.init()
|
||||
part_names.list = {
|
||||
[98] = -- Great Izuchi+ 98
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.tail,
|
||||
},
|
||||
[54] = -- Great Baggi+ 54
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[107] = -- Kulu-Ya-Ku+ 107 boulders are cut out
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.rock,
|
||||
language.current_language.parts.rock
|
||||
},
|
||||
[59] = -- Great Wroggi+ 59
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[60] = -- Arzuros+ 60 Unknown parts
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.upper_body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.rear,
|
||||
language.current_language.parts.lower_body
|
||||
},
|
||||
[61] = -- Lagombi+ 61
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.upper_body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.rear,
|
||||
language.current_language.parts.lower_body
|
||||
},
|
||||
[62] = -- Volvidon+ 62
|
||||
{
|
||||
language.current_language.parts.upper_back,
|
||||
language.current_language.parts.upper_body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.lower_back,
|
||||
language.current_language.parts.lower_body,
|
||||
language.current_language.parts.spinning
|
||||
},
|
||||
[91] = -- Aknosom+ 91
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.neck,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.legs
|
||||
},
|
||||
[47] = -- Royal Ludroth+ 47
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.mane,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.left_legs,
|
||||
language.current_language.parts.right_legs,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[44] = -- Barroth+ 44
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[3] = -- Khezu+ 3
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.neck,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[92] = -- Tetranadon+ 92
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.carapace,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[90] = -- Bishaten+ 90
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[102] = -- Pukei-Pukei+ 102
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[108] = -- Jyuratodus+ 108 missing mud parts
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.head_mud,
|
||||
language.current_language.parts.tail_mud
|
||||
},
|
||||
[4] = -- Basarios+ 4
|
||||
{
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.abdomen,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[93] = -- Somnacanth+ 93
|
||||
{
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.neck,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[1] = -- Rathian+ 1
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[42] = -- Barioth+ 42
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[109] = -- Tobi-Kadachi+ 109
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.legs,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[89] = -- Magnamalo+ 89
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.legs
|
||||
},
|
||||
[100] = -- Anjanath+ 100 (missing parts)
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing
|
||||
},
|
||||
[37] = -- Nargacuga+ 37
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_cutwing,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_cutwing,
|
||||
language.current_language.parts.right_leg
|
||||
},
|
||||
[82] = -- Mizutsune+ 82
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.dorsal_fin
|
||||
},
|
||||
[97] = -- Goss Harag+ 97
|
||||
{
|
||||
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.left_arm_ice,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.right_arm_ice,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.body
|
||||
},
|
||||
[2] = -- Rathalos+ 2
|
||||
{
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.neck,
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[95] = -- Almudron+ 95
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.large_mudbulb,
|
||||
language.current_language.parts.large_mudbulb,
|
||||
},
|
||||
[57] = -- Zinogre+ 57
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[32] = -- Tigrex+ 32
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[7] = -- Diablos+ 7
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[94] = -- Rakna-Kadaki+ 94 (?)
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.claw,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.abdomen,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm -- mb abdomen_cocooned)
|
||||
},
|
||||
[24] = -- Kushala Daora+ 24
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.wings,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[25] = -- Chameleos+ 25
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.abdomen,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.wings
|
||||
},
|
||||
[27] = -- Teostra+ 27
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.legs,
|
||||
language.current_language.parts.wings,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[23] = -- Rajang+ 23
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[118] = -- Bazelgeuse+ 118
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.legs,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[96] = -- Wind Serpent Ibushi+ 96 (missing parts)
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.torso,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.tail_windsac,
|
||||
language.current_language.parts.chest_windsac,
|
||||
language.current_language.parts.back_windsac
|
||||
},
|
||||
[99] = -- Thunder Serpent Narwa+ 99 (no parts?)
|
||||
{},
|
||||
[1379] = -- Narwa the Allmother+ 1379 (no parts?)
|
||||
{},
|
||||
[1366] = -- Crimson Glow Valstrax+ 1366
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.legs,
|
||||
language.current_language.parts.chest_windsac
|
||||
},
|
||||
[1852] = -- Apex Arzuros+ 1852
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.upper_body,
|
||||
language.current_language.parts.arms,
|
||||
language.current_language.parts.rear,
|
||||
language.current_language.parts.lower_body
|
||||
},
|
||||
[1793] = -- Apex Rathian+ 1793
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[1874] = -- Apex Mizutsune+ 1874
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.tail,
|
||||
language.current_language.parts.dorsal_fin
|
||||
},
|
||||
[1794] = -- Apex Rathalos+ 1794
|
||||
{
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.neck,
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[1799] = -- Apex Diablos+ 1799
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.left_wing,
|
||||
language.current_language.parts.right_wing,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
},
|
||||
[1849] = -- Apex Zinogre+ 1849
|
||||
{
|
||||
language.current_language.parts.head,
|
||||
language.current_language.parts.body,
|
||||
language.current_language.parts.back,
|
||||
language.current_language.parts.left_arm,
|
||||
language.current_language.parts.right_arm,
|
||||
language.current_language.parts.left_leg,
|
||||
language.current_language.parts.right_leg,
|
||||
language.current_language.parts.tail
|
||||
}
|
||||
};
|
||||
end
|
||||
|
||||
function part_names.get_part_name(monster_id, part_id)
|
||||
|
||||
local monster_parts = part_names.list[monster_id];
|
||||
if monster_parts == nil then
|
||||
return "";
|
||||
end
|
||||
|
||||
local part_name = monster_parts[part_id];
|
||||
if part_name == nil then
|
||||
return "";
|
||||
end
|
||||
|
||||
return part_name;
|
||||
end
|
||||
|
||||
function part_names.init_module()
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||
|
||||
part_names.init();
|
||||
end
|
||||
|
||||
return part_names;
|
||||
@@ -62,82 +62,18 @@ function table_helpers.merge(...)
|
||||
end
|
||||
|
||||
function table_helpers.tostring(table)
|
||||
local cache, stack, output = {}, {}, {};
|
||||
local depth = 1;
|
||||
local output_string = "{\n";
|
||||
|
||||
while true do
|
||||
local size = 0;
|
||||
for key, value in pairs(table) do
|
||||
size = size + 1;
|
||||
end
|
||||
|
||||
local current_index = 1;
|
||||
for key, value in pairs(table) do
|
||||
if (cache[table] == nil) or (current_index >= cache[table]) then
|
||||
|
||||
if (string.find(output_string, "}", output_string:len())) then
|
||||
output_string = output_string .. ",\n";
|
||||
elseif not (string.find(output_string, "\n",output_string:len())) then
|
||||
output_string = output_string .. "\n";
|
||||
end
|
||||
|
||||
-- This is necessary for working with HUGE tables otherwise we run out of memory using concat on huge strings
|
||||
table.insert(output, output_string);
|
||||
output_string = "";
|
||||
|
||||
local key;
|
||||
if (type(key) == "number" or type(key) == "boolean") then
|
||||
key = "[" .. tostring(key) .. "]";
|
||||
else
|
||||
key = "['" .. tostring(key) .. "']";
|
||||
end
|
||||
|
||||
if (type(value) == "number" or type(value) == "boolean") then
|
||||
output_string = output_string .. string.rep('\t', depth) .. key .. " = " .. tostring(value);
|
||||
elseif (type(value) == "table") then
|
||||
output_string = output_string .. string.rep('\t', depth) .. key .. " = {\n";
|
||||
table.insert(stack, table);
|
||||
table.insert(stack, value);
|
||||
cache[table] = current_index + 1;
|
||||
break
|
||||
else
|
||||
output_string = output_string .. string.rep('\t', depth) .. key .. " = '" .. tostring(value) .. "'";
|
||||
end
|
||||
|
||||
if (current_index == size) then
|
||||
output_string = output_string .. "\n" .. string.rep('\t', depth - 1) .. "}";
|
||||
else
|
||||
output_string = output_string .. ",";
|
||||
end
|
||||
else
|
||||
-- close the table
|
||||
if (current_index == size) then
|
||||
output_string = output_string .. "\n" .. string.rep('\t', depth - 1) .. "}";
|
||||
end
|
||||
if type(table) == 'table' then
|
||||
local s = '{ \n';
|
||||
for k,v in pairs(table) do
|
||||
if type(k) ~= 'number' then
|
||||
k = '"' .. k .. '"';
|
||||
end
|
||||
|
||||
current_index = current_index + 1;
|
||||
end
|
||||
|
||||
if (size == 0) then
|
||||
output_string = output_string .. "\n" .. string.rep('\t', depth - 1) .. "}";
|
||||
end
|
||||
|
||||
if (#stack > 0) then
|
||||
table = stack[#stack];
|
||||
stack[#stack] = nil;
|
||||
depth = cache[table] == nil and depth + 1 or depth - 1;
|
||||
else
|
||||
break;
|
||||
s = s .. '\t['..k..'] = ' .. table_helpers.tostring(v) .. ',\n';
|
||||
end
|
||||
return s .. '} \n';
|
||||
else
|
||||
return tostring(table);
|
||||
end
|
||||
|
||||
-- This is necessary for working with HUGE tables otherwise we run out of memory using concat on huge strings
|
||||
table.insert(output, output_string);
|
||||
output_string = table.concat(output);
|
||||
|
||||
return output_string;
|
||||
end
|
||||
|
||||
function table_helpers.init_module()
|
||||
|
||||
Reference in New Issue
Block a user