Compare commits

..

4 Commits

16 changed files with 407 additions and 530 deletions

View File

@@ -1,139 +1,100 @@
{
"MENU_TITLE_0": "JUGAR",
"MENU_TITLE_1": "OPCIONS",
"MENU_TITLE_2": "INSTRUCCIONS",
"MENU_TITLE_3": "EIXIR",
"MENU_OPTIONS_4": "FINESTRA",
"MENU_OPTIONS_5": "PANTALLA COMPLETA",
"MENU_OPTIONS_6": "PANTALLA COMPLETA FALSA",
"MENU_OPTIONS_7": "TAMANY DE FINESTRA",
"MENU_OPTIONS_8": "IDIOMA",
"MENU_OPTIONS_9": "[ ACEPTAR ]",
"MENU_OPTIONS_10": "[ CANCELAR ]",
"INSTRUCTIONS_11": "Objectiu",
"INSTRUCTIONS_12": "HAS D'EXPLOTAR",
"INSTRUCTIONS_13": "TANTS GLOBUS COM PUGUES",
"INSTRUCTIONS_14": "LA DIFICULTAT AUGMENTA",
"INSTRUCTIONS_15": "A MESURA QUE VAS PUNTUANT",
"INSTRUCTIONS_16": "Objectes",
"INSTRUCTIONS_17": "1.000 PUNTS",
"INSTRUCTIONS_18": "2.500 PUNTS",
"INSTRUCTIONS_19": "5.000 PUNTS",
"INSTRUCTIONS_20": "PARA EL TEMPS",
"INSTRUCTIONS_21": "VIDA EXTRA",
"INSTRUCTIONS_22": "PREM UNA TECLA PER A TORNAR",
"TITLE_23": "PULSA PER JUGAR",
"LANGUAGE_MENU_24": "ESPA{OL (ESPANYOL)",
"LANGUAGE_MENU_25": "BALOONCIA",
"LANGUAGE_MENU_26": "ENGLISH (ANGLES)",
"INTRO_27": "Un dia qualsevol de l'any 2000",
"INTRO_28": "Tot esta tranquil a la UPV",
"INTRO_29": "Fins que un desaprensiu...",
"INTRO_30": "HEY! ME ANE A FERME UN CORTAET...",
"INTRO_31": "UAAAAAAAAAAAAA!!!",
"INTRO_32": "Espera un moment...",
"INTRO_33": "Si resulta que no tinc solt!",
"INTRO_34": "VAJA BIRRIA DE MAQUINA !!!",
"INTRO_35": "blop... blop... blop...",
"GAME_TEXT_36": "Temps detes: ",
"GAME_TEXT_37": "D E M O",
"GAME_TEXT_38": " fases mes!",
"PLAYER_SELECTION_MENU_39": "Selecciona personatge",
"PLAYER_SELECTION_MENU_40": "Enrere",
"PAUSE_MENU_41": "Menu de pausa",
"HIGHSCORE_TABLE_42": "Millors puntuacions",
"GAME_OVER_SCREEN_43": "FI DEL JOC",
"GAME_OVER_SCREEN_44": "ELS TEUS PUNTS: ",
"GAME_OVER_SCREEN_45": "CONTINUAR?",
"PAUSE_MENU_46": "CONTINUAR",
"PAUSE_MENU_47": "EIXIR DEL JOC",
"GAME_OVER_MENU_48": "SI",
"GAME_OVER_MENU_49": "NO",
"GAME_COMPLETION_TEXT_50": "Felicitats!!",
"MENU_TITLE_51": "1 JUGADOR",
"MENU_TITLE_52": "2 JUGADORS",
"SCOREBOARD_53": "Jugador 1",
"SCOREBOARD_54": "Jugador 2",
"SCOREBOARD_55": "Multiplicador",
"SCOREBOARD_56": "Max. puntuacio",
"SCOREBOARD_57": "Fase ",
"MENU_OPTIONS_58": "MODE DE VISUALITZACIO",
"MENU_OPTIONS_59": "DIFICULTAT",
"MENU_OPTIONS_60": "FILTRE",
"MENU_OPTIONS_61": "SINC. VERTICAL",
"MENU_OPTIONS_62": "CONTROLS DEL JUGADOR 1",
"MENU_OPTIONS_63": "CONTROLS DEL JUGADOR 2",
"MENU_OPTIONS_64": "(FORA DE LINEA)",
"MISC_65": "-",
"MENU_OPTIONS_66": "FACIL",
"MENU_OPTIONS_67": "NORMAL",
"MENU_OPTIONS_68": "DIFICIL",
"MENU_OPTIONS_69": "Teclat",
"MENU_OPTIONS_70": "MANDO",
"MENU_OPTIONS_71": "LINEAL",
"MENU_OPTIONS_72": "NEAREST",
"MENU_OPTIONS_73": "ACTIVADA",
"MENU_OPTIONS_74": "DESACTIVADA",
"GAMEPLAY_75": "Endavant!",
"GAMEPLAY_76": "1.000.000 de punts!",
"GAME_OVER_SCREEN_77": "PUNTS J1: ",
"GAME_OVER_SCREEN_78": "PUNTS J2: ",
"GAME_TEXT_79": "Ultima fase!",
"NOTIFICATIONS_80": "Fallo al conectar a",
"NOTIFICATIONS_81": "No s'ha pogut obtenir",
"NOTIFICATIONS_82": "la puntuacio online",
"NOTIFICATIONS_83": "No ha especificat",
"NOTIFICATIONS_84": "cap jailerID",
"NOTIFICATIONS_85": "ha iniciat la sesio",
"NOTIFICATIONS_86": "Punts enviats: ",
"NOTIFICATIONS_87": "No s'ha pogut",
"NOTIFICATIONS_88": "enviar la puntuacio",
"ENTER_ID_89": "CONFIGURACIO EN LINEA",
"ENTER_ID_90": "INTRODUEIX UN JAILER_ID",
"ENTER_ID_91": "DEIXA BUIT PER A",
"ENTER_ID_92": "MODE FORA DE LINEA",
"MENU_OPTIONS_93": "TAULER DE PUNTS",
"NOTIFICATIONS_94": "Torna a polsar per eixir",
"DEFINE_BUTTONS_95": "Disparar cap a l'esquerra",
"DEFINE_BUTTONS_96": "Disparar cap amunt",
"DEFINE_BUTTONS_97": "Disparar cap a la dreta",
"DEFINE_BUTTONS_98": "Start",
"DEFINE_BUTTONS_99": "Servei",
"DEFINE_BUTTONS_100": "Jugador ",
"SCOREBOARD_101": "Mode demostracio",
"SCOREBOARD_102": "Game Over",
"SCOREBOARD_103": "Pulsa START",
"SCOREBOARD_104": "per jugar",
"SCOREBOARD_105": "Continuar?",
"SCOREBOARD_106": "Posa el nom",
"HELP_107": "Intercanviar mandos",
"HELP_108": "Configuracio",
"HELP_109": "Alternar el audio",
"HELP_110": "Filtres",
"HELP_111": "Reiniciar",
"HELP_112": "Pausar",
"HELP_113": "Eixir",
"SCOREBOARD_114": "Per favor",
"SCOREBOARD_115": "espere",
"NOTIFICATIONS_116": "Torna a polsar per apagar el sistema",
"GAME_TEXT_117": "SuperPoder!",
"GAME_TEXT_118": "+1 Colp",
"GAME_TEXT_119": "Temps!",
"SCOREBOARD_120": "Puntuacio",
"CREDITS_121": "PROGRAMAT I DISSENYAT PER",
"CREDITS_122": "GRAFICS DIBUIXATS PER",
"CREDITS_123": "MUSICA COMPOSADA PER",
"CREDITS_124": "EFECTES DE SO",
"NOTIFICATIONS_125": "Torna a polsar per reiniciar",
"NOTIFICATIONS_126": "Torna a polsar per canviar el idioma a",
"NOTIFICATIONS_127": "Idioma canviat a",
"MISC_128": "activat",
"MISC_129": "desactivat",
"MISC_130": "Dispar automatic",
"MISC_131": "Zoom de finestra",
"MISC_132": "Mode finestra",
"MISC_133": "Mode pantalla completa",
"MISC_134": "Mode d'escalat sencer",
"MISC_135": "Filtre",
"MISC_136": "Sincronisme vertical"
"[CREDITS] PROGRAMMED_AND_DESIGNED_BY": "PROGRAMAT I DISSENYAT PER",
"[CREDITS] PIXELART_DRAWN_BY": "GRAFICS DIBUIXATS PER",
"[CREDITS] MUSIC_COMPOSED_BY": "MUSICA COMPOSADA PER",
"[CREDITS] SOUND_EFFECTS": "EFECTES DE SO",
"[DEFINE_BUTTONS] FIRE_LEFT": "Disparar cap a l'esquerra",
"[DEFINE_BUTTONS] FIRE_UP": "Disparar cap amunt",
"[DEFINE_BUTTONS] FIRE_RIGHT": "Disparar cap a la dreta",
"[DEFINE_BUTTONS] START": "Start",
"[DEFINE_BUTTONS] SERVICE_MENU": "Menu de servei",
"[DEFINE_BUTTONS] PLAYER": "Jugador",
"[DEFINE_BUTTONS] KEYBOARD": "Teclat",
"[GAME_TEXT] 1": "Felicitats!!",
"[GAME_TEXT] 2": " fases mes!",
"[GAME_TEXT] 3": "Ultima fase!",
"[GAME_TEXT] 4": "SuperPoder!",
"[GAME_TEXT] 5": "+1 Colp",
"[GAME_TEXT] 6": "Temps!",
"[GAME_TEXT] 7": "Endavant!",
"[GAME_TEXT] 8": "1.000.000 de punts!",
"[HIGHSCORE_TABLE] CAPTION": "Millors puntuacions",
"[INSTRUCTIONS] 01": "Objectiu",
"[INSTRUCTIONS] 02": "HAS D'EXPLOTAR",
"[INSTRUCTIONS] 03": "TANTS GLOBUS COM PUGUES",
"[INSTRUCTIONS] 04": "LA DIFICULTAT AUGMENTA",
"[INSTRUCTIONS] 05": "A MESURA QUE VAS PUNTUANT",
"[INSTRUCTIONS] 06": "Objectes",
"[INSTRUCTIONS] 07": "1.000 PUNTS",
"[INSTRUCTIONS] 08": "2.500 PUNTS",
"[INSTRUCTIONS] 09": "5.000 PUNTS",
"[INSTRUCTIONS] 10": "PARA EL TEMPS",
"[INSTRUCTIONS] 11": "VIDA EXTRA",
"[INTRO] 1": "Un dia qualsevol de l'any 2000",
"[INTRO] 2": "Tot esta tranquil a la UPV",
"[INTRO] 3": "Fins que un desaprensiu...",
"[INTRO] 4": "HEY! ME ANE A FERME UN CORTAET...",
"[INTRO] 5": "UAAAAAAAAAAAAA!!!",
"[INTRO] 6": "Espera un moment...",
"[INTRO] 7": "Si resulta que no tinc solt!",
"[INTRO] 8": "VAJA BIRRIA DE MAQUINA !!!",
"[INTRO] 9": "blop... blop... blop...",
"[NOTIFICATIONS] 01": "Torna a polsar per eixir",
"[NOTIFICATIONS] 02": "Torna a polsar per apagar el sistema",
"[NOTIFICATIONS] 03": "Torna a polsar per reiniciar",
"[NOTIFICATIONS] 04": "Torna a polsar per canviar el idioma a",
"[NOTIFICATIONS] 05": "Idioma canviat a",
"[NOTIFICATIONS] 06": "activat",
"[NOTIFICATIONS] 07": "desactivat",
"[NOTIFICATIONS] 08": "Dispar automatic",
"[NOTIFICATIONS] 09": "Tamany de la finestra",
"[NOTIFICATIONS] 10": "Mode finestra",
"[NOTIFICATIONS] 11": "Mode pantalla completa",
"[NOTIFICATIONS] 12": "Mode d'escalat sencer",
"[NOTIFICATIONS] 13": "Filtre",
"[NOTIFICATIONS] 14": "Sincronisme vertical",
"[NOTIFICATIONS] 15": "Reiniciar",
"[SERVICE_MENU] TITLE": "Menu de servei",
"[SERVICE_MENU] RESET": "Reiniciar",
"[SERVICE_MENU] QUIT": "Eixir del joc",
"[SERVICE_MENU] SHUTDOWN": "Apagar el sistema",
"[SERVICE_MENU] FULLSCREEN": "Pantalla completa",
"[SERVICE_MENU] WINDOW_SIZE": "Tamany de la finestra",
"[SERVICE_MENU] SHADERS": "Filtre",
"[SERVICE_MENU] VSYNC": "Sincronisme vertical",
"[SERVICE_MENU] INTEGER_SCALE": "Escalat sencer",
"[SERVICE_MENU] MAIN_VOLUME": "Volumen general",
"[SERVICE_MENU] MUSIC_VOLUME": "Volumen de la musica",
"[SERVICE_MENU] SFX_VOLUME": "Volumen dels sons",
"[SERVICE_MENU] AUTOFIRE": "Dispar automatic",
"[SERVICE_MENU] VIDEO": "Video",
"[SERVICE_MENU] AUDIO": "Audio",
"[SERVICE_MENU] GAME": "Joc",
"[SERVICE_MENU] SYSTEM": "Sistema",
"[SERVICE_MENU] ON": "Activat",
"[SERVICE_MENU] OFF": "Desactivat",
"[SCOREBOARD] 1": "Jugador 1",
"[SCOREBOARD] 2": "Jugador 2",
"[SCOREBOARD] 3": "Multiplicador",
"[SCOREBOARD] 4": "Max. puntuacio",
"[SCOREBOARD] 5": "Fase",
"[SCOREBOARD] 6": "Mode demostracio",
"[SCOREBOARD] 7": "Game Over",
"[SCOREBOARD] 8": "Pulsa START",
"[SCOREBOARD] 9": "per jugar",
"[SCOREBOARD] 10": "Continuar?",
"[SCOREBOARD] 11": "Posa el nom",
"[SCOREBOARD] 12": "Per favor",
"[SCOREBOARD] 13": "espere",
"[SCOREBOARD] 14": "Puntuacio",
"[TITLE] PRESS_BUTTON_TO_PLAY": "PULSA PER JUGAR"
}

View File

@@ -1,139 +1,100 @@
{
"MENU_TITLE_0": "PLAY",
"MENU_TITLE_1": "OPTIONS",
"MENU_TITLE_2": "HOW TO PLAY",
"MENU_TITLE_3": "QUIT",
"MENU_OPTIONS_4": "WINDOW",
"MENU_OPTIONS_5": "FULLSCREEN",
"MENU_OPTIONS_6": "FAKE FULLSCREEN",
"MENU_OPTIONS_7": "WINDOW SIZE",
"MENU_OPTIONS_8": "LANGUAGE",
"MENU_OPTIONS_9": "[ ACCEPT ]",
"MENU_OPTIONS_10": "[ CANCEL ]",
"INSTRUCTIONS_11": "OBJECTIVE",
"INSTRUCTIONS_12": "YOU HAVE TO POP AS MANY",
"INSTRUCTIONS_13": "BALLOONS AS YOU CAN",
"INSTRUCTIONS_14": "DIFFICULTY WILL BE INCREASED",
"INSTRUCTIONS_15": "AS YOU SCORE POINTS",
"INSTRUCTIONS_16": "ITEMS",
"INSTRUCTIONS_17": "1.000 POINTS",
"INSTRUCTIONS_18": "2.500 POINTS",
"INSTRUCTIONS_19": "5.000 POINTS",
"INSTRUCTIONS_20": "TIME STOPPER",
"INSTRUCTIONS_21": "EXTRA HIT",
"INSTRUCTIONS_22": "PRESS ANY KEY TO RETURN",
"TITLE_23": "PRESS START BUTTON TO PLAY",
"LANGUAGE_MENU_24": "ESPA{OL (SPANISH)",
"LANGUAGE_MENU_25": "BALOONCIA (VALENCIAN)",
"LANGUAGE_MENU_26": "ENGLISH",
"INTRO_27": "Any day of the year 2000",
"INTRO_28": "Everything is quiet at the UPV",
"INTRO_29": "Until a bastard arrives...",
"INTRO_30": " YO! GONNA TAKE A CAFELITO... ",
"INTRO_31": "AAAAAAAARGHHHH!!!",
"INTRO_32": "Wait a moment...",
"INTRO_33": " I don't have any loose! ",
"INTRO_34": "FUCKING MACHINE!",
"INTRO_35": "Blop... blop... blop...",
"GAME_TEXT_36": "Time stopped: ",
"GAME_TEXT_37": "D E M O",
"GAME_TEXT_38": " stages left!",
"PLAYER_SELECTION_MENU_39": "Select Player",
"PLAYER_SELECTION_MENU_40": "Back",
"PAUSE_MENU_41": "Pause Menu",
"HIGHSCORE_TABLE_42": "Best scores",
"GAME_OVER_SCREEN_43": "GAME OVER",
"GAME_OVER_SCREEN_44": "YOUR SCORE: ",
"GAME_OVER_SCREEN_45": "CONTINUE?",
"PAUSE_MENU_46": "CONTINUE",
"PAUSE_MENU_47": "LEAVE GAME",
"GAME_OVER_MENU_48": "YES",
"GAME_OVER_MENU_49": "NO",
"GAME_COMPLETION_TEXT_50": "Congratulations!!",
"MENU_TITLE_51": "1 PLAYER",
"MENU_TITLE_52": "2 PLAYERS",
"SCOREBOARD_53": "Player 1",
"SCOREBOARD_54": "Player 2",
"SCOREBOARD_55": "Multiplier",
"SCOREBOARD_56": "High Score",
"SCOREBOARD_57": "Stage ",
"MENU_OPTIONS_58": "DISPLAY MODE",
"MENU_OPTIONS_59": "DIFFICULTY",
"MENU_OPTIONS_60": "FILTER",
"MENU_OPTIONS_61": "VSYNC",
"MENU_OPTIONS_62": "PLAYER 1 CONTROLS",
"MENU_OPTIONS_63": "PLAYER 2 CONTROLS",
"MENU_OPTIONS_64": "(OFFLINE MODE)",
"MISC_65": "-",
"MENU_OPTIONS_66": "EASY",
"MENU_OPTIONS_67": "NORMAL",
"MENU_OPTIONS_68": "HARD",
"MENU_OPTIONS_69": "Keyboard",
"MENU_OPTIONS_70": "GAME CONTROLLER",
"MENU_OPTIONS_71": "LINEAL",
"MENU_OPTIONS_72": "NEAREST",
"MENU_OPTIONS_73": "ON",
"MENU_OPTIONS_74": "OFF",
"GAMEPLAY_75": "Get Ready!",
"GAMEPLAY_76": "1.000.000 points!",
"GAME_OVER_SCREEN_77": "PLAYER1 SCORE: ",
"GAME_OVER_SCREEN_78": "PLAYER2 SCORE: ",
"GAME_TEXT_79": "Last stage!",
"NOTIFICATIONS_80": "Failed connecting to",
"NOTIFICATIONS_81": "Can't get",
"NOTIFICATIONS_82": "online scores",
"NOTIFICATIONS_83": "No JailerID",
"NOTIFICATIONS_84": "name was set",
"NOTIFICATIONS_85": "is logged in",
"NOTIFICATIONS_86": "Score submitted",
"NOTIFICATIONS_87": "Failed to send",
"NOTIFICATIONS_88": "score to online server",
"ENTER_ID_89": "ONLINE CONFIGURATION",
"ENTER_ID_90": "PLEASE ENTER AN ID",
"ENTER_ID_91": "LEAVE BLANK FOR",
"ENTER_ID_92": "OFFLINE MODE",
"MENU_OPTIONS_93": "HISCORE TABLE",
"NOTIFICATIONS_94": "Press again to quit",
"DEFINE_BUTTONS_95": "Fire left",
"DEFINE_BUTTONS_96": "Fire up",
"DEFINE_BUTTONS_97": "Fire right",
"DEFINE_BUTTONS_98": "Start",
"DEFINE_BUTTONS_99": "Service",
"DEFINE_BUTTONS_100": "Player",
"SCOREBOARD_101": "Demo mode",
"SCOREBOARD_102": "Game Over",
"SCOREBOARD_103": "Press START",
"SCOREBOARD_104": "to play",
"SCOREBOARD_105": "Continue?",
"SCOREBOARD_106": "Enter name",
"HELP_107": "Swap Controllers",
"HELP_108": "Configuration",
"HELP_109": "Toggle audio",
"HELP_110": "Shaders",
"HELP_111": "Reset",
"HELP_112": "Pause",
"HELP_113": "Exit",
"SCOREBOARD_114": "Please",
"SCOREBOARD_115": "wait",
"NOTIFICATIONS_116": "Press again to shutdown system",
"GAME_TEXT_117": "PowerUp",
"GAME_TEXT_118": "+1 Hit",
"GAME_TEXT_119": "Stop!",
"SCOREBOARD_120": "Score",
"CREDITS_121": "PROGRAMMED AND DESIGNED BY",
"CREDITS_122": "PIXELART DRAWN BY",
"CREDITS_123": "MUSIC COMPOSED BY",
"CREDITS_124": "SOUND EFFECTS",
"NOTIFICATIONS_125": "Press again to reset",
"NOTIFICATIONS_126": "Press again to change languaje to",
"NOTIFICATIONS_127": "Language set to",
"MISC_128": "on",
"MISC_129": "off",
"MISC_130": "Autofire",
"MISC_131": "Window zoom",
"MISC_132": "Window mode",
"MISC_133": "Fullscreen mode",
"MISC_134": "Integer scale",
"MISC_135": "Filter",
"MISC_136": "Vertical Sync"
}
"[CREDITS] PROGRAMMED_AND_DESIGNED_BY": "PROGRAMMED AND DESIGNED BY",
"[CREDITS] PIXELART_DRAWN_BY" : "PIXELART DRAWN BY",
"[CREDITS] MUSIC_COMPOSED_BY" : "MUSIC COMPOSED BY",
"[CREDITS] SOUND_EFFECTS" : "SOUND EFFECTS",
"[DEFINE_BUTTONS] FIRE_LEFT" : "Fire left",
"[DEFINE_BUTTONS] FIRE_UP" : "Fire up",
"[DEFINE_BUTTONS] FIRE_RIGHT" : "Fire right",
"[DEFINE_BUTTONS] START" : "Start",
"[DEFINE_BUTTONS] SERVICE_MENU": "Service menu",
"[DEFINE_BUTTONS] PLAYER" : "Player",
"[DEFINE_BUTTONS] KEYBOARD" : "Keyboard",
"[GAME_TEXT] 1": "Congratulations!!",
"[GAME_TEXT] 2": " stages left!",
"[GAME_TEXT] 3": "Last stage!",
"[GAME_TEXT] 4": "PowerUp",
"[GAME_TEXT] 5": "+1 Hit",
"[GAME_TEXT] 6": "Stop!",
"[GAME_TEXT] 7": "Get Ready!",
"[GAME_TEXT] 8": "1.000.000 points!",
"[HIGHSCORE_TABLE] CAPTION": "Best scores",
"[INSTRUCTIONS] 01": "OBJECTIVE",
"[INSTRUCTIONS] 02": "YOU HAVE TO POP AS MANY",
"[INSTRUCTIONS] 03": "BALLOONS AS YOU CAN",
"[INSTRUCTIONS] 04": "DIFFICULTY WILL BE INCREASED",
"[INSTRUCTIONS] 05": "AS YOU SCORE POINTS",
"[INSTRUCTIONS] 06": "ITEMS",
"[INSTRUCTIONS] 07": "1.000 POINTS",
"[INSTRUCTIONS] 08": "2.500 POINTS",
"[INSTRUCTIONS] 09": "5.000 POINTS",
"[INSTRUCTIONS] 10": "TIME STOPPER",
"[INSTRUCTIONS] 11": "EXTRA HIT",
"[INTRO] 1": "Any day of the year 2000",
"[INTRO] 2": "Everything is quiet at the UPV",
"[INTRO] 3": "Until a bastard arrives...",
"[INTRO] 4": "YO! GONNA TAKE A CAFELITO...",
"[INTRO] 5": "AAAAAAAARGHHHH!!!",
"[INTRO] 6": "Wait a moment...",
"[INTRO] 7": "I don't have any loose!",
"[INTRO] 8": "FUCKING MACHINE!",
"[INTRO] 9": "Blop... blop... blop...",
"[NOTIFICATIONS] 01": "Press again to quit",
"[NOTIFICATIONS] 02": "Press again to shutdown system",
"[NOTIFICATIONS] 03": "Press again to reset",
"[NOTIFICATIONS] 04": "Press again to change language to",
"[NOTIFICATIONS] 05": "Language set to",
"[NOTIFICATIONS] 06": "on",
"[NOTIFICATIONS] 07": "off",
"[NOTIFICATIONS] 08": "Autofire",
"[NOTIFICATIONS] 09": "Window zoom",
"[NOTIFICATIONS] 10": "Window mode",
"[NOTIFICATIONS] 11": "Fullscreen mode",
"[NOTIFICATIONS] 12": "Integer scale",
"[NOTIFICATIONS] 13": "Filter",
"[NOTIFICATIONS] 14": "Vertical Sync",
"[NOTIFICATIONS] 15": "Reset",
"[SERVICE_MENU] TITLE": "Service Menu",
"[SERVICE_MENU] RESET": "Reset",
"[SERVICE_MENU] QUIT": "Quit Game",
"[SERVICE_MENU] SHUTDOWN": "Shutdown System",
"[SERVICE_MENU] FULLSCREEN": "Fullscreen",
"[SERVICE_MENU] WINDOW_SIZE": "Window Size",
"[SERVICE_MENU] SHADERS": "Shaders",
"[SERVICE_MENU] VSYNC": "V-Sync",
"[SERVICE_MENU] INTEGER_SCALE": "Integer Scale",
"[SERVICE_MENU] MAIN_VOLUME": "Main Volume",
"[SERVICE_MENU] MUSIC_VOLUME": "Music Volume",
"[SERVICE_MENU] SFX_VOLUME": "Sound Volume",
"[SERVICE_MENU] AUTOFIRE": "Autofire",
"[SERVICE_MENU] VIDEO": "Video",
"[SERVICE_MENU] AUDIO": "Audio",
"[SERVICE_MENU] GAME": "Game",
"[SERVICE_MENU] SYSTEM": "System",
"[SERVICE_MENU] ON": "On",
"[SERVICE_MENU] OFF": "Off",
"[SCOREBOARD] 1": "Player 1",
"[SCOREBOARD] 2": "Player 2",
"[SCOREBOARD] 3": "Multiplier",
"[SCOREBOARD] 4": "High Score",
"[SCOREBOARD] 5": "Stage",
"[SCOREBOARD] 6": "Demo mode",
"[SCOREBOARD] 7": "Game Over",
"[SCOREBOARD] 8": "Press START",
"[SCOREBOARD] 9": "to play",
"[SCOREBOARD] 10": "Continue?",
"[SCOREBOARD] 11": "Enter name",
"[SCOREBOARD] 12": "Please",
"[SCOREBOARD] 13": "wait",
"[SCOREBOARD] 14": "Score",
"[TITLE] PRESS_BUTTON_TO_PLAY": "PRESS START BUTTON TO PLAY"
}

View File

@@ -1,139 +1,100 @@
{
"MENU_TITLE_0": "JUGAR",
"MENU_TITLE_1": "OPCIONES",
"MENU_TITLE_2": "INSTRUCCIONES",
"MENU_TITLE_3": "SALIR",
"MENU_OPTIONS_4": "VENTANA",
"MENU_OPTIONS_5": "PANTALLA COMPLETA",
"MENU_OPTIONS_6": "PANTALLA COMPLETA FALSA",
"MENU_OPTIONS_7": "TAMA{O DE VENTANA",
"MENU_OPTIONS_8": "IDIOMA",
"MENU_OPTIONS_9": "[ ACEPTAR ]",
"MENU_OPTIONS_10": "[ CANCELAR ]",
"INSTRUCTIONS_11": "OBJETIVO",
"INSTRUCTIONS_12": "TIENES QUE EXPLOTAR",
"INSTRUCTIONS_13": "TANTOS GLOBOS COMO PUEDAS",
"INSTRUCTIONS_14": "LA DIFICULTAD SE INCREMENTA",
"INSTRUCTIONS_15": "A MEDIDA QUE VAS PUNTUANDO",
"INSTRUCTIONS_16": "OBJETOS",
"INSTRUCTIONS_17": "1.000 PUNTOS",
"INSTRUCTIONS_18": "2.500 PUNTOS",
"INSTRUCTIONS_19": "5.000 PUNTOS",
"INSTRUCTIONS_20": "DETIENE EL TIEMPO",
"INSTRUCTIONS_21": "VIDA EXTRA",
"INSTRUCTIONS_22": "PULSA UNA TECLA PARA VOLVER",
"TITLE_23": "PULSA UN BOTON PARA JUGAR",
"LANGUAGE_MENU_24": "ESPA{OL",
"LANGUAGE_MENU_25": "BALOONCIA (VALENCIANO)",
"LANGUAGE_MENU_26": "ENGLISH (INGLES)",
"INTRO_27": "Un dia cualquiera del a{o 2000",
"INTRO_28": "Todo esta tranquilo en la UPV",
"INTRO_29": "Hasta que un desaprensivo...",
"INTRO_30": "HEY! VOY A SACARME UN TALLADET...",
"INTRO_31": "UAAAAAAAAAAAAA!!!",
"INTRO_32": "Espera un momento...",
"INTRO_33": "Si no llevo suelto encima!",
"INTRO_34": "MIERDA DE MAQUINA!",
"INTRO_35": "Blop... blop... blop...",
"GAME_TEXT_36": "Tiempo: ",
"GAME_TEXT_37": "D E M O",
"GAME_TEXT_38": " fases mas!",
"PLAYER_SELECTION_MENU_39": "Selecciona jugador",
"PLAYER_SELECTION_MENU_40": "Volver",
"PAUSE_MENU_41": "Menu de pausa",
"HIGHSCORE_TABLE_42": "Mejores puntuaciones",
"GAME_OVER_SCREEN_43": "FIN DE JUEGO",
"GAME_OVER_SCREEN_44": "TU PUNTUACION: ",
"GAME_OVER_SCREEN_45": "CONTINUAR?",
"PAUSE_MENU_46": "CONTINUAR",
"PAUSE_MENU_47": "SALIR DEL JUEGO",
"GAME_OVER_MENU_48": "SI",
"GAME_OVER_MENU_49": "NO",
"GAME_COMPLETION_TEXT_50": "Felicidades!!",
"MENU_TITLE_51": "1 JUGADOR",
"MENU_TITLE_52": "2 JUGADORES",
"SCOREBOARD_53": "Jugador 1",
"SCOREBOARD_54": "Jugador 2",
"SCOREBOARD_55": "Multiplicador",
"SCOREBOARD_56": "Max. puntuacion",
"SCOREBOARD_57": "Fase ",
"MENU_OPTIONS_58": "MODO DE VISUALIZACION",
"MENU_OPTIONS_59": "DIFICULTAD",
"MENU_OPTIONS_60": "FILTRO",
"MENU_OPTIONS_61": "SINC. VERTICAL",
"MENU_OPTIONS_62": "CONTROLES DEL JUGADOR 1",
"MENU_OPTIONS_63": "CONTROLES DEL JUGADOR 2",
"MENU_OPTIONS_64": "(MODO OFFLINE)",
"MISC_65": "-",
"MENU_OPTIONS_66": "FACIL",
"MENU_OPTIONS_67": "NORMAL",
"MENU_OPTIONS_68": "DIFICIL",
"MENU_OPTIONS_69": "Teclado",
"MENU_OPTIONS_70": "MANDO",
"MENU_OPTIONS_71": "LINEAL",
"MENU_OPTIONS_72": "NEAREST",
"MENU_OPTIONS_73": "ACTIVADA",
"MENU_OPTIONS_74": "DESACTIVADA",
"GAMEPLAY_75": "Adelante!",
"GAMEPLAY_76": "1.000.000 de puntos!",
"GAME_OVER_SCREEN_77": "PUNTUACION J1: ",
"GAME_OVER_SCREEN_78": "PUNTUACION J2: ",
"GAME_TEXT_79": "Ultima fase!",
"NOTIFICATIONS_80": "Fallo al conectar a ",
"NOTIFICATIONS_81": "No se ha podido obtener",
"NOTIFICATIONS_82": "la puntuacion online",
"NOTIFICATIONS_83": "No se ha especificado",
"NOTIFICATIONS_84": "ningun jailerID",
"NOTIFICATIONS_85": "ha iniciado la sesion",
"NOTIFICATIONS_86": "Puntos enviados: ",
"NOTIFICATIONS_87": "No se ha podido",
"NOTIFICATIONS_88": "enviar la puntuacion",
"ENTER_ID_89": "CONFIGURACION ONLNE",
"ENTER_ID_90": "INTRODUCE UN JAILER_ID",
"ENTER_ID_91": "DEJA EN BLANCO PARA",
"ENTER_ID_92": "MODO SIN CONEXION",
"MENU_OPTIONS_93": "TABLA DE PUNTUACIONES",
"NOTIFICATIONS_94": "Pulsa otra vez para salir",
"DEFINE_BUTTONS_95": "Disparar a la izquierda",
"DEFINE_BUTTONS_96": "Disparar hacia arriba",
"DEFINE_BUTTONS_97": "Disparar hacia la derecha",
"DEFINE_BUTTONS_98": "Start",
"DEFINE_BUTTONS_99": "Servicio",
"DEFINE_BUTTONS_100": "Jugador ",
"SCOREBOARD_101": "Mode demostracion",
"SCOREBOARD_102": "Game Over",
"SCOREBOARD_103": "Pulsa START",
"SCOREBOARD_104": "para jugar",
"SCOREBOARD_105": "Continuar?",
"SCOREBOARD_106": "Pon tu nombre",
"HELP_107": "Intercambiar mandos",
"HELP_108": "Configuracion",
"HELP_109": "Alternar el audio",
"HELP_110": "Filtros",
"HELP_111": "Reiniciar",
"HELP_112": "Pausar",
"HELP_113": "Salir",
"SCOREBOARD_114": "Por favor",
"SCOREBOARD_115": "espere",
"NOTIFICATIONS_116": "Pulsa otra vez para apagar el sistema",
"GAME_TEXT_117": "Potenciador",
"GAME_TEXT_118": "+1 Golpe",
"GAME_TEXT_119": "Tiempo!",
"SCOREBOARD_120": "Puntuacion",
"CREDITS_121": "PROGRAMADO Y DISE{ADO POR",
"CREDITS_122": "GRAFICOS DIBUJADOS POR",
"CREDITS_123": "MUSICA COMPUESTA POR",
"CREDITS_124": "EFECTOS DE SONIDO",
"NOTIFICATIONS_125": "Vuelve a pulsar para reiniciar",
"NOTIFICATIONS_126": "Vuelve a pulsar para cambiar el idioma a",
"NOTIFICATIONS_127": "Idioma cambiado a",
"MISC_128": "activado",
"MISC_129": "desactivado",
"MISC_130": "Disparo automático",
"MISC_131": "Zoom de ventana",
"MISC_132": "Modo ventana",
"MISC_133": "Modo pantalla completa",
"MISC_134": "Modo de escalado entero",
"MISC_135": "Filtro",
"MISC_136": "Sincronismo vertical"
}
"[CREDITS] PROGRAMMED_AND_DESIGNED_BY": "PROGRAMADO Y DISEÑADO POR",
"[CREDITS] PIXELART_DRAWN_BY": "GRÁFICOS DIBUJADOS POR",
"[CREDITS] MUSIC_COMPOSED_BY": "MÚSICA COMPUESTA POR",
"[CREDITS] SOUND_EFFECTS": "EFECTOS DE SONIDO",
"[DEFINE_BUTTONS] FIRE_LEFT": "Disparar a la izquierda",
"[DEFINE_BUTTONS] FIRE_UP": "Disparar hacia arriba",
"[DEFINE_BUTTONS] FIRE_RIGHT": "Disparar hacia la derecha",
"[DEFINE_BUTTONS] START": "Start",
"[DEFINE_BUTTONS] SERVICE_MENU": "Menu de servicio",
"[DEFINE_BUTTONS] PLAYER": "Jugador",
"[DEFINE_BUTTONS] KEYBOARD": "Teclado",
"[GAME_TEXT] 1": "Felicidades!!",
"[GAME_TEXT] 2": " fases más!",
"[GAME_TEXT] 3": "Última fase!",
"[GAME_TEXT] 4": "Potenciador",
"[GAME_TEXT] 5": "+1 Golpe",
"[GAME_TEXT] 6": "Tiempo!",
"[GAME_TEXT] 7": "Adelante!",
"[GAME_TEXT] 8": "1.000.000 de puntos!",
"[HIGHSCORE_TABLE] CAPTION": "Mejores puntuaciones",
"[INSTRUCTIONS] 01": "OBJETIVO",
"[INSTRUCTIONS] 02": "TIENES QUE EXPLOTAR",
"[INSTRUCTIONS] 03": "TANTOS GLOBOS COMO PUEDAS",
"[INSTRUCTIONS] 04": "LA DIFICULTAD SE INCREMENTA",
"[INSTRUCTIONS] 05": "A MEDIDA QUE VAS PUNTUANDO",
"[INSTRUCTIONS] 06": "OBJETOS",
"[INSTRUCTIONS] 07": "1.000 PUNTOS",
"[INSTRUCTIONS] 08": "2.500 PUNTOS",
"[INSTRUCTIONS] 09": "5.000 PUNTOS",
"[INSTRUCTIONS] 10": "DETIENE EL TIEMPO",
"[INSTRUCTIONS] 11": "VIDA EXTRA",
"[INTRO] 1": "Un día cualquiera del año 2000",
"[INTRO] 2": "Todo está tranquilo en la UPV",
"[INTRO] 3": "Hasta que un desaprensivo...",
"[INTRO] 4": "HEY! VOY A SACARME UN TALLADET...",
"[INTRO] 5": "UAAAAAAAAAAAAA!!!",
"[INTRO] 6": "Espera un momento...",
"[INTRO] 7": "Si no llevo suelto encima!",
"[INTRO] 8": "MIERDA DE MÁQUINA!",
"[INTRO] 9": "Blop... blop... blop...",
"[NOTIFICATIONS] 01": "Pulsa otra vez para salir",
"[NOTIFICATIONS] 02": "Pulsa otra vez para apagar el sistema",
"[NOTIFICATIONS] 03": "Vuelve a pulsar para reiniciar",
"[NOTIFICATIONS] 04": "Vuelve a pulsar para cambiar el idioma a",
"[NOTIFICATIONS] 05": "Idioma cambiado a",
"[NOTIFICATIONS] 06": "activado",
"[NOTIFICATIONS] 07": "desactivado",
"[NOTIFICATIONS] 08": "Disparo automático",
"[NOTIFICATIONS] 09": "Zoom de ventana",
"[NOTIFICATIONS] 10": "Modo ventana",
"[NOTIFICATIONS] 11": "Modo pantalla completa",
"[NOTIFICATIONS] 12": "Modo de escalado entero",
"[NOTIFICATIONS] 13": "Filtro",
"[NOTIFICATIONS] 14": "Sincronismo vertical",
"[NOTIFICATIONS] 15": "Reiniciar",
"[SERVICE_MENU] TITLE": "Menu de servicio",
"[SERVICE_MENU] RESET": "Reiniciar",
"[SERVICE_MENU] QUIT": "Salir del juego",
"[SERVICE_MENU] SHUTDOWN": "Apagar el sistema",
"[SERVICE_MENU] FULLSCREEN": "Pantalla completa",
"[SERVICE_MENU] WINDOW_SIZE": "Zoom de ventana",
"[SERVICE_MENU] SHADERS": "Filtro",
"[SERVICE_MENU] VSYNC": "Sincronismo vertical",
"[SERVICE_MENU] INTEGER_SCALE": "Escalado entero",
"[SERVICE_MENU] MAIN_VOLUME": "Volumen general",
"[SERVICE_MENU] MUSIC_VOLUME": "Volumen de la musica",
"[SERVICE_MENU] SFX_VOLUME": "Volumen de los efectos",
"[SERVICE_MENU] AUTOFIRE": "Disparo automatico",
"[SERVICE_MENU] VIDEO": "Video",
"[SERVICE_MENU] AUDIO": "Audio",
"[SERVICE_MENU] GAME": "Juego",
"[SERVICE_MENU] SYSTEM": "Sistema",
"[SERVICE_MENU] ON": "Activado",
"[SERVICE_MENU] OFF": "Desactivado",
"[SCOREBOARD] 1": "Jugador 1",
"[SCOREBOARD] 2": "Jugador 2",
"[SCOREBOARD] 3": "Multiplicador",
"[SCOREBOARD] 4": "Max. puntuación",
"[SCOREBOARD] 5": "Fase",
"[SCOREBOARD] 6": "Modo demostración",
"[SCOREBOARD] 7": "Game Over",
"[SCOREBOARD] 8": "Pulsa START",
"[SCOREBOARD] 9": "para jugar",
"[SCOREBOARD] 10": "Continuar?",
"[SCOREBOARD] 11": "Pon tu nombre",
"[SCOREBOARD] 12": "Por favor",
"[SCOREBOARD] 13": "espere",
"[SCOREBOARD] 14": "Puntuación",
"[TITLE] PRESS_BUTTON_TO_PLAY": "PULSA UN BOTÓN PARA JUGAR"
}

View File

@@ -142,7 +142,7 @@ void Credits::checkEvents()
void Credits::checkInput()
{
if (!ServiceMenu::get()->isEnabled())
{
{
// Comprueba si se ha pulsado cualquier botón (de los usados para jugar)
if (Input::get()->checkAnyButtonPressed(INPUT_ALLOW_REPEAT))
{
@@ -169,10 +169,10 @@ void Credits::fillTextTexture()
SDL_RenderClear(Screen::get()->getRenderer());
const std::array<std::string, 10> TEXTS = {
lang::getText("CREDITS_121"),
lang::getText("CREDITS_122"),
lang::getText("CREDITS_123"),
lang::getText("CREDITS_124"),
lang::getText("[CREDITS] PROGRAMMED_AND_DESIGNED_BY"),
lang::getText("[CREDITS] PIXELART_DRAWN_BY"),
lang::getText("[CREDITS] MUSIC_COMPOSED_BY"),
lang::getText("[CREDITS] SOUND_EFFECTS"),
"JAILDESIGNER",
"JAILDOCTOR (INTRO)",
"ERIC MATYAS (SOUNDIMAGE.ORG)",

View File

@@ -28,7 +28,7 @@ void DefineButtons::render()
{
if (enabled_)
{
text_->writeCentered(x_, y_ - 10, lang::getText("DEFINE_BUTTONS_100") + std::to_string(options.controllers.at(index_controller_).player_id));
text_->writeCentered(x_, y_ - 10, lang::getText("[DEFINE_BUTTONS] PLAYER") + std::to_string(options.controllers.at(index_controller_).player_id));
text_->writeCentered(x_, y_, controller_names_.at(index_controller_));
text_->writeCentered(x_, y_ + 10, buttons_.at(index_button_).label);
}
@@ -135,9 +135,9 @@ bool DefineButtons::checkButtonNotInUse(SDL_GamepadButton button)
void DefineButtons::clearButtons()
{
buttons_.clear();
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_95"), InputAction::FIRE_LEFT, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_96"), InputAction::FIRE_CENTER, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_97"), InputAction::FIRE_RIGHT, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_98"), InputAction::START, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_99"), InputAction::SERVICE, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("[DEFINE_BUTTONS] FIRE_LEFT"), InputAction::FIRE_LEFT, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("[DEFINE_BUTTONS] FIRE_UP"), InputAction::FIRE_CENTER, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("[DEFINE_BUTTONS] FIRE_RIGHT"), InputAction::FIRE_RIGHT, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("[DEFINE_BUTTONS] START"), InputAction::START, SDL_GAMEPAD_BUTTON_INVALID);
buttons_.emplace_back(lang::getText("[DEFINE_BUTTONS] SERVICE_MENU"), InputAction::SERVICE, SDL_GAMEPAD_BUTTON_INVALID);
}

View File

@@ -276,7 +276,7 @@ void Game::updateStage()
else
{
auto text = Resource::get()->getText("04b_25_2x");
const std::string caption = std::to_string(10 - Stage::number) + lang::getText("GAME_TEXT_38");
const std::string caption = std::to_string(10 - Stage::number) + lang::getText("[GAME_TEXT] 2");
createMessage(paths, text->writeToTexture(caption, 1, -4));
}
}
@@ -1727,12 +1727,12 @@ void Game::initPlayers(int player_id)
const int y = param.game.play_area.rect.h - 30;
players_.emplace_back(std::make_unique<Player>(1, param.game.play_area.first_quarter_x - 15, y, demo_.enabled, param.game.play_area.rect, player_textures_[0], player_animations_));
players_.back()->setScoreBoardPanel(SCOREBOARD_LEFT_PANEL);
players_.back()->setName(lang::getText("SCOREBOARD_53"));
players_.back()->setName(lang::getText("SCOREBOARD_1"));
players_.back()->setController(getController(players_.back()->getId()));
players_.emplace_back(std::make_unique<Player>(2, param.game.play_area.third_quarter_x - 15, y, demo_.enabled, param.game.play_area.rect, player_textures_[1], player_animations_));
players_.back()->setScoreBoardPanel(SCOREBOARD_RIGHT_PANEL);
players_.back()->setName(lang::getText("SCOREBOARD_53"));
players_.back()->setName(lang::getText("SCOREBOARD_2"));
players_.back()->setController(getController(players_.back()->getId()));
// Activa el jugador que coincide con el "player_id"

View File

@@ -30,10 +30,10 @@ namespace globalInputs
{
// Si la notificación de salir no está activa, muestra la notificación
#ifdef ARCADE
const std::string TEXT = code == section::Options::QUIT_WITH_CONTROLLER ? lang::getText("NOTIFICATIONS_116") : lang::getText("NOTIFICATIONS_94");
Notifier::get()->show(TEXT, std::string()}, -1, CODE);
const std::string TEXT = code == section::Options::QUIT_WITH_CONTROLLER ? lang::getText("[NOTIFICATIONS] 02") : lang::getText("[NOTIFICATIONS] 01");
Notifier::get()->show({TEXT, std::string()}, -1, CODE);
#else
Notifier::get()->show({lang::getText("NOTIFICATIONS_94"), std::string()}, -1, CODE);
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 01"), std::string()}, -1, CODE);
#endif
}
}
@@ -45,11 +45,11 @@ namespace globalInputs
if (Notifier::get()->checkCode(CODE))
{
section::name = section::Name::INIT;
Notifier::get()->show({lang::getText("HELP_111")});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 15")});
}
else
{
Notifier::get()->show({lang::getText("NOTIFICATIONS_125"), std::string()}, -1, CODE);
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 03"), std::string()}, -1, CODE);
}
}
@@ -65,21 +65,21 @@ namespace globalInputs
void toggleIntegerScale()
{
Screen::get()->toggleIntegerScale();
Notifier::get()->show({lang::getText("MISC_134") + " " + boolToOnOff(options.video.integer_scale)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 12") + " " + boolToOnOff(options.video.integer_scale)});
}
// Activa / desactiva el vsync
void toggleVSync()
{
Screen::get()->toggleVSync();
Notifier::get()->show({lang::getText("MISC_136") + " " + boolToOnOff(options.video.v_sync)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 14") + " " + boolToOnOff(options.video.v_sync)});
}
// Activa o desactiva los shaders
void toggleShaders()
{
Screen::get()->toggleShaders();
Notifier::get()->show({lang::getText("MISC_135") + " " + boolToOnOff(options.video.shaders)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 13") + " " + boolToOnOff(options.video.shaders)});
}
// Obtiene una fichero a partir de un lang::Code
@@ -126,12 +126,12 @@ namespace globalInputs
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
section::name = section::Name::INIT;
section::options = section::Options::RELOAD;
Notifier::get()->show({lang::getText("NOTIFICATIONS_127") + getLangName(options.game.language)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 05") + getLangName(options.game.language)});
}
else
{
const auto NEXT = lang::getNextLangCode(options.game.language);
Notifier::get()->show({lang::getText("NOTIFICATIONS_126") + getLangName(NEXT), std::string()}, -1, CODE);
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 04") + getLangName(NEXT), std::string()}, -1, CODE);
}
}
@@ -139,7 +139,7 @@ namespace globalInputs
void toggleFireMode()
{
options.game.autofire = !options.game.autofire;
Notifier::get()->show({lang::getText("MISC_130") + " " + boolToOnOff(options.game.autofire)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 08") + " " + boolToOnOff(options.game.autofire)});
}
// Salta una sección del juego
@@ -271,7 +271,7 @@ namespace globalInputs
if (Input::get()->checkInput(InputAction::WINDOW_FULLSCREEN, INPUT_DO_NOT_ALLOW_REPEAT, InputDeviceToUse::KEYBOARD))
{
Screen::get()->toggleFullscreen();
const std::string MODE = options.video.fullscreen ? lang::getText("MISC_133") : lang::getText("MISC_132");
const std::string MODE = options.video.fullscreen ? lang::getText("[NOTIFICATIONS] 11") : lang::getText("[NOTIFICATIONS] 10");
Notifier::get()->show({MODE});
return;
}
@@ -281,7 +281,7 @@ namespace globalInputs
{
if (Screen::get()->decWindowZoom())
{
Notifier::get()->show({lang::getText("MISC_131") + " x" + std::to_string(options.window.size)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 09") + " x" + std::to_string(options.window.size)});
}
return;
}
@@ -291,7 +291,7 @@ namespace globalInputs
{
if (Screen::get()->incWindowZoom())
{
Notifier::get()->show({lang::getText("MISC_131") + " x" + std::to_string(options.window.size)});
Notifier::get()->show({lang::getText("[NOTIFICATIONS] 09") + " x" + std::to_string(options.window.size)});
}
return;
}

View File

@@ -221,7 +221,7 @@ void HiScoreTable::createSprites()
const int first_line = (param.game.height - size) / 2;
// Crea el sprite para el texto de cabecera
header_ = std::make_unique<Sprite>(header_text->writeDXToTexture(TEXT_COLOR, lang::getText("HIGHSCORE_TABLE_42"), -2, background_fade_color_.getInverse().lighten(25)));
header_ = std::make_unique<Sprite>(header_text->writeDXToTexture(TEXT_COLOR, lang::getText("[HIGHSCORE_TABLE] CAPTION"), -2, background_fade_color_.getInverse().lighten(25)));
header_->setPosition(param.game.game_area.center_x - (header_->getWidth() / 2), first_line);
// Crea los sprites para las entradas en la tabla de puntuaciones

View File

@@ -4,6 +4,7 @@
#include <SDL3/SDL_pixels.h> // Para SDL_PIXELFORMAT_RGBA8888
#include <SDL3/SDL_timer.h> // Para SDL_GetTicks
#include <algorithm> // Para max
#include <array> // Para array
#include <utility> // Para move
#include <vector> // Para vector
#include "fade.h" // Para Fade, FadeMode, FadeType
@@ -140,13 +141,12 @@ void Instructions::fillTexture()
// Calcula cual es el texto más largo de las descripciones de los items
int lenght = 0;
const std::array<std::string, 5> ITEM_DESCRIPTIONS = {
lang::getText("INSTRUCTIONS_17"),
lang::getText("INSTRUCTIONS_18"),
lang::getText("INSTRUCTIONS_19"),
lang::getText("INSTRUCTIONS_20"),
lang::getText("INSTRUCTIONS_21")
};
for (const auto& desc : ITEM_DESCRIPTIONS)
lang::getText("[INSTRUCTIONS] 07"),
lang::getText("[INSTRUCTIONS] 08"),
lang::getText("[INSTRUCTIONS] 09"),
lang::getText("[INSTRUCTIONS] 10"),
lang::getText("[INSTRUCTIONS] 11")};
for (const auto &desc : ITEM_DESCRIPTIONS)
{
const int l = text_->lenght(desc);
lenght = l > lenght ? l : lenght;
@@ -154,24 +154,24 @@ void Instructions::fillTexture()
const int ANCHOR_ITEM = (param.game.width - (lenght + desp_x)) / 2;
// Escribe el texto de las instrucciones
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, first_line, lang::getText("INSTRUCTIONS_11"), 1, ORANGE_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, first_line, lang::getText("[INSTRUCTIONS] 01"), 1, ORANGE_COLOR, 1, SHADOW_TEXT_COLOR);
const int anchor1 = first_line + space_post_header;
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_between_lines * 0, lang::getText("INSTRUCTIONS_12"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_between_lines * 1, lang::getText("INSTRUCTIONS_13"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_new_paragraph + space_between_lines * 2, lang::getText("INSTRUCTIONS_14"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_new_paragraph + space_between_lines * 3, lang::getText("INSTRUCTIONS_15"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_between_lines * 0, lang::getText("[INSTRUCTIONS] 02"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_between_lines * 1, lang::getText("[INSTRUCTIONS] 03"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_new_paragraph + space_between_lines * 2, lang::getText("[INSTRUCTIONS] 04"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor1 + space_new_paragraph + space_between_lines * 3, lang::getText("[INSTRUCTIONS] 05"), 1, NO_COLOR, 1, SHADOW_TEXT_COLOR);
// Escribe el texto de los objetos y sus puntos
const int anchor2 = anchor1 + space_pre_header + space_new_paragraph + space_between_lines * 3;
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor2, lang::getText("INSTRUCTIONS_16"), 1, ORANGE_COLOR, 1, SHADOW_TEXT_COLOR);
text_->writeDX(TEXT_CENTER | TEXT_COLOR | TEXT_SHADOW, param.game.game_area.center_x, anchor2, lang::getText("[INSTRUCTIONS] 06"), 1, ORANGE_COLOR, 1, SHADOW_TEXT_COLOR);
const int anchor3 = anchor2 + space_post_header;
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 0, lang::getText("INSTRUCTIONS_17"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 1, lang::getText("INSTRUCTIONS_18"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 2, lang::getText("INSTRUCTIONS_19"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 3, lang::getText("INSTRUCTIONS_20"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 4, lang::getText("INSTRUCTIONS_21"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 0, lang::getText("[INSTRUCTIONS] 07"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 1, lang::getText("[INSTRUCTIONS] 08"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 2, lang::getText("[INSTRUCTIONS] 09"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 3, lang::getText("[INSTRUCTIONS] 10"), SHADOW_TEXT_COLOR);
text_->writeShadowed(ANCHOR_ITEM + desp_x, anchor3 + space_between_item_lines * 4, lang::getText("[INSTRUCTIONS] 11"), SHADOW_TEXT_COLOR);
// Deja el renderizador como estaba
SDL_SetRenderTarget(renderer_, temp);

View File

@@ -396,39 +396,39 @@ void Intro::initTexts()
}
// Un dia qualsevol de l'any 2000
texts_.at(0)->setCaption(lang::getText("INTRO_27"));
texts_.at(0)->setCaption(lang::getText("[INTRO] 1"));
texts_.at(0)->setSpeed(8);
// Tot esta tranquil a la UPV
texts_.at(1)->setCaption(lang::getText("INTRO_28"));
texts_.at(1)->setCaption(lang::getText("[INTRO] 2"));
texts_.at(1)->setSpeed(8);
// Fins que un desaprensiu...
texts_.at(2)->setCaption(lang::getText("INTRO_29"));
texts_.at(2)->setCaption(lang::getText("[INTRO] 3"));
texts_.at(2)->setSpeed(12);
// HEY! ME ANE A FERME UN CORTAET...
texts_.at(3)->setCaption(lang::getText("INTRO_30"));
texts_.at(3)->setCaption(lang::getText("[INTRO] 4"));
texts_.at(3)->setSpeed(8);
// UAAAAAAAAAAAAA!!!
texts_.at(4)->setCaption(lang::getText("INTRO_31"));
texts_.at(4)->setCaption(lang::getText("[INTRO] 5"));
texts_.at(4)->setSpeed(1);
// Espera un moment...
texts_.at(5)->setCaption(lang::getText("INTRO_32"));
texts_.at(5)->setCaption(lang::getText("[INTRO] 6"));
texts_.at(5)->setSpeed(16);
// Si resulta que no tinc solt!
texts_.at(6)->setCaption(lang::getText("INTRO_33"));
texts_.at(6)->setCaption(lang::getText("[INTRO] 7"));
texts_.at(6)->setSpeed(2);
// MERDA DE MAQUINA!
texts_.at(7)->setCaption(lang::getText("INTRO_34"));
texts_.at(7)->setCaption(lang::getText("[INTRO] 8"));
texts_.at(7)->setSpeed(3);
// Blop... blop... blop...
texts_.at(8)->setCaption(lang::getText("INTRO_35"));
texts_.at(8)->setCaption(lang::getText("[INTRO] 9"));
texts_.at(8)->setSpeed(20);
for (auto &text : texts_)

View File

@@ -282,10 +282,10 @@ void Resource::createTextures()
{"game_text_1000_points", "1.000"},
{"game_text_2500_points", "2.500"},
{"game_text_5000_points", "5.000"},
{"game_text_powerup", lang::getText("GAME_TEXT_117")},
{"game_text_one_hit", lang::getText("GAME_TEXT_118")},
{"game_text_stop", lang::getText("GAME_TEXT_119")},
{"game_text_1000000_points", lang::getText("GAMEPLAY_76")}};
{"game_text_powerup", lang::getText("[GAME_TEXT] 4")},
{"game_text_one_hit", lang::getText("[GAME_TEXT] 5")},
{"game_text_stop", lang::getText("[GAME_TEXT] 6")},
{"game_text_1000000_points", lang::getText("[GAME_TEXT] 8")}};
auto text = getText("04b_25");
for (const auto &s : strings)
@@ -297,9 +297,9 @@ void Resource::createTextures()
// Tamaño doble
std::vector<NameAndText> strings2X = {
{"game_text_100000_points", "100.000"},
{"game_text_get_ready", lang::getText("GAMEPLAY_75")},
{"game_text_last_stage", lang::getText("GAME_TEXT_79")},
{"game_text_congratulations", lang::getText("GAME_COMPLETION_TEXT_50")},
{"game_text_get_ready", lang::getText("[GAME_TEXT] 7")},
{"game_text_last_stage", lang::getText("[GAME_TEXT] 3")},
{"game_text_congratulations", lang::getText("[GAME_TEXT] 1")},
{"game_text_game_over", "Game Over"}};
auto text2 = getText("04b_25_2x");

View File

@@ -177,7 +177,7 @@ void Scoreboard::fillPanelTextures()
text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// MULT
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_55"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_3"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, "x" + std::to_string(mult_[i]).substr(0, 3));
break;
}
@@ -185,13 +185,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::DEMO:
{
// DEMO MODE
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_101"));
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_6"));
// PRESS START TO PLAY
if (time_counter_ % 10 < 8)
{
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_103"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_104"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_8"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_9"));
}
break;
}
@@ -199,13 +199,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::WAITING:
{
// GAME OVER
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_102"));
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_7"));
// PRESS START TO PLAY
if (time_counter_ % 10 < 8)
{
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_103"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_104"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_8"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_9"));
}
break;
}
@@ -213,13 +213,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::GAME_OVER:
{
// GAME OVER
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_102"));
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_7"));
// PLEASE WAIT
if (time_counter_ % 10 < 8)
{
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_114"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_115"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_12"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_13"));
}
break;
}
@@ -227,7 +227,7 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::STAGE_INFO:
{
// STAGE
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y, lang::getText("SCOREBOARD_57") + std::to_string(stage_));
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y, lang::getText("SCOREBOARD_5") + std::to_string(stage_));
// POWERMETER
power_meter_sprite_->setSpriteClip(0, 0, 40, 7);
@@ -236,7 +236,7 @@ void Scoreboard::fillPanelTextures()
power_meter_sprite_->render();
// HI-SCORE
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_56"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_4"));
const std::string name = hi_score_name_ == "" ? "" : hi_score_name_ + " - ";
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, name + updateScoreText(hi_score_));
break;
@@ -249,7 +249,7 @@ void Scoreboard::fillPanelTextures()
text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// CONTINUE
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_105"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_10"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, std::to_string(continue_counter_[i]));
break;
}
@@ -262,7 +262,7 @@ void Scoreboard::fillPanelTextures()
// ENTER NAME
{
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_106"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_11"));
SDL_FRect rect = {enter_name_pos_.x, enter_name_pos_.y, 5.0f, 7.0f};
// Recorre todos los slots de letras del nombre
@@ -298,7 +298,7 @@ void Scoreboard::fillPanelTextures()
text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// NAME
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_106"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText("SCOREBOARD_11"));
/* TEXTO CENTRADO */
// text_scoreboard_->writeDX(TEXT_CENTER | TEXT_COLOR, slot4_4_.x, slot4_4_.y, record_name_[i], 1, getColorLikeKnightRider(name_colors_, loop_counter_ / 5));
@@ -309,12 +309,12 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::GAME_COMPLETED:
{
// GAME OVER
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_102"));
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText("SCOREBOARD_7"));
// SCORE
if (time_counter_ % 10 < 8)
{
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_120"));
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_14"));
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, updateScoreText(score_[i]));
}
}

View File

@@ -9,6 +9,7 @@
#include "section.h" // Para Name, name, Options, options, AttractMode
#include "audio.h"
#include <unordered_map>
#include "lang.h"
// Singleton
ServiceMenu *ServiceMenu::instance_ = nullptr;
@@ -67,7 +68,7 @@ void ServiceMenu::render()
// TITULO
y += line_height_;
title_text_->writeDX(TEXT_COLOR | TEXT_CENTER, param.game.game_area.center_x, y, "SERVICE MENU", -4, title_color_);
title_text_->writeDX(TEXT_COLOR | TEXT_CENTER, param.game.game_area.center_x, y, lang::getText("[SERVICE_MENU] TITLE"), -4, title_color_);
// LINEA
y += line_height_ * 2;
@@ -92,13 +93,6 @@ void ServiceMenu::render()
element_text_->writeDX(TEXT_CENTER | TEXT_COLOR, rect_.x + rect_.w / 2, y, option_pairs_.at(i).first, -2, i == selected_ ? selected_color_ : text_color_);
}
}
/*
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 0, 255, 0, 255);
for (int i = rect_.y; i < rect_.y + rect_.h; i += line_height_)
{
SDL_RenderLine(Screen::get()->getRenderer(), rect_.x, i, rect_.x + rect_.w, i);
}
*/
}
}
@@ -116,7 +110,7 @@ void ServiceMenu::update()
void ServiceMenu::setAnchors()
{
line_height_ = element_text_->getCharacterSize() + 5;
width_ = 220;
width_ = 240;
height_ = calculateMenuHeight();
rect_ = {
(param.game.width - width_) / 2,
@@ -171,7 +165,7 @@ void ServiceMenu::setSelectorUp()
{
if (display_options_.empty())
return;
selected_ = (selected_ > 0) ? --selected_ : display_options_.size() - 1;
selected_ = (selected_ > 0) ? selected_ - 1 : display_options_.size() - 1;
playMenuSound();
}
@@ -219,19 +213,19 @@ void ServiceMenu::selectOption()
// Opción
if (display_options_.at(selected_).behavior == OptionBehavior::SELECT)
{
if (display_options_.at(selected_).caption == "RESET")
if (display_options_.at(selected_).caption == lang::getText("[SERVICE_MENU] RESET"))
{
section::name = section::Name::INIT;
toggle();
return;
}
else if (display_options_.at(selected_).caption == "QUIT")
else if (display_options_.at(selected_).caption == lang::getText("[SERVICE_MENU] QUIT"))
{
section::name = section::Name::QUIT;
section::options = section::Options::QUIT_WITH_KEYBOARD;
return;
}
else if (display_options_.at(selected_).caption == "SHUTDOWN")
else if (display_options_.at(selected_).caption == lang::getText("[SERVICE_MENU] SHUTDOWN"))
{
section::name = section::Name::QUIT;
section::options = section::Options::QUIT_WITH_CONTROLLER;
@@ -262,32 +256,31 @@ void ServiceMenu::moveBack()
void ServiceMenu::initializeOptions()
{
// Video
options_.emplace_back("FULLSCREEN", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.fullscreen, ValueType::BOOL);
options_.emplace_back("WINDOW SIZE", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.window.size, ValueType::INT, 1, options.window.max_size, 1);
options_.emplace_back("SHADERS", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.shaders, ValueType::BOOL);
options_.emplace_back("VSYNC", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.v_sync, ValueType::BOOL);
options_.emplace_back("INTEGER SCALE", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.integer_scale, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] FULLSCREEN"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.fullscreen, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] WINDOW_SIZE"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.window.size, ValueType::INT, 1, options.window.max_size, 1);
options_.emplace_back(lang::getText("[SERVICE_MENU] SHADERS"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.shaders, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] VSYNC"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.v_sync, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] INTEGER_SCALE"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.integer_scale, ValueType::BOOL);
// Audio
options_.emplace_back("AUDIO", SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.enabled, ValueType::BOOL);
options_.emplace_back("MAIN VOLUME", SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.volume, ValueType::INT, 0, 100, 5);
options_.emplace_back("MUSIC VOLUME", SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.music.volume, ValueType::INT, 0, 100, 5);
options_.emplace_back("SFX VOLUME", SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.sound.volume, ValueType::INT, 0, 100, 5);
options_.emplace_back(lang::getText("[SERVICE_MENU] AUDIO"), SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.enabled, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] MAIN_VOLUME"), SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.volume, ValueType::INT, 0, 100, 5);
options_.emplace_back(lang::getText("[SERVICE_MENU] MUSIC_VOLUME"), SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.music.volume, ValueType::INT, 0, 100, 5);
options_.emplace_back(lang::getText("[SERVICE_MENU] SFX_VOLUME"), SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.sound.volume, ValueType::INT, 0, 100, 5);
// Game
options_.emplace_back("AUTOFIRE", SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.autofire, ValueType::BOOL);
// options_.emplace_back("LANG", SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.language, ValueType::BOOL);
options_.emplace_back(lang::getText("[SERVICE_MENU] AUTOFIRE"), SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.autofire, ValueType::BOOL);
// System
options_.emplace_back("RESET", SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
options_.emplace_back("QUIT", SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
options_.emplace_back("SHUTDOWN", SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
options_.emplace_back(lang::getText("[SERVICE_MENU] RESET"), SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
options_.emplace_back(lang::getText("[SERVICE_MENU] QUIT"), SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
options_.emplace_back(lang::getText("[SERVICE_MENU] SHUTDOWN"), SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
// Menu principal
options_.emplace_back("VIDEO", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::VIDEO);
options_.emplace_back("AUDIO", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::AUDIO);
options_.emplace_back("GAME", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::GAME);
options_.emplace_back("SYSTEM", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::SYSTEM);
options_.emplace_back(lang::getText("[SERVICE_MENU] VIDEO"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::VIDEO);
options_.emplace_back(lang::getText("[SERVICE_MENU] AUDIO"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::AUDIO);
options_.emplace_back(lang::getText("[SERVICE_MENU] GAME"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::GAME);
options_.emplace_back(lang::getText("[SERVICE_MENU] SYSTEM"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::SYSTEM);
}
// Devuelve las opciones del grupo como pares (nombre, valor)

View File

@@ -6,6 +6,7 @@
#include <memory>
#include <SDL3/SDL.h>
#include "utils.h"
#include "lang.h"
class Text;
@@ -131,7 +132,7 @@ private:
switch (type)
{
case ValueType::BOOL:
return (*(static_cast<bool *>(linked_variable))) ? "ON" : "OFF";
return (*(static_cast<bool *>(linked_variable))) ? lang::getText("[SERVICE_MENU] ON") : lang::getText("[SERVICE_MENU] OFF");
case ValueType::INT:
return std::to_string(*(static_cast<int *>(linked_variable)));
default:

View File

@@ -112,7 +112,7 @@ void Title::render()
// 'PRESS TO PLAY'
if (counter_ % 50 > 14 && !define_buttons_->isEnabled())
{
text_->writeDX(TEXT_CENTER | TEXT_SHADOW, param.game.game_area.center_x, param.title.press_start_position, lang::getText("TITLE_23"), 1, NO_COLOR, 1, shadow);
text_->writeDX(TEXT_CENTER | TEXT_SHADOW, param.game.game_area.center_x, param.title.press_start_position, lang::getText("[TITLE] PRESS_BUTTON_TO_PLAY"), 1, NO_COLOR, 1, shadow);
}
}
@@ -121,7 +121,7 @@ void Title::render()
// 'PRESS TO PLAY'
if (counter_ % 10 > 4 && !define_buttons_->isEnabled())
{
text_->writeDX(TEXT_CENTER | TEXT_SHADOW, param.game.game_area.center_x, param.title.press_start_position, lang::getText("TITLE_23"), 1, NO_COLOR, 1, shadow);
text_->writeDX(TEXT_CENTER | TEXT_SHADOW, param.game.game_area.center_x, param.title.press_start_position, lang::getText("[TITLE] PRESS_BUTTON_TO_PLAY"), 1, NO_COLOR, 1, shadow);
}
}
@@ -277,7 +277,7 @@ void Title::swapControllers()
void Title::swapKeyboard()
{
swapOptionsKeyboard();
std::string text = lang::getText("DEFINE_BUTTONS_100") + std::to_string(getPlayerWhoUsesKeyboard()) + ": " + lang::getText("MENU_OPTIONS_69");
std::string text = lang::getText("[DEFINE_BUTTONS] PLAYER") + std::to_string(getPlayerWhoUsesKeyboard()) + ": " + lang::getText("[DEFINE_BUTTONS] KEYBOARD");
Notifier::get()->show({text});
}
@@ -302,7 +302,7 @@ void Title::showControllers()
const size_t index = player_controller_index.at(i);
if (options.controllers.at(index).plugged)
{
text.at(i) = lang::getText("DEFINE_BUTTONS_100") + std::to_string(i + 1) + ": " + options.controllers.at(index).name;
text.at(i) = lang::getText("[DEFINE_BUTTONS] PLAYER") + std::to_string(i + 1) + ": " + options.controllers.at(index).name;
}
}

View File

@@ -129,7 +129,7 @@ std::string boolToString(bool value)
// Convierte un valor booleano en una cadena "on" o "off"
std::string boolToOnOff(bool value)
{
return value ? lang::getText("MISC_128") : lang::getText("MISC_129");
return value ? lang::getText("[NOTIFICATIONS] 06") : lang::getText("[NOTIFICATIONS] 07");
}
// Convierte una cadena a minusculas