Compare commits

..

4 Commits

16 changed files with 407 additions and 530 deletions

View File

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

View File

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

View File

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

View File

@@ -169,10 +169,10 @@ void Credits::fillTextTexture()
SDL_RenderClear(Screen::get()->getRenderer()); SDL_RenderClear(Screen::get()->getRenderer());
const std::array<std::string, 10> TEXTS = { const std::array<std::string, 10> TEXTS = {
lang::getText("CREDITS_121"), lang::getText("[CREDITS] PROGRAMMED_AND_DESIGNED_BY"),
lang::getText("CREDITS_122"), lang::getText("[CREDITS] PIXELART_DRAWN_BY"),
lang::getText("CREDITS_123"), lang::getText("[CREDITS] MUSIC_COMPOSED_BY"),
lang::getText("CREDITS_124"), lang::getText("[CREDITS] SOUND_EFFECTS"),
"JAILDESIGNER", "JAILDESIGNER",
"JAILDOCTOR (INTRO)", "JAILDOCTOR (INTRO)",
"ERIC MATYAS (SOUNDIMAGE.ORG)", "ERIC MATYAS (SOUNDIMAGE.ORG)",

View File

@@ -28,7 +28,7 @@ void DefineButtons::render()
{ {
if (enabled_) 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_, controller_names_.at(index_controller_));
text_->writeCentered(x_, y_ + 10, buttons_.at(index_button_).label); text_->writeCentered(x_, y_ + 10, buttons_.at(index_button_).label);
} }
@@ -135,9 +135,9 @@ bool DefineButtons::checkButtonNotInUse(SDL_GamepadButton button)
void DefineButtons::clearButtons() void DefineButtons::clearButtons()
{ {
buttons_.clear(); buttons_.clear();
buttons_.emplace_back(lang::getText("DEFINE_BUTTONS_95"), InputAction::FIRE_LEFT, 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_96"), InputAction::FIRE_CENTER, 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_97"), InputAction::FIRE_RIGHT, 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_98"), InputAction::START, 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_99"), InputAction::SERVICE, 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 else
{ {
auto text = Resource::get()->getText("04b_25_2x"); 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)); 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; 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_.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()->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_.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_.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()->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())); players_.back()->setController(getController(players_.back()->getId()));
// Activa el jugador que coincide con el "player_id" // 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 // Si la notificación de salir no está activa, muestra la notificación
#ifdef ARCADE #ifdef ARCADE
const std::string TEXT = code == section::Options::QUIT_WITH_CONTROLLER ? lang::getText("NOTIFICATIONS_116") : lang::getText("NOTIFICATIONS_94"); 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); Notifier::get()->show({TEXT, std::string()}, -1, CODE);
#else #else
Notifier::get()->show({lang::getText("NOTIFICATIONS_94"), std::string()}, -1, CODE); Notifier::get()->show({lang::getText("[NOTIFICATIONS] 01"), std::string()}, -1, CODE);
#endif #endif
} }
} }
@@ -45,11 +45,11 @@ namespace globalInputs
if (Notifier::get()->checkCode(CODE)) if (Notifier::get()->checkCode(CODE))
{ {
section::name = section::Name::INIT; section::name = section::Name::INIT;
Notifier::get()->show({lang::getText("HELP_111")}); Notifier::get()->show({lang::getText("[NOTIFICATIONS] 15")});
} }
else 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() void toggleIntegerScale()
{ {
Screen::get()->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 // Activa / desactiva el vsync
void toggleVSync() void toggleVSync()
{ {
Screen::get()->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 // Activa o desactiva los shaders
void toggleShaders() void toggleShaders()
{ {
Screen::get()->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 // 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))); lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
section::name = section::Name::INIT; section::name = section::Name::INIT;
section::options = section::Options::RELOAD; 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 else
{ {
const auto NEXT = lang::getNextLangCode(options.game.language); 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() void toggleFireMode()
{ {
options.game.autofire = !options.game.autofire; 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 // 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)) if (Input::get()->checkInput(InputAction::WINDOW_FULLSCREEN, INPUT_DO_NOT_ALLOW_REPEAT, InputDeviceToUse::KEYBOARD))
{ {
Screen::get()->toggleFullscreen(); 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}); Notifier::get()->show({MODE});
return; return;
} }
@@ -281,7 +281,7 @@ namespace globalInputs
{ {
if (Screen::get()->decWindowZoom()) 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; return;
} }
@@ -291,7 +291,7 @@ namespace globalInputs
{ {
if (Screen::get()->incWindowZoom()) 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; return;
} }

View File

@@ -221,7 +221,7 @@ void HiScoreTable::createSprites()
const int first_line = (param.game.height - size) / 2; const int first_line = (param.game.height - size) / 2;
// Crea el sprite para el texto de cabecera // 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); header_->setPosition(param.game.game_area.center_x - (header_->getWidth() / 2), first_line);
// Crea los sprites para las entradas en la tabla de puntuaciones // 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_pixels.h> // Para SDL_PIXELFORMAT_RGBA8888
#include <SDL3/SDL_timer.h> // Para SDL_GetTicks #include <SDL3/SDL_timer.h> // Para SDL_GetTicks
#include <algorithm> // Para max #include <algorithm> // Para max
#include <array> // Para array
#include <utility> // Para move #include <utility> // Para move
#include <vector> // Para vector #include <vector> // Para vector
#include "fade.h" // Para Fade, FadeMode, FadeType #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 // Calcula cual es el texto más largo de las descripciones de los items
int lenght = 0; int lenght = 0;
const std::array<std::string, 5> ITEM_DESCRIPTIONS = { const std::array<std::string, 5> ITEM_DESCRIPTIONS = {
lang::getText("INSTRUCTIONS_17"), lang::getText("[INSTRUCTIONS] 07"),
lang::getText("INSTRUCTIONS_18"), lang::getText("[INSTRUCTIONS] 08"),
lang::getText("INSTRUCTIONS_19"), lang::getText("[INSTRUCTIONS] 09"),
lang::getText("INSTRUCTIONS_20"), lang::getText("[INSTRUCTIONS] 10"),
lang::getText("INSTRUCTIONS_21") lang::getText("[INSTRUCTIONS] 11")};
}; for (const auto &desc : ITEM_DESCRIPTIONS)
for (const auto& desc : ITEM_DESCRIPTIONS)
{ {
const int l = text_->lenght(desc); const int l = text_->lenght(desc);
lenght = l > lenght ? l : lenght; lenght = l > lenght ? l : lenght;
@@ -154,24 +154,24 @@ void Instructions::fillTexture()
const int ANCHOR_ITEM = (param.game.width - (lenght + desp_x)) / 2; const int ANCHOR_ITEM = (param.game.width - (lenght + desp_x)) / 2;
// Escribe el texto de las instrucciones // 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; 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 * 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_13"), 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_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 * 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_15"), 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 // Escribe el texto de los objetos y sus puntos
const int anchor2 = anchor1 + space_pre_header + space_new_paragraph + space_between_lines * 3; 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; 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 * 0, lang::getText("[INSTRUCTIONS] 07"), 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 * 1, lang::getText("[INSTRUCTIONS] 08"), 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 * 2, lang::getText("[INSTRUCTIONS] 09"), 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 * 3, lang::getText("[INSTRUCTIONS] 10"), 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 * 4, lang::getText("[INSTRUCTIONS] 11"), SHADOW_TEXT_COLOR);
// Deja el renderizador como estaba // Deja el renderizador como estaba
SDL_SetRenderTarget(renderer_, temp); SDL_SetRenderTarget(renderer_, temp);

View File

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

View File

@@ -282,10 +282,10 @@ void Resource::createTextures()
{"game_text_1000_points", "1.000"}, {"game_text_1000_points", "1.000"},
{"game_text_2500_points", "2.500"}, {"game_text_2500_points", "2.500"},
{"game_text_5000_points", "5.000"}, {"game_text_5000_points", "5.000"},
{"game_text_powerup", lang::getText("GAME_TEXT_117")}, {"game_text_powerup", lang::getText("[GAME_TEXT] 4")},
{"game_text_one_hit", lang::getText("GAME_TEXT_118")}, {"game_text_one_hit", lang::getText("[GAME_TEXT] 5")},
{"game_text_stop", lang::getText("GAME_TEXT_119")}, {"game_text_stop", lang::getText("[GAME_TEXT] 6")},
{"game_text_1000000_points", lang::getText("GAMEPLAY_76")}}; {"game_text_1000000_points", lang::getText("[GAME_TEXT] 8")}};
auto text = getText("04b_25"); auto text = getText("04b_25");
for (const auto &s : strings) for (const auto &s : strings)
@@ -297,9 +297,9 @@ void Resource::createTextures()
// Tamaño doble // Tamaño doble
std::vector<NameAndText> strings2X = { std::vector<NameAndText> strings2X = {
{"game_text_100000_points", "100.000"}, {"game_text_100000_points", "100.000"},
{"game_text_get_ready", lang::getText("GAMEPLAY_75")}, {"game_text_get_ready", lang::getText("[GAME_TEXT] 7")},
{"game_text_last_stage", lang::getText("GAME_TEXT_79")}, {"game_text_last_stage", lang::getText("[GAME_TEXT] 3")},
{"game_text_congratulations", lang::getText("GAME_COMPLETION_TEXT_50")}, {"game_text_congratulations", lang::getText("[GAME_TEXT] 1")},
{"game_text_game_over", "Game Over"}}; {"game_text_game_over", "Game Over"}};
auto text2 = getText("04b_25_2x"); 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])); text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// MULT // 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)); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, "x" + std::to_string(mult_[i]).substr(0, 3));
break; break;
} }
@@ -185,13 +185,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::DEMO: case ScoreboardMode::DEMO:
{ {
// DEMO MODE // 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 // PRESS START TO PLAY
if (time_counter_ % 10 < 8) if (time_counter_ % 10 < 8)
{ {
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_103")); 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_104")); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_9"));
} }
break; break;
} }
@@ -199,13 +199,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::WAITING: case ScoreboardMode::WAITING:
{ {
// 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"));
// PRESS START TO PLAY // PRESS START TO PLAY
if (time_counter_ % 10 < 8) if (time_counter_ % 10 < 8)
{ {
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_103")); 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_104")); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_9"));
} }
break; break;
} }
@@ -213,13 +213,13 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::GAME_OVER: case ScoreboardMode::GAME_OVER:
{ {
// 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 // PLEASE WAIT
if (time_counter_ % 10 < 8) if (time_counter_ % 10 < 8)
{ {
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText("SCOREBOARD_114")); 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_115")); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, lang::getText("SCOREBOARD_13"));
} }
break; break;
} }
@@ -227,7 +227,7 @@ void Scoreboard::fillPanelTextures()
case ScoreboardMode::STAGE_INFO: case ScoreboardMode::STAGE_INFO:
{ {
// STAGE // 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 // POWERMETER
power_meter_sprite_->setSpriteClip(0, 0, 40, 7); power_meter_sprite_->setSpriteClip(0, 0, 40, 7);
@@ -236,7 +236,7 @@ void Scoreboard::fillPanelTextures()
power_meter_sprite_->render(); power_meter_sprite_->render();
// HI-SCORE // 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_ + " - "; const std::string name = hi_score_name_ == "" ? "" : hi_score_name_ + " - ";
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, name + updateScoreText(hi_score_)); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, name + updateScoreText(hi_score_));
break; break;
@@ -249,7 +249,7 @@ void Scoreboard::fillPanelTextures()
text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i])); text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// CONTINUE // 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])); text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y, std::to_string(continue_counter_[i]));
break; break;
} }
@@ -262,7 +262,7 @@ void Scoreboard::fillPanelTextures()
// ENTER NAME // 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}; SDL_FRect rect = {enter_name_pos_.x, enter_name_pos_.y, 5.0f, 7.0f};
// Recorre todos los slots de letras del nombre // 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])); text_scoreboard_->writeCentered(slot4_2_.x, slot4_2_.y, updateScoreText(score_[i]));
// NAME // 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 */ /* 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)); // 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: case ScoreboardMode::GAME_COMPLETED:
{ {
// 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"));
// SCORE // SCORE
if (time_counter_ % 10 < 8) 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])); 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 "section.h" // Para Name, name, Options, options, AttractMode
#include "audio.h" #include "audio.h"
#include <unordered_map> #include <unordered_map>
#include "lang.h"
// Singleton // Singleton
ServiceMenu *ServiceMenu::instance_ = nullptr; ServiceMenu *ServiceMenu::instance_ = nullptr;
@@ -67,7 +68,7 @@ void ServiceMenu::render()
// TITULO // TITULO
y += line_height_; 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 // LINEA
y += line_height_ * 2; 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_); 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() void ServiceMenu::setAnchors()
{ {
line_height_ = element_text_->getCharacterSize() + 5; line_height_ = element_text_->getCharacterSize() + 5;
width_ = 220; width_ = 240;
height_ = calculateMenuHeight(); height_ = calculateMenuHeight();
rect_ = { rect_ = {
(param.game.width - width_) / 2, (param.game.width - width_) / 2,
@@ -171,7 +165,7 @@ void ServiceMenu::setSelectorUp()
{ {
if (display_options_.empty()) if (display_options_.empty())
return; return;
selected_ = (selected_ > 0) ? --selected_ : display_options_.size() - 1; selected_ = (selected_ > 0) ? selected_ - 1 : display_options_.size() - 1;
playMenuSound(); playMenuSound();
} }
@@ -219,19 +213,19 @@ void ServiceMenu::selectOption()
// Opción // Opción
if (display_options_.at(selected_).behavior == OptionBehavior::SELECT) 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; section::name = section::Name::INIT;
toggle(); toggle();
return; 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::name = section::Name::QUIT;
section::options = section::Options::QUIT_WITH_KEYBOARD; section::options = section::Options::QUIT_WITH_KEYBOARD;
return; 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::name = section::Name::QUIT;
section::options = section::Options::QUIT_WITH_CONTROLLER; section::options = section::Options::QUIT_WITH_CONTROLLER;
@@ -262,32 +256,31 @@ void ServiceMenu::moveBack()
void ServiceMenu::initializeOptions() void ServiceMenu::initializeOptions()
{ {
// Video // Video
options_.emplace_back("FULLSCREEN", SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.fullscreen, ValueType::BOOL); options_.emplace_back(lang::getText("[SERVICE_MENU] 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(lang::getText("[SERVICE_MENU] 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(lang::getText("[SERVICE_MENU] 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(lang::getText("[SERVICE_MENU] 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] INTEGER_SCALE"), SettingsGroup::VIDEO, OptionBehavior::ADJUST, &options.video.integer_scale, ValueType::BOOL);
// Audio // Audio
options_.emplace_back("AUDIO", SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.enabled, ValueType::BOOL); options_.emplace_back(lang::getText("[SERVICE_MENU] 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(lang::getText("[SERVICE_MENU] 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(lang::getText("[SERVICE_MENU] 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] SFX_VOLUME"), SettingsGroup::AUDIO, OptionBehavior::ADJUST, &options.audio.sound.volume, ValueType::INT, 0, 100, 5);
// Game // Game
options_.emplace_back("AUTOFIRE", SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.autofire, ValueType::BOOL); options_.emplace_back(lang::getText("[SERVICE_MENU] AUTOFIRE"), SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.autofire, ValueType::BOOL);
// options_.emplace_back("LANG", SettingsGroup::GAME, OptionBehavior::ADJUST, &options.game.language, ValueType::BOOL);
// System // System
options_.emplace_back("RESET", 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("QUIT", 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("SHUTDOWN", SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE); options_.emplace_back(lang::getText("[SERVICE_MENU] SHUTDOWN"), SettingsGroup::SYSTEM, OptionBehavior::SELECT, nullptr, ValueType::NONE);
// Menu principal // Menu principal
options_.emplace_back("VIDEO", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::VIDEO); options_.emplace_back(lang::getText("[SERVICE_MENU] VIDEO"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::VIDEO);
options_.emplace_back("AUDIO", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::AUDIO); options_.emplace_back(lang::getText("[SERVICE_MENU] AUDIO"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::AUDIO);
options_.emplace_back("GAME", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::GAME); options_.emplace_back(lang::getText("[SERVICE_MENU] GAME"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::GAME);
options_.emplace_back("SYSTEM", SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::SYSTEM); options_.emplace_back(lang::getText("[SERVICE_MENU] SYSTEM"), SettingsGroup::MAIN, OptionBehavior::SELECT, SettingsGroup::SYSTEM);
} }
// Devuelve las opciones del grupo como pares (nombre, valor) // Devuelve las opciones del grupo como pares (nombre, valor)

View File

@@ -6,6 +6,7 @@
#include <memory> #include <memory>
#include <SDL3/SDL.h> #include <SDL3/SDL.h>
#include "utils.h" #include "utils.h"
#include "lang.h"
class Text; class Text;
@@ -131,7 +132,7 @@ private:
switch (type) switch (type)
{ {
case ValueType::BOOL: 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: case ValueType::INT:
return std::to_string(*(static_cast<int *>(linked_variable))); return std::to_string(*(static_cast<int *>(linked_variable)));
default: default:

View File

@@ -112,7 +112,7 @@ void Title::render()
// 'PRESS TO PLAY' // 'PRESS TO PLAY'
if (counter_ % 50 > 14 && !define_buttons_->isEnabled()) 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' // 'PRESS TO PLAY'
if (counter_ % 10 > 4 && !define_buttons_->isEnabled()) 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() void Title::swapKeyboard()
{ {
swapOptionsKeyboard(); 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}); Notifier::get()->show({text});
} }
@@ -302,7 +302,7 @@ void Title::showControllers()
const size_t index = player_controller_index.at(i); const size_t index = player_controller_index.at(i);
if (options.controllers.at(index).plugged) 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" // Convierte un valor booleano en una cadena "on" o "off"
std::string boolToOnOff(bool value) 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 // Convierte una cadena a minusculas