Added code battles button to the main menu

master
krzys-h 2015-09-10 20:20:24 +02:00
parent 74cee19c09
commit 20105d09ec
14 changed files with 188 additions and 132 deletions

View File

@ -68,6 +68,9 @@ msgstr ""
msgid "User levels" msgid "User levels"
msgstr "" msgstr ""
msgid "Code battles"
msgstr ""
msgid "Options" msgid "Options"
msgstr "" msgstr ""
@ -89,7 +92,10 @@ msgstr ""
msgid " Planets:" msgid " Planets:"
msgstr "" msgstr ""
msgid " User levels:" msgid " Custom levels:"
msgstr ""
msgid " Levels in this chapter:"
msgstr "" msgstr ""
msgid " Exercises in the chapter:" msgid " Exercises in the chapter:"
@ -104,9 +110,6 @@ msgstr ""
msgid " Free game on this planet:" msgid " Free game on this planet:"
msgstr "" msgstr ""
msgid " Missions on this level:"
msgstr ""
msgid " Summary:" msgid " Summary:"
msgstr "" msgstr ""
@ -309,7 +312,10 @@ msgstr ""
msgid "Free game\\Free game without a specific goal" msgid "Free game\\Free game without a specific goal"
msgstr "" msgstr ""
msgid "User\\User levels" msgid "Code battles\\Program your robot to be the best of them all!"
msgstr ""
msgid "Custom levels\\Levels from mods created by the users"
msgstr "" msgstr ""
msgid "Change player\\Change player" msgid "Change player\\Change player"
@ -572,9 +578,6 @@ msgstr ""
msgid "OK\\Choose the selected player" msgid "OK\\Choose the selected player"
msgstr "" msgstr ""
msgid "Cancel\\Keep current player name"
msgstr ""
msgid "Delete player\\Deletes the player from the list" msgid "Delete player\\Deletes the player from the list"
msgstr "" msgstr ""

View File

@ -26,6 +26,10 @@ msgstr " Liste der Challenges des Kapitels:"
msgid " Chapters:" msgid " Chapters:"
msgstr " Liste der Kapitel:" msgstr " Liste der Kapitel:"
#, fuzzy
msgid " Custom levels:"
msgstr " Userlevels:"
msgid " Drivers:" msgid " Drivers:"
msgstr " Driver:" msgstr " Driver:"
@ -35,8 +39,9 @@ msgstr " Liste der Übungen des Kapitels:"
msgid " Free game on this planet:" msgid " Free game on this planet:"
msgstr " Liste der freien Levels des Planeten:" msgstr " Liste der freien Levels des Planeten:"
msgid " Missions on this level:" #, fuzzy
msgstr " Missionen des Userlevels:" msgid " Levels in this chapter:"
msgstr " Liste der Übungen des Kapitels:"
msgid " Missions on this planet:" msgid " Missions on this planet:"
msgstr " Liste der Missionen des Planeten:" msgstr " Liste der Missionen des Planeten:"
@ -50,9 +55,6 @@ msgstr " Auflösung:"
msgid " Summary:" msgid " Summary:"
msgstr " Zusammenfassung:" msgstr " Zusammenfassung:"
msgid " User levels:"
msgstr " Userlevels:"
msgid " or " msgid " or "
msgstr " oder " msgstr " oder "
@ -371,9 +373,6 @@ msgstr "Abbrechen"
msgid "Cancel\\Cancel all changes" msgid "Cancel\\Cancel all changes"
msgstr "Abbrechen\\Editor schließen" msgstr "Abbrechen\\Editor schließen"
msgid "Cancel\\Keep current player name"
msgstr "Abbrechen\\Behält den bisherigen Spieler bei"
msgid "Challenges" msgid "Challenges"
msgstr "Challenges" msgstr "Challenges"
@ -408,6 +407,12 @@ msgstr "Schließen"
msgid "Closing bracket missing " msgid "Closing bracket missing "
msgstr "Es fehlt eine geschlossene Klammer \")\"" msgstr "Es fehlt eine geschlossene Klammer \")\""
msgid "Code battles"
msgstr ""
msgid "Code battles\\Program your robot to be the best of them all!"
msgstr ""
msgid "Colobot rules!" msgid "Colobot rules!"
msgstr "Colobot ist wunderbar!" msgstr "Colobot ist wunderbar!"
@ -445,6 +450,9 @@ msgstr "Kopieren (Ctrl+c)"
msgid "Current mission saved" msgid "Current mission saved"
msgstr "Mission gespeichert" msgstr "Mission gespeichert"
msgid "Custom levels\\Levels from mods created by the users"
msgstr ""
msgid "Customize your appearance" msgid "Customize your appearance"
msgstr "Aussehen einstellen" msgstr "Aussehen einstellen"
@ -1643,9 +1651,6 @@ msgstr "Joystick\\Joystick oder Tastatur"
msgid "User levels" msgid "User levels"
msgstr "Userlevels" msgstr "Userlevels"
msgid "User\\User levels"
msgstr "User\\Userlevels"
msgid "Variable name missing" msgid "Variable name missing"
msgstr "Es fehlt der Name einer Variable" msgstr "Es fehlt der Name einer Variable"
@ -1862,12 +1867,18 @@ msgstr "www.epsitec.com"
#~ msgid " " #~ msgid " "
#~ msgstr " " #~ msgstr " "
#~ msgid " Missions on this level:"
#~ msgstr " Missionen des Userlevels:"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "3D-Geräusche\\Orten der Geräusche im Raum" #~ msgstr "3D-Geräusche\\Orten der Geräusche im Raum"
#~ msgid "COLOBOT" #~ msgid "COLOBOT"
#~ msgstr "COLOBOT" #~ msgstr "COLOBOT"
#~ msgid "Cancel\\Keep current player name"
#~ msgstr "Abbrechen\\Behält den bisherigen Spieler bei"
#~ msgid "Compass" #~ msgid "Compass"
#~ msgstr "Kompass" #~ msgstr "Kompass"
@ -1929,5 +1940,8 @@ msgstr "www.epsitec.com"
#~ msgid "Textures\\Quality of textures " #~ msgid "Textures\\Quality of textures "
#~ msgstr "Qualität der Texturen\\Qualität der Anzeige" #~ msgstr "Qualität der Texturen\\Qualität der Anzeige"
#~ msgid "User\\User levels"
#~ msgstr "User\\Userlevels"
#~ msgid "\\Return to COLOBOT" #~ msgid "\\Return to COLOBOT"
#~ msgstr "\\Zurück zu COLOBOT" #~ msgstr "\\Zurück zu COLOBOT"

View File

@ -22,6 +22,10 @@ msgstr " Liste des défis du chapitre :"
msgid " Chapters:" msgid " Chapters:"
msgstr " Liste des chapitres :" msgstr " Liste des chapitres :"
#, fuzzy
msgid " Custom levels:"
msgstr " Niveaux supplémentaires :"
msgid " Drivers:" msgid " Drivers:"
msgstr " Pilotes :" msgstr " Pilotes :"
@ -31,8 +35,9 @@ msgstr " Liste des exercices du chapitre :"
msgid " Free game on this planet:" msgid " Free game on this planet:"
msgstr " Liste des jeux libres du chapitre :" msgstr " Liste des jeux libres du chapitre :"
msgid " Missions on this level:" #, fuzzy
msgstr " Missions du niveau :" msgid " Levels in this chapter:"
msgstr " Liste des exercices du chapitre :"
msgid " Missions on this planet:" msgid " Missions on this planet:"
msgstr " Liste des missions du chapitre :" msgstr " Liste des missions du chapitre :"
@ -46,9 +51,6 @@ msgstr " Résolutions :"
msgid " Summary:" msgid " Summary:"
msgstr " Résumé :" msgstr " Résumé :"
msgid " User levels:"
msgstr " Niveaux supplémentaires :"
msgid " or " msgid " or "
msgstr " ou " msgstr " ou "
@ -366,9 +368,6 @@ msgstr "Annuler"
msgid "Cancel\\Cancel all changes" msgid "Cancel\\Cancel all changes"
msgstr "Annuler\\Annuler toutes les modifications" msgstr "Annuler\\Annuler toutes les modifications"
msgid "Cancel\\Keep current player name"
msgstr "Annuler\\Conserver le joueur actuel"
msgid "Challenges" msgid "Challenges"
msgstr "Défis" msgstr "Défis"
@ -403,6 +402,12 @@ msgstr "Fermer"
msgid "Closing bracket missing " msgid "Closing bracket missing "
msgstr "Il manque une parenthèse fermante" msgstr "Il manque une parenthèse fermante"
msgid "Code battles"
msgstr ""
msgid "Code battles\\Program your robot to be the best of them all!"
msgstr ""
msgid "Colobot rules!" msgid "Colobot rules!"
msgstr "Colobot est super!" msgstr "Colobot est super!"
@ -440,6 +445,9 @@ msgstr "Copier (Ctrl+c)"
msgid "Current mission saved" msgid "Current mission saved"
msgstr "Enregistrement effectué" msgstr "Enregistrement effectué"
msgid "Custom levels\\Levels from mods created by the users"
msgstr ""
msgid "Customize your appearance" msgid "Customize your appearance"
msgstr "Personnalisation de votre apparence" msgstr "Personnalisation de votre apparence"
@ -1638,9 +1646,6 @@ msgstr "Utilise un joystick\\Joystick ou clavier"
msgid "User levels" msgid "User levels"
msgstr "Niveaux supplémentaires" msgstr "Niveaux supplémentaires"
msgid "User\\User levels"
msgstr "Suppl.\\Niveaux supplémentaires"
msgid "Variable name missing" msgid "Variable name missing"
msgstr "Nom d'une variable attendu" msgstr "Nom d'une variable attendu"
@ -1858,12 +1863,18 @@ msgstr "www.epsitec.com"
#~ msgid " " #~ msgid " "
#~ msgstr " " #~ msgstr " "
#~ msgid " Missions on this level:"
#~ msgstr " Missions du niveau :"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace" #~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace"
#~ msgid "COLOBOT" #~ msgid "COLOBOT"
#~ msgstr "COLOBOT" #~ msgstr "COLOBOT"
#~ msgid "Cancel\\Keep current player name"
#~ msgstr "Annuler\\Conserver le joueur actuel"
#~ msgid "Compass" #~ msgid "Compass"
#~ msgstr "Boussole" #~ msgstr "Boussole"
@ -1925,5 +1936,8 @@ msgstr "www.epsitec.com"
#~ msgid "Textures\\Quality of textures " #~ msgid "Textures\\Quality of textures "
#~ msgstr "Qualité des textures\\Qualité des images" #~ msgstr "Qualité des textures\\Qualité des images"
#~ msgid "User\\User levels"
#~ msgstr "Suppl.\\Niveaux supplémentaires"
#~ msgid "\\Return to COLOBOT" #~ msgid "\\Return to COLOBOT"
#~ msgstr "\\Retourner dans COLOBOT" #~ msgstr "\\Retourner dans COLOBOT"

View File

@ -27,6 +27,9 @@ msgstr " Wyzwania w tym rozdziale:"
msgid " Chapters:" msgid " Chapters:"
msgstr " Rozdziały:" msgstr " Rozdziały:"
msgid " Custom levels:"
msgstr " Własne poziomy:"
msgid " Drivers:" msgid " Drivers:"
msgstr " Sterowniki:" msgstr " Sterowniki:"
@ -36,8 +39,8 @@ msgstr " Ćwiczenia w tym rozdziale:"
msgid " Free game on this planet:" msgid " Free game on this planet:"
msgstr " Swobodna gra na tej planecie:" msgstr " Swobodna gra na tej planecie:"
msgid " Missions on this level:" msgid " Levels in this chapter:"
msgstr " Misje na tym poziomie:" msgstr " Poziomy w tym rozdziale:"
msgid " Missions on this planet:" msgid " Missions on this planet:"
msgstr " Misje na tej planecie:" msgstr " Misje na tej planecie:"
@ -51,9 +54,6 @@ msgstr " Rozdzielczość:"
msgid " Summary:" msgid " Summary:"
msgstr " Streszczenie:" msgstr " Streszczenie:"
msgid " User levels:"
msgstr " Poziomy użytkownika:"
msgid " or " msgid " or "
msgstr " lub " msgstr " lub "
@ -376,9 +376,6 @@ msgstr "Anuluj"
msgid "Cancel\\Cancel all changes" msgid "Cancel\\Cancel all changes"
msgstr "Anuluj\\Pomija wszystkie zmiany" msgstr "Anuluj\\Pomija wszystkie zmiany"
msgid "Cancel\\Keep current player name"
msgstr "Anuluj\\Zachowuje bieżące imię gracza"
msgid "Challenges" msgid "Challenges"
msgstr "Wyzwania" msgstr "Wyzwania"
@ -412,6 +409,12 @@ msgstr "Zamknij"
msgid "Closing bracket missing " msgid "Closing bracket missing "
msgstr "Brak nawiasu zamykającego" msgstr "Brak nawiasu zamykającego"
msgid "Code battles"
msgstr ""
msgid "Code battles\\Program your robot to be the best of them all!"
msgstr ""
msgid "Colobot rules!" msgid "Colobot rules!"
msgstr "Colobot rządzi!" msgstr "Colobot rządzi!"
@ -448,6 +451,9 @@ msgstr "Kopiuj (Ctrl+C)"
msgid "Current mission saved" msgid "Current mission saved"
msgstr "Bieżąca misja zapisana" msgstr "Bieżąca misja zapisana"
msgid "Custom levels\\Levels from mods created by the users"
msgstr "Własne poziomy\\Poziomy z modyfikacji stworzonych przez użytkowników"
msgid "Customize your appearance" msgid "Customize your appearance"
msgstr "Dostosuj wygląd" msgstr "Dostosuj wygląd"
@ -1356,9 +1362,8 @@ msgstr "Pokaż rozwiązanie"
msgid "Sign \" : \" missing" msgid "Sign \" : \" missing"
msgstr "Brak znaku \" :\"" msgstr "Brak znaku \" :\""
#, fuzzy
msgid "Simple shadows\\Shadows spots on the ground" msgid "Simple shadows\\Shadows spots on the ground"
msgstr "Proste cienie\\Cienie na ziemi" msgstr "Proste cienie\\Proste cienie na ziemi"
msgid "Size 1" msgid "Size 1"
msgstr "Wielkość 1" msgstr "Wielkość 1"
@ -1638,9 +1643,6 @@ msgstr "Używaj joysticka\\Joystick lub klawiatura"
msgid "User levels" msgid "User levels"
msgstr "Poziomy użytkownika" msgstr "Poziomy użytkownika"
msgid "User\\User levels"
msgstr "Poziomy\\Poziomy użytkownika"
msgid "Variable name missing" msgid "Variable name missing"
msgstr "Brak nazwy zmiennej" msgstr "Brak nazwy zmiennej"
@ -1857,6 +1859,9 @@ msgstr "www.epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków" #~ msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków"
#~ msgid "Cancel\\Keep current player name"
#~ msgstr "Anuluj\\Zachowuje bieżące imię gracza"
#~ msgid "Compass" #~ msgid "Compass"
#~ msgstr "Kompas" #~ msgstr "Kompas"

View File

@ -24,6 +24,10 @@ msgstr " Задачи к главе:"
msgid " Chapters:" msgid " Chapters:"
msgstr " Разделы:" msgstr " Разделы:"
#, fuzzy
msgid " Custom levels:"
msgstr " Пользовательские уровни:"
msgid " Drivers:" msgid " Drivers:"
msgstr " Драйверы:" msgstr " Драйверы:"
@ -33,8 +37,9 @@ msgstr " Упражнения в разделе:"
msgid " Free game on this planet:" msgid " Free game on this planet:"
msgstr " Свободная игра на этой планете:" msgstr " Свободная игра на этой планете:"
msgid " Missions on this level:" #, fuzzy
msgstr " Миссии на этом уровне:" msgid " Levels in this chapter:"
msgstr " Упражнения в разделе:"
msgid " Missions on this planet:" msgid " Missions on this planet:"
msgstr "Миссии на этой планете:" msgstr "Миссии на этой планете:"
@ -48,9 +53,6 @@ msgstr " Разрешение:"
msgid " Summary:" msgid " Summary:"
msgstr " Итог:" msgstr " Итог:"
msgid " User levels:"
msgstr " Пользовательские уровни:"
msgid " or " msgid " or "
msgstr " или " msgstr " или "
@ -366,9 +368,6 @@ msgstr "Отмена"
msgid "Cancel\\Cancel all changes" msgid "Cancel\\Cancel all changes"
msgstr "Отмена\\Отменить все изменения" msgstr "Отмена\\Отменить все изменения"
msgid "Cancel\\Keep current player name"
msgstr "Отмена\\Отмена"
msgid "Challenges" msgid "Challenges"
msgstr "Задания" msgstr "Задания"
@ -403,6 +402,12 @@ msgstr "Закрыть"
msgid "Closing bracket missing " msgid "Closing bracket missing "
msgstr "Закрывающая скобка отсутствует" msgstr "Закрывающая скобка отсутствует"
msgid "Code battles"
msgstr ""
msgid "Code battles\\Program your robot to be the best of them all!"
msgstr ""
msgid "Colobot rules!" msgid "Colobot rules!"
msgstr "Правила игры!" msgstr "Правила игры!"
@ -439,6 +444,9 @@ msgstr "Копировать (Ctrl+C)"
msgid "Current mission saved" msgid "Current mission saved"
msgstr "Текущая миссия сохранена" msgstr "Текущая миссия сохранена"
msgid "Custom levels\\Levels from mods created by the users"
msgstr ""
msgid "Customize your appearance" msgid "Customize your appearance"
msgstr "Настроить свой внешний вид" msgstr "Настроить свой внешний вид"
@ -1635,9 +1643,6 @@ msgstr "Использовать джойстик\\Джойстик или кл
msgid "User levels" msgid "User levels"
msgstr "Пользовательские уровни" msgstr "Пользовательские уровни"
msgid "User\\User levels"
msgstr "Польз.\\Пользовательские уровни"
msgid "Variable name missing" msgid "Variable name missing"
msgstr "Нет имени переменной" msgstr "Нет имени переменной"
@ -1854,12 +1859,18 @@ msgstr "www.epsitec.com"
#~ msgid " " #~ msgid " "
#~ msgstr " " #~ msgstr " "
#~ msgid " Missions on this level:"
#~ msgstr " Миссии на этом уровне:"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "3D-звук\\Стерео звук" #~ msgstr "3D-звук\\Стерео звук"
#~ msgid "COLOBOT" #~ msgid "COLOBOT"
#~ msgstr "КОЛОБОТ" #~ msgstr "КОЛОБОТ"
#~ msgid "Cancel\\Keep current player name"
#~ msgstr "Отмена\\Отмена"
#~ msgid "Compass" #~ msgid "Compass"
#~ msgstr "Компас" #~ msgstr "Компас"
@ -1921,5 +1932,8 @@ msgstr "www.epsitec.com"
#~ msgid "Textures\\Quality of textures " #~ msgid "Textures\\Quality of textures "
#~ msgstr "Текстуры\\Качество текстур " #~ msgstr "Текстуры\\Качество текстур "
#~ msgid "User\\User levels"
#~ msgstr "Польз.\\Пользовательские уровни"
#~ msgid "\\Return to COLOBOT" #~ msgid "\\Return to COLOBOT"
#~ msgstr "\\Вернуться в COLOBOT" #~ msgstr "\\Вернуться в COLOBOT"

View File

@ -167,6 +167,7 @@ void InitializeEventTypeTexts()
EVENT_TYPE_TEXT[EVENT_INTERFACE_DEFI] = "EVENT_INTERFACE_DEFI"; EVENT_TYPE_TEXT[EVENT_INTERFACE_DEFI] = "EVENT_INTERFACE_DEFI";
EVENT_TYPE_TEXT[EVENT_INTERFACE_MISSION] = "EVENT_INTERFACE_MISSION"; EVENT_TYPE_TEXT[EVENT_INTERFACE_MISSION] = "EVENT_INTERFACE_MISSION";
EVENT_TYPE_TEXT[EVENT_INTERFACE_FREE] = "EVENT_INTERFACE_FREE"; EVENT_TYPE_TEXT[EVENT_INTERFACE_FREE] = "EVENT_INTERFACE_FREE";
EVENT_TYPE_TEXT[EVENT_INTERFACE_CODE_BATTLES] = "EVENT_INTERFACE_CODE_BATTLES";
EVENT_TYPE_TEXT[EVENT_INTERFACE_NAME] = "EVENT_INTERFACE_NAME"; EVENT_TYPE_TEXT[EVENT_INTERFACE_NAME] = "EVENT_INTERFACE_NAME";
EVENT_TYPE_TEXT[EVENT_INTERFACE_SETUP] = "EVENT_INTERFACE_SETUP"; EVENT_TYPE_TEXT[EVENT_INTERFACE_SETUP] = "EVENT_INTERFACE_SETUP";
EVENT_TYPE_TEXT[EVENT_INTERFACE_QUIT] = "EVENT_INTERFACE_QUIT"; EVENT_TYPE_TEXT[EVENT_INTERFACE_QUIT] = "EVENT_INTERFACE_QUIT";

View File

@ -191,6 +191,7 @@ enum EventType
EVENT_INTERFACE_DEFI = 401, EVENT_INTERFACE_DEFI = 401,
EVENT_INTERFACE_MISSION = 402, EVENT_INTERFACE_MISSION = 402,
EVENT_INTERFACE_FREE = 403, EVENT_INTERFACE_FREE = 403,
EVENT_INTERFACE_CODE_BATTLES = 404,
EVENT_INTERFACE_NAME = 405, EVENT_INTERFACE_NAME = 405,
EVENT_INTERFACE_SETUP = 406, EVENT_INTERFACE_SETUP = 406,
EVENT_INTERFACE_QUIT = 407, EVENT_INTERFACE_QUIT = 407,

View File

@ -65,31 +65,28 @@ void InitializeRestext()
stringsText[RT_IO_NEW] = TR("New ..."); stringsText[RT_IO_NEW] = TR("New ...");
stringsText[RT_KEY_OR] = TR(" or "); stringsText[RT_KEY_OR] = TR(" or ");
stringsText[RT_TITLE_BASE] = TR("Colobot: Gold Edition"); stringsText[RT_TITLE_APPNAME] = TR("Colobot: Gold Edition");
stringsText[RT_TITLE_INIT] = TR("Colobot: Gold Edition");
stringsText[RT_TITLE_TRAINER] = TR("Programming exercises"); stringsText[RT_TITLE_TRAINER] = TR("Programming exercises");
stringsText[RT_TITLE_DEFI] = TR("Challenges"); stringsText[RT_TITLE_DEFI] = TR("Challenges");
stringsText[RT_TITLE_MISSION] = TR("Missions"); stringsText[RT_TITLE_MISSION] = TR("Missions");
stringsText[RT_TITLE_FREE] = TR("Free game"); stringsText[RT_TITLE_FREE] = TR("Free game");
stringsText[RT_TITLE_USER] = TR("User levels"); stringsText[RT_TITLE_USER] = TR("User levels");
stringsText[RT_TITLE_CODE_BATTLES]=TR("Code battles");
stringsText[RT_TITLE_SETUP] = TR("Options"); stringsText[RT_TITLE_SETUP] = TR("Options");
stringsText[RT_TITLE_NAME] = TR("Player's name"); stringsText[RT_TITLE_NAME] = TR("Player's name");
stringsText[RT_TITLE_PERSO] = TR("Customize your appearance"); stringsText[RT_TITLE_PERSO] = TR("Customize your appearance");
stringsText[RT_TITLE_WRITE] = TR("Save the current mission"); stringsText[RT_TITLE_WRITE] = TR("Save the current mission");
stringsText[RT_TITLE_READ] = TR("Load a saved mission"); stringsText[RT_TITLE_READ] = TR("Load a saved mission");
stringsText[RT_PLAY_CHAPt] = TR(" Chapters:"); stringsText[RT_PLAY_CHAP_CHAPTERS] = TR(" Chapters:");
stringsText[RT_PLAY_CHAPd] = TR(" Chapters:"); stringsText[RT_PLAY_CHAP_PLANETS] = TR(" Planets:");
stringsText[RT_PLAY_CHAPm] = TR(" Planets:"); stringsText[RT_PLAY_CHAP_USERLVL] = TR(" Custom levels:");
stringsText[RT_PLAY_CHAPf] = TR(" Planets:"); stringsText[RT_PLAY_LIST_LEVELS] = TR(" Levels in this chapter:");
stringsText[RT_PLAY_CHAPu] = TR(" User levels:"); stringsText[RT_PLAY_LIST_EXERCISES] = TR(" Exercises in the chapter:");
stringsText[RT_PLAY_CHAPte] = TR(" Chapters:"); stringsText[RT_PLAY_LIST_CHALLENGES] = TR(" Challenges in the chapter:");
stringsText[RT_PLAY_LISTt] = TR(" Exercises in the chapter:"); stringsText[RT_PLAY_LIST_MISSIONS] = TR(" Missions on this planet:");
stringsText[RT_PLAY_LISTd] = TR(" Challenges in the chapter:"); stringsText[RT_PLAY_LIST_FREEGAME] = TR(" Free game on this planet:");
stringsText[RT_PLAY_LISTm] = TR(" Missions on this planet:"); stringsText[RT_PLAY_RESUME] = TR(" Summary:");
stringsText[RT_PLAY_LISTf] = TR(" Free game on this planet:");
stringsText[RT_PLAY_LISTu] = TR(" Missions on this level:");
stringsText[RT_PLAY_RESUME] = TR(" Summary:");
stringsText[RT_SETUP_DEVICE] = TR(" Drivers:"); stringsText[RT_SETUP_DEVICE] = TR(" Drivers:");
stringsText[RT_SETUP_MODE] = TR(" Resolution:"); stringsText[RT_SETUP_MODE] = TR(" Resolution:");
@ -173,7 +170,8 @@ void InitializeRestext()
stringsEvent[EVENT_INTERFACE_DEFI] = TR("Challenges\\Programming challenges"); stringsEvent[EVENT_INTERFACE_DEFI] = TR("Challenges\\Programming challenges");
stringsEvent[EVENT_INTERFACE_MISSION] = TR("Missions\\Select mission"); stringsEvent[EVENT_INTERFACE_MISSION] = TR("Missions\\Select mission");
stringsEvent[EVENT_INTERFACE_FREE] = TR("Free game\\Free game without a specific goal"); stringsEvent[EVENT_INTERFACE_FREE] = TR("Free game\\Free game without a specific goal");
stringsEvent[EVENT_INTERFACE_USER] = TR("User\\User levels"); stringsEvent[EVENT_INTERFACE_CODE_BATTLES] = TR("Code battles\\Program your robot to be the best of them all!");
stringsEvent[EVENT_INTERFACE_USER] = TR("Custom levels\\Levels from mods created by the users");
stringsEvent[EVENT_INTERFACE_NAME] = TR("Change player\\Change player"); stringsEvent[EVENT_INTERFACE_NAME] = TR("Change player\\Change player");
stringsEvent[EVENT_INTERFACE_SETUP] = TR("Options\\Preferences"); stringsEvent[EVENT_INTERFACE_SETUP] = TR("Options\\Preferences");
stringsEvent[EVENT_INTERFACE_AGAIN] = TR("Restart\\Restart the mission from the beginning"); stringsEvent[EVENT_INTERFACE_AGAIN] = TR("Restart\\Restart the mission from the beginning");

View File

@ -60,12 +60,12 @@ enum ResTextType
RT_IO_NEW = 22, RT_IO_NEW = 22,
RT_KEY_OR = 23, RT_KEY_OR = 23,
RT_TITLE_BASE = 40, RT_TITLE_APPNAME = 40,
RT_TITLE_INIT = 41,
RT_TITLE_TRAINER = 42, RT_TITLE_TRAINER = 42,
RT_TITLE_DEFI = 43, RT_TITLE_DEFI = 43,
RT_TITLE_MISSION = 44, RT_TITLE_MISSION = 44,
RT_TITLE_FREE = 45, RT_TITLE_FREE = 45,
RT_TITLE_CODE_BATTLES = 46,
RT_TITLE_SETUP = 47, RT_TITLE_SETUP = 47,
RT_TITLE_NAME = 48, RT_TITLE_NAME = 48,
RT_TITLE_PERSO = 49, RT_TITLE_PERSO = 49,
@ -73,18 +73,15 @@ enum ResTextType
RT_TITLE_READ = 51, RT_TITLE_READ = 51,
RT_TITLE_USER = 52, RT_TITLE_USER = 52,
RT_PLAY_CHAPt = 60, RT_PLAY_CHAP_CHAPTERS = 60,
RT_PLAY_CHAPd = 61, RT_PLAY_CHAP_PLANETS = 61,
RT_PLAY_CHAPm = 62, RT_PLAY_CHAP_USERLVL = 62,
RT_PLAY_CHAPf = 63, RT_PLAY_LIST_LEVELS = 63,
RT_PLAY_LISTt = 65, RT_PLAY_LIST_EXERCISES = 64,
RT_PLAY_LISTd = 66, RT_PLAY_LIST_CHALLENGES = 65,
RT_PLAY_LISTm = 67, RT_PLAY_LIST_MISSIONS = 66,
RT_PLAY_LISTf = 68, RT_PLAY_LIST_FREEGAME = 67,
RT_PLAY_RESUME = 70, RT_PLAY_RESUME = 68,
RT_PLAY_CHAPu = 71,
RT_PLAY_LISTu = 72,
RT_PLAY_CHAPte = 73,
RT_SETUP_DEVICE = 80, RT_SETUP_DEVICE = 80,
RT_SETUP_MODE = 81, RT_SETUP_MODE = 81,

View File

@ -21,11 +21,14 @@
#include <map> #include <map>
// NOTE: Because of how save filenames are built, the first letter of category directories MUST be unique!!
// TODO: I'm not sure about "challenges" + "custom". It may be messing things up already right now.
const std::map<LevelCategory, std::string> CATEGORY_DIR_MAP = { const std::map<LevelCategory, std::string> CATEGORY_DIR_MAP = {
{ LevelCategory::Missions, "missions" }, { LevelCategory::Missions, "missions" },
{ LevelCategory::FreeGame, "freemissions" }, { LevelCategory::FreeGame, "freemissions" },
{ LevelCategory::Exercises, "exercises" }, { LevelCategory::Exercises, "exercises" },
{ LevelCategory::Challenges, "challenges" }, { LevelCategory::Challenges, "challenges" },
{ LevelCategory::CodeBattles, "battles" },
{ LevelCategory::CustomLevels, "custom" }, { LevelCategory::CustomLevels, "custom" },
{ LevelCategory::Win, "win" }, { LevelCategory::Win, "win" },

View File

@ -23,11 +23,12 @@
enum class LevelCategory enum class LevelCategory
{ {
Exercises = 0, Exercises,
Challenges = 1, Challenges,
Missions = 2, Missions,
FreeGame = 3, FreeGame,
CustomLevels = 4, CodeBattles,
CustomLevels,
Max, Max,
// These are special types not runnable by the user // These are special types not runnable by the user

View File

@ -385,7 +385,7 @@ void CMainDialog::StartDialog(Math::Point dim, bool fireParticles)
pw = m_interface->CreateWindows(pos, dim, m_dialogFireParticles ? 12 : 8, EVENT_WINDOW9); pw = m_interface->CreateWindows(pos, dim, m_dialogFireParticles ? 12 : 8, EVENT_WINDOW9);
pw->SetState(STATE_SHADOW); pw->SetState(STATE_SHADOW);
std::string name; std::string name;
GetResource(RES_TEXT, RT_TITLE_BASE, name); GetResource(RES_TEXT, RT_TITLE_APPNAME, name);
pw->SetName(name); pw->SetName(name);
m_dialogPos = pos; m_dialogPos = pos;

View File

@ -95,6 +95,7 @@ void CScreenLevelList::CreateInterface()
if ( m_category == LevelCategory::Challenges ) res = RT_TITLE_DEFI; if ( m_category == LevelCategory::Challenges ) res = RT_TITLE_DEFI;
if ( m_category == LevelCategory::Missions ) res = RT_TITLE_MISSION; if ( m_category == LevelCategory::Missions ) res = RT_TITLE_MISSION;
if ( m_category == LevelCategory::FreeGame ) res = RT_TITLE_FREE; if ( m_category == LevelCategory::FreeGame ) res = RT_TITLE_FREE;
if ( m_category == LevelCategory::CodeBattles ) res = RT_TITLE_CODE_BATTLES;
if ( m_category == LevelCategory::CustomLevels ) res = RT_TITLE_USER; if ( m_category == LevelCategory::CustomLevels ) res = RT_TITLE_USER;
GetResource(RES_TEXT, res, name); GetResource(RES_TEXT, res, name);
pw->SetName(name); pw->SetName(name);
@ -115,11 +116,10 @@ void CScreenLevelList::CreateInterface()
pos.y = oy+sy*10.5f; pos.y = oy+sy*10.5f;
ddim.x = dim.x*7.5f; ddim.x = dim.x*7.5f;
ddim.y = dim.y*0.6f; ddim.y = dim.y*0.6f;
if ( m_category == LevelCategory::Exercises ) res = RT_PLAY_CHAPt; res = RT_PLAY_CHAP_CHAPTERS;
if ( m_category == LevelCategory::Challenges ) res = RT_PLAY_CHAPd; if ( m_category == LevelCategory::Missions ) res = RT_PLAY_CHAP_PLANETS;
if ( m_category == LevelCategory::Missions ) res = RT_PLAY_CHAPm; if ( m_category == LevelCategory::FreeGame ) res = RT_PLAY_CHAP_PLANETS;
if ( m_category == LevelCategory::FreeGame ) res = RT_PLAY_CHAPf; if ( m_category == LevelCategory::CustomLevels ) res = RT_PLAY_CHAP_USERLVL;
if ( m_category == LevelCategory::CustomLevels ) res = RT_PLAY_CHAPu;
GetResource(RES_TEXT, res, name); GetResource(RES_TEXT, res, name);
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL11, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL11, name);
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT); pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
@ -141,11 +141,11 @@ void CScreenLevelList::CreateInterface()
pos.y = oy+sy*10.5f; pos.y = oy+sy*10.5f;
ddim.x = dim.x*7.5f; ddim.x = dim.x*7.5f;
ddim.y = dim.y*0.6f; ddim.y = dim.y*0.6f;
if ( m_category == LevelCategory::Exercises ) res = RT_PLAY_LISTt; res = RT_PLAY_LIST_LEVELS;
if ( m_category == LevelCategory::Challenges ) res = RT_PLAY_LISTd; if ( m_category == LevelCategory::Exercises ) res = RT_PLAY_LIST_EXERCISES;
if ( m_category == LevelCategory::Missions ) res = RT_PLAY_LISTm; if ( m_category == LevelCategory::Challenges ) res = RT_PLAY_LIST_CHALLENGES;
if ( m_category == LevelCategory::FreeGame ) res = RT_PLAY_LISTf; if ( m_category == LevelCategory::Missions ) res = RT_PLAY_LIST_MISSIONS;
if ( m_category == LevelCategory::CustomLevels ) res = RT_PLAY_LISTu; if ( m_category == LevelCategory::FreeGame ) res = RT_PLAY_LIST_FREEGAME;
GetResource(RES_TEXT, res, name); GetResource(RES_TEXT, res, name);
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT); pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);

View File

@ -57,7 +57,7 @@ void CScreenMainMenu::CreateInterface()
ddim.y = 0.80f; ddim.y = 0.80f;
pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5);
GetResource(RES_TEXT, RT_TITLE_INIT, name); GetResource(RES_TEXT, RT_TITLE_APPNAME, name);
pw->SetName(name); pw->SetName(name);
pos.x = 0.35f; pos.x = 0.35f;
@ -72,60 +72,51 @@ void CScreenMainMenu::CreateInterface()
pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner
ddim.x = 0.20f; ddim.x = 0.20f;
ddim.y = dim.y*2.4f;
pos.x = 0.40f; pos.x = 0.40f;
pos.y = oy+sy*9.1f; ddim.y = dim.y*2.0f;
pg = pw->CreateGroup(pos, ddim, 23, EVENT_LABEL1); // yellow pos.y = oy+sy*9.5f;
pg = pw->CreateGroup(pos, ddim, 23, EVENT_LABEL1); // missions + freegame
pg->SetState(STATE_SHADOW); pg->SetState(STATE_SHADOW);
pos.y = oy+sy*6.8f; ddim.y = dim.y*2.95f;
pg = pw->CreateGroup(pos, ddim, 24, EVENT_LABEL1); // orange pos.y = oy+sy*6.7f;
pg = pw->CreateGroup(pos, ddim, 24, EVENT_LABEL1); // exercises + challenges
pg->SetState(STATE_SHADOW); pg->SetState(STATE_SHADOW);
pos.y = oy+sy*3.9f; ddim.y = dim.y*1.6f;
pg = pw->CreateGroup(pos, ddim, 25, EVENT_LABEL1); // orange pos.y = oy+sy*3.4f;
pg = pw->CreateGroup(pos, ddim, 25, EVENT_LABEL1); // change player + settings
pg->SetState(STATE_SHADOW); pg->SetState(STATE_SHADOW);
ddim.y = dim.y*1.2f; ddim.y = dim.y*1.2f;
pos.y = oy+sy*1.9f; pos.y = oy+sy*1.9f;
pg = pw->CreateGroup(pos, ddim, 26, EVENT_LABEL1); // red pg = pw->CreateGroup(pos, ddim, 26, EVENT_LABEL1); // quit
pg->SetState(STATE_SHADOW); pg->SetState(STATE_SHADOW);
ddim.x = 0.18f; ddim.x = 0.18f;
ddim.y = dim.y*1; ddim.y = dim.y*0.8f;
pos.x = 0.41f; pos.x = 0.41f;
pos.y = oy+sy*10.3f; pos.y = oy+sy*10.5f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_MISSION); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_MISSION);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
pos.y = oy+sy*9.2f; pos.y = oy+sy*9.6f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_FREE); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_FREE);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
pos.y = oy+sy*8.0f; pos.y = oy+sy*8.6f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_TRAINER); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_TRAINER);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
pos.y = oy+sy*6.9f; pos.y = oy+sy*7.7f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_DEFI); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_DEFI);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
pos.y = oy+sy*5.1f; pos.y = oy+sy*6.8f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_SETUP); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_CODE_BATTLES);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
pos.y = oy+sy*4.0f; pos.y = oy+sy*5.8f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_NAME);
pb->SetState(STATE_SHADOW);
pos.y = oy+sy*2.0f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_QUIT);
pb->SetState(STATE_SHADOW);
pos.x = 447.0f/640.0f;
pos.y = 313.0f/480.0f;
ddim.x = 0.09f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_USER); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_USER);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
try try
{ {
CLevelParser levelParser("levels/custom/config.txt"); CLevelParser levelParser("levels/custom/config.txt");
@ -144,11 +135,20 @@ void CScreenMainMenu::CreateInterface()
GetLogger()->Error("Failed loading userlevel button name: %s\n", e.what()); GetLogger()->Error("Failed loading userlevel button name: %s\n", e.what());
} }
/*pos.x = 139.0f/640.0f; ddim.y = dim.y*0.5f;
pos.y = 313.0f/480.0f; pos.y = oy+sy*4.35f;
ddim.x = 0.09f; pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_NAME);
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_PROTO); pb->SetState(STATE_SHADOW);
pb->SetState(STATE_SHADOW);*/
ddim.y = dim.y*0.75f;
pos.y = oy+sy*3.5f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_SETUP);
pb->SetState(STATE_SHADOW);
ddim.y = dim.y*1;
pos.y = oy+sy*2.0f;
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_QUIT);
pb->SetState(STATE_SHADOW);
pos.x = 0.40f; pos.x = 0.40f;
ddim.x = 0.20f; ddim.x = 0.20f;
@ -204,6 +204,11 @@ bool CScreenMainMenu::EventProcess(const Event &event)
m_main->ChangePhase(PHASE_LEVEL_LIST); m_main->ChangePhase(PHASE_LEVEL_LIST);
break; break;
case EVENT_INTERFACE_CODE_BATTLES:
m_main->SetLevel(LevelCategory::CodeBattles, 0, 0);
m_main->ChangePhase(PHASE_LEVEL_LIST);
break;
case EVENT_INTERFACE_USER: case EVENT_INTERFACE_USER:
m_main->SetLevel(LevelCategory::CustomLevels, 0, 0); m_main->SetLevel(LevelCategory::CustomLevels, 0, 0);
m_main->ChangePhase(PHASE_LEVEL_LIST); m_main->ChangePhase(PHASE_LEVEL_LIST);