Skip to content

Commit

Permalink
Localization and interface fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelMoroz committed Jul 12, 2019
1 parent f5d5a66 commit e2acdcb
Show file tree
Hide file tree
Showing 16 changed files with 275 additions and 45 deletions.
4 changes: 3 additions & 1 deletion game_folder/assets/config.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#Screenshot width
2560
#Screenshot height
1440
1440
#Language(write name in English)
English
Binary file added game_folder/levels/Asteroid_Extreme.lvl
Binary file not shown.
Binary file added game_folder/levels/First_Kaizo.lvl
Binary file not shown.
Binary file added game_folder/levels/Platform_Extreme.lvl
Binary file not shown.
7 changes: 6 additions & 1 deletion game_folder/locals/English.loc
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
#English
English
#font_1
Orbitron-Bold.ttf
#font_2
Inconsolata-Bold.ttf
#Marble_Marcher
Marble Marcher
Marble
Marcher
#Play
Play
#Levels
Expand Down
7 changes: 6 additions & 1 deletion game_folder/locals/Polish.loc
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
#Polish
Polski
#font_1
Roboto-Bold.ttf
#font_2
Roboto-Regular.ttf
#Marble_Marcher
Marble Marcher
Marble
Marcher
#Play
Graj
#Levels
Expand Down
188 changes: 188 additions & 0 deletions game_folder/locals/Russian.loc
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
#font_1
Roboto-Bold.ttf
#font_2
Roboto-Regular.ttf
#Ukrainian
Українська
#Marble_Marcher
Marble
Marcher
#Play
Грати
#Levels
Рівні
#Controls
Керування
#Settings
Налаштування
#Exit
Вихід
#OK
OK
#Yes
Так
#No
Ні
#Best_time
Найкращий час
#Edit
Редагувати
#Remove
Видалити
#You_sure
Ви впевнені?
#Graphics
Графіка
#MM_about_short
Marble Marcher Community Edition
#MM_about_long
Marble Marcher Community Edition.
Оригінал зроблений CodeParade.
Музика PettyTheft.

Команда розробки Community Edition:
Michael Moroz(michael0884)
WAUthethird
Bryce AS202313
Selicre

Перекладачі:
KaMa2 - польська мова
Michael Moroz - англійська, українська та російська
#Window
Вікно
#Button
Кнопка
#Screen_Saver
Заставка
#Back2Main
Назад в Головне Меню
#CreateNewLvl
Створити новий рівень
#About
©2019 CodeParade 1.3.0 beta, Community Edition
Музика PettyTheft
#DetailControls
Котитися WASD or Arrows
Камера Mouse
Приближення Scroll Wheel
Перезапуск рівня R or Right-Click
Пауза Esc
#Back
Назад
#Paused
Пауза
#Continue
Продовжити
#Restart
Перезапустити рівень
#Quit
Вийти
#Music
Музика
#On
Включено
#Off
Виключено
#High
Висока
#Medium
Середня
#Low
Низька
#CongratsEnd
Вітаю, ти пройшов всі рівні!



Твоя нагорода - розблоковані чіти!
Ти можеш активувати їх за допомогою F1 під час гри.
Дякую за те що грали!
#CongratsMid
Непогано - непогано...



Але це тільки початок.
Якщо ти потребуєш паузи, то можеш зробити її зараз.
Наступні рівні будуть набагато складнішими...
#CheatsON
Чіти включені
#CheatsInfo
[ C ] Зміна кольору
[ F ] Режим вільної камери
[ G ] Сила тяжіння
[ H ] Режим гіпершвидкості
[ I ] Ігнорувати ціль(флаг)
[ M ] Виключити рух фрактала
[ P ] Включити режим планети
[ Z ] Режим зміни розміру кульки
[ 1 - 9 ] Зміна параметрів фрактала
#Statistics
Статистика
#Marble_velocity
Швидкість кульки
#Marble_position
Розташування кульки
#Settings
Налаштування
#Sun_direction
Напрямок сонця
#Shadows
Тіні
#Reflection_Refraction
Відбивання та заломлення
#Glass
Скло
#Metal
Метал
#Marble_type
Тип кульки
#Mouse_sensitivity
Чутливість мишки
#Wheel_sensitivity
Чутливість колеса мишки
#Music_volume
Гучність музики
#Target_FPS
Цільовий FPS
#Camera_size
Розмір камери
#Camera_speed_free
Швидкість камери(режим вільної камери)
#Level_Name
Назва рівня
#Level_Description
Опис рівня
#Save
Запам'ятати рівень
#Set_Marble
Поставити кульку
#Set_Marble_help
Натисність на фрактал щоб поставити
#Set_Flag
Поставити флаг
#Flag_Position
Розташування флага
#Marble_Position
Розташування кульки
#Marble_scale
Радіус кульки(масштаб)
#Level_music
Музика рівня
#Play_Music
Ввімкнути/вимкнути музику
#None
Нічого
#Fractal_Iterations
Кількість ітерації фрактала
#Fractal_Scale
Масштаб фрактала
#Fractal_Angle1
Кут 1 фрактала
#Fractal_Angle2
Кут 2 фрактала
#Fractal_Shift
Зсув фрактала
#Fractal_Color
Колір фрактала
9 changes: 7 additions & 2 deletions game_folder/locals/Ukrainian.loc
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
#Ukrainian
Українська
#font_1
Roboto-Bold.ttf
#font_2
Roboto-Regular.ttf
#Marble_Marcher
Marble Marcher
Marble
Marcher
#Play
Грати
#Levels
Expand Down Expand Up @@ -70,7 +75,7 @@ Michael Moroz - англійська, українська та російськ
#Continue
Продовжити
#Restart
Перезапустити рівень
Перезапуск
#Quit
Вийти
#Music
Expand Down
1 change: 0 additions & 1 deletion game_folder/screenshots/readme.txt

This file was deleted.

23 changes: 18 additions & 5 deletions src/Gamemodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,16 +116,31 @@ void OpenLevelMenu(Scene* scene, Overlays* overlays)
for (int i = 0; i < scene->levels.GetLevelNum(); i++)
{
Box lvlbtton(wsize.x*0.95f - 60, 60);
Box lvltext(500, 60);
lvltext.SetBackgroundColor(sf::Color::Transparent);
Box lvltitle(500, 40);
lvltitle.SetBackgroundColor(sf::Color::Transparent);
Text lvlname(utf8_to_wstring(names[i]), LOCAL("default"), 35, sf::Color::White);
Text lvldescr(utf8_to_wstring(desc[i]), LOCAL("default"), 18, sf::Color::White);
lvlname.hoverstate.color_main = sf::Color(255, 0, 0, 255);
lvlname.SetCallbackFunction([scene, selected = ids[i]](sf::RenderWindow * window, InputState & state)
{
PlayLevel(scene, window, selected);
});
lvlbtton.AddObject(&lvlname, Object::Allign::LEFT);

Box buttons(120, 60);
lvltitle.AddObject(&lvlname, Object::Allign::LEFT);
lvltext.AddObject(&lvltitle, Object::Allign::LEFT);
lvltext.AddObject(&lvldescr, Object::Allign::LEFT);
lvlbtton.AddObject(&lvltext, Object::Allign::LEFT);


Box lvlscore(500, 40);
lvlscore.SetBackgroundColor(sf::Color::Transparent);
Text lvlscorev("--:-- TODO", LOCAL("default"), 35, sf::Color::White);
lvlscorev.SetBackgroundColor(sf::Color::Green);
lvlscore.AddObject(&lvlscorev, Object::Allign::CENTER);
lvlbtton.AddObject(&lvlscore, Object::Allign::LEFT);

Box buttons(120, 60);
Box bedit(60, 60);
bedit.defaultstate.color_main = sf::Color(255, 255, 255, 255);
bedit.hoverstate.color_main = sf::Color(0, 255, 0, 255);
Expand All @@ -151,8 +166,6 @@ void OpenLevelMenu(Scene* scene, Overlays* overlays)

lvlbtton.AddObject(&buttons, Object::Allign::RIGHT);

Text lvldescr(utf8_to_wstring(desc[i]), LOCAL("default"), 35, sf::Color::White);

levels.AddObject(&lvlbtton, Object::Allign::LEFT);
}

Expand Down
21 changes: 10 additions & 11 deletions src/Interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,9 @@ void Object::SetWidth(float x)

void Object::SetBackgroundColor(sf::Color color)
{
defaultstate.color_main = color;
activestate.color_main = color;
hoverstate.color_main = color;
}

void Object::SetBorderColor(sf::Color color)
Expand Down Expand Up @@ -287,10 +290,10 @@ void Object::Draw(sf::RenderWindow * window, InputState& state)

void Object::Update(sf::RenderWindow * window, InputState& state)
{
window->setView(used_view);
sf::Vector2f worldPos = window->mapPixelToCoords(sf::Vector2i(state.mouse_pos.x, state.mouse_pos.y));
sf::FloatRect obj(curstate.position.x, curstate.position.y, curstate.size.x, curstate.size.y);
worldPos = window->mapPixelToCoords(sf::Vector2i(state.mouse_pos.x, state.mouse_pos.y));
obj= sf::FloatRect(curstate.position.x, curstate.position.y, curstate.size.x, curstate.size.y);

window->setView(used_view);
state.mouse_speed = window->mapPixelToCoords(sf::Vector2i(state.mouse_pos.x, state.mouse_pos.y)) -
window->mapPixelToCoords(sf::Vector2i(state.mouse_prev.x, state.mouse_prev.y));

Expand Down Expand Up @@ -335,11 +338,8 @@ void Object::Update(sf::RenderWindow * window, InputState& state)

void Object::UpdateAction(sf::RenderWindow * window, InputState & state)
{
sf::Vector2f worldPos = window->mapPixelToCoords(sf::Vector2i(state.mouse_pos.x, state.mouse_pos.y));
sf::FloatRect obj(curstate.position.x, curstate.position.y, curstate.size.x, curstate.size.y);

state.mouse_speed = window->mapPixelToCoords(sf::Vector2i(state.mouse_pos.x, state.mouse_pos.y)) -
window->mapPixelToCoords(sf::Vector2i(state.mouse_prev.x, state.mouse_prev.y));
window->mapPixelToCoords(sf::Vector2i(state.mouse_prev.x, state.mouse_prev.y));

curmode = DEFAULT;
//if mouse is inside the object
Expand Down Expand Up @@ -536,7 +536,7 @@ void Box::Draw(sf::RenderWindow * window, InputState& state)
break;
case CENTER:
obj.get()->SetPosition(curstate.position.x + defaultstate.size.x * 0.5f - obj_width * 0.5f, curstate.position.y + cur_shift_y);
cur_shift_y += old_line_height + curstate.margin;
cur_shift_y += ((tries==0)?line_height:old_line_height) + curstate.margin;
line_height = 0;
cur_shift_x1 = curstate.margin;
cur_shift_x2 = curstate.margin;
Expand All @@ -549,7 +549,7 @@ void Box::Draw(sf::RenderWindow * window, InputState& state)
}
else
{
cur_shift_y += old_line_height + curstate.margin;
cur_shift_y += ((tries == 0) ? line_height : old_line_height) + curstate.margin;
line_height = 0;
cur_shift_x1 = curstate.margin;
cur_shift_x2 = curstate.margin;
Expand Down Expand Up @@ -646,8 +646,7 @@ void Text::Draw(sf::RenderWindow * window, InputState& state)
text.setOutlineColor(ToColor(curstate.color_border));

window->draw(text);

SetSize(text.getLocalBounds().width, text.getLocalBounds().height);
SetSize(text.getLocalBounds().width+ text.getLocalBounds().left, text.getLocalBounds().height+ text.getLocalBounds().top);
}

Text::Text(sf::Text t)
Expand Down
3 changes: 3 additions & 0 deletions src/Interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@ class Object
bool static_object;
bool limiter;

sf::Vector2f worldPos;
sf::FloatRect obj;

int id;
};

Expand Down
Loading

0 comments on commit e2acdcb

Please sign in to comment.