From 71f1d2f64a6d0d1ac471df490a8540f3e95ef196 Mon Sep 17 00:00:00 2001 From: Mechstreme <84944335+Mechstreme@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:58:02 -0300 Subject: [PATCH] Update & fix issues with #184 and #205 (#215) * Update improved Portuguese translation * Update hud.lua (optimizations, updated comments, +2 examples) --- docs/lua/examples/hud.lua | 81 ++++++++++++--------- lang/Portuguese.ini | 146 +++++++++++++++++++------------------- 2 files changed, 119 insertions(+), 108 deletions(-) diff --git a/docs/lua/examples/hud.lua b/docs/lua/examples/hud.lua index 16bbc354..1bb385a6 100644 --- a/docs/lua/examples/hud.lua +++ b/docs/lua/examples/hud.lua @@ -1,7 +1,5 @@ -- This file is an example of how to render to the screen -local rainbow = 0 - local function test_text() -- set text and scale local text = "This is example text in the bottom right." @@ -29,15 +27,17 @@ local function test_text() end local function test_texture() - -- render to N64's screen space + -- render to the N64's screen space djui_hud_set_resolution(RESOLUTION_N64) - -- get player's character texture - local tex = gMarioStates[0].character.hudHeadTexture + local tex = gTextures.star -- color and render djui_hud_set_color(255, 0, 255, 255) djui_hud_render_texture(tex, 256, 64, 1, 1) + + -- render texture, but cut in half + djui_hud_render_texture_tile(tex, 256, 84, 2, 1, 0, 0, 8, 16) end local function test_rect() @@ -77,34 +77,19 @@ local function test_rect() djui_hud_render_rect(x, y, w, h) end - -local function test_mouse() - -- render to native screen space (recommended for this) - djui_hud_set_resolution(RESOLUTION_DJUI) - - -- get mouse position - local mouseX = djui_hud_get_mouse_x() - local mouseY = djui_hud_get_mouse_y() - - local scale = 4 - - -- set color and render - djui_hud_set_color(255, 255, 255, 255) - djui_hud_render_texture(gTextures.arrow_up, mouseX, mouseY, scale, scale) -end - local function test_rainbow_text() -- this function is incredibly silly -- don't do anything like this - local res = RESOLUTION_DJUI local text = "HELLO WORLD" local scale = 3 - djui_hud_set_resolution(res) + local gt = get_global_timer() + + djui_hud_set_resolution(RESOLUTION_DJUI) djui_hud_set_font(FONT_NORMAL) for i=0,255 do - j = rainbow / 50 + j = gt / 50 local r = math.sin(0.00 + i / 15 + j) * 127 + 127 local g = math.sin(0.33 + i / 33 + j) * 127 + 127 local b = math.sin(0.66 + i / 77 + j) * 127 + 127 @@ -118,7 +103,6 @@ local function test_rainbow_text() djui_hud_set_color(r, g, b, i) djui_hud_print_text(text, x, y, scale) end - rainbow = rainbow + 1 end local function test_rotation() @@ -149,10 +133,14 @@ end local function test_filtering() local scale = 1 - -- render to N64's screen space with the MENU font + -- reset rotation from earlier + djui_hud_set_rotation(0, 0, 0) + + -- render to the N64's screen space with the HUD font djui_hud_set_resolution(RESOLUTION_N64) djui_hud_set_font(FONT_HUD) - djui_hud_set_color(255, 255, 255, 255) + + djui_hud_reset_color() -- get height of screen and text local screenHeight = djui_hud_get_screen_height() @@ -164,7 +152,7 @@ local function test_filtering() djui_hud_set_filter(FILTER_NEAREST) djui_hud_print_text("NEAREST", 0, y, scale) - -- adjust position + -- adjust position y = y - height -- set filtering and render @@ -173,36 +161,58 @@ local function test_filtering() end local function test_world_to_screen() - -- render to N64's screen space (recommended for this) + -- render to the N64's screen space (recommended for this) djui_hud_set_resolution(RESOLUTION_N64) - -- reset rotation and filtering from earlier - djui_hud_set_rotation(0, 0, 0) + -- reset filtering from earlier djui_hud_set_filter(FILTER_NEAREST) + -- project to mario's position local out = {x = 0, y = 0, z = 0} djui_hud_world_pos_to_screen_pos(gMarioStates[0].pos,out) -- get player's character texture local tex = gMarioStates[0].character.hudHeadTexture - djui_hud_set_color(255, 255, 255, 255) + djui_hud_reset_color() djui_hud_render_texture(tex, out.x, out.y, 1, 1) end +local function test_mouse() + -- render to native screen space (recommended for this) + djui_hud_set_resolution(RESOLUTION_DJUI) + djui_hud_reset_color() + + -- get mouse position + local mouseX = djui_hud_get_mouse_x() + local mouseY = djui_hud_get_mouse_y() + local scale = 4 + + djui_hud_render_texture(gTextures.arrow_up, mouseX, mouseY, scale, scale) +end + +local function test_pow_meter() + djui_hud_set_resolution(RESOLUTION_N64) + + local hp = gMarioStates[0].health + hud_render_power_meter(hp,16,128,24,24) -- health value ranges from 255 (0xFF in hex) to 2176 (0x880 in hex) +end + +-- HOOK_ON_HUD_RENDER renders above SM64's hud local function on_hud_render() test_text() test_rect() test_texture() - test_mouse() test_rainbow_text() test_rotation() test_filtering() test_world_to_screen() + test_pow_meter() + test_mouse() end --- HOOK_ON_HUD_RENDER_BEHIND will render behind SM64's hud +-- HOOK_ON_HUD_RENDER_BEHIND renders behind SM64's hud local function on_hud_render_behind() local scale = 0.5 @@ -220,5 +230,6 @@ local function on_hud_render_behind() djui_hud_print_text(text, x, 22, scale) end +-- hooks -- hook_event(HOOK_ON_HUD_RENDER, on_hud_render) -hook_event(HOOK_ON_HUD_RENDER_BEHIND, on_hud_render_behind) +hook_event(HOOK_ON_HUD_RENDER_BEHIND, on_hud_render_behind) \ No newline at end of file diff --git a/lang/Portuguese.ini b/lang/Portuguese.ini index 07af1f9a..1b3c57cf 100644 --- a/lang/Portuguese.ini +++ b/lang/Portuguese.ini @@ -3,7 +3,7 @@ CONNECTED = "@ conectou-se" DISCONNECTED = "@ desconectou-se" LEFT_THIS_LEVEL = "@ saiu deste nível" ENTERED_THIS_LEVEL = "@ entrou neste nível" -ENTERED = "@ entrou\n#" +ENTERED = "@ entrou em\n#" SERVER_CLOSED = "\\#ffa0a0\\Desconectado:\\#dcdcdc\\ servidor fechado" DISCORD_ERROR = "Ocorreu um erro no Discord.\n Para consertar, tente: \n1. Fechar o jogo.\n2. Reiniciar o Discord.\n3. Iniciar o jogo." DISCORD_DETECT = "\\#ffa0a0\\Erro:\\#dcdcdc\\ Discord não detectado.\n\\#a0a0a0\\Tente fechar o jogo, reiniciar o Discord, e abrir o jogo de novo." @@ -16,13 +16,13 @@ DISCONNECT_BIG_MOD = "O servidor tinha um mod grande demais.\nSaindo." DIED = "@ morreu" DEBUG_FLY = "@ entrou no modo de voo livre de debug" IMPORT_MOD_SUCCESS = "\\#dcdcdc\\'@'\n\\#a0ffa0\\Mod importado" -IMPORT_DYNOS_SUCCESS = "\\#a0ffa0\\Pacote DynOS\n\\#dcdcdc\\'@'\\#a0ffa0\\\nimportado" -IMPORT_PALETTE_SUCCESS = "\\#a0ffa0\\Predefinição de paleta importada\n\\#dcdcdc\\'@'" -IMPORT_FAIL = "\\#ffa0a0\\Falha ao importar\n\\#dcdcdc\\'@'" -IMPORT_FAIL_INGAME = "\\#ffa0a0\\Não é possível importar durante o jogo" +IMPORT_DYNOS_SUCCESS = "\\#dcdcdc\\'@'\n\\#a0ffa0\\Pacote DynOS importado" +IMPORT_PALETTE_SUCCESS = "\\#dcdcdc\\'@'\n\\#a0ffa0\\Paleta importada" +IMPORT_FAIL = "\\#dcdcdc\\'@'\n\\#ffa0a0\\Erro ao importar" +IMPORT_FAIL_INGAME = "\\#ffa0a0\\Não é possível importar\ndurante o jogo" COOPNET_CONNECTION_FAILED = "\\#ffa0a0\\Não foi possível se conectar ao CoopNet!" COOPNET_DISCONNECTED = "\\#ffa0a0\\A conexão ao CoopNet foi perdida!" -LOBBY_NOT_FOUND = "\\#ffa0a0\\Erro:\\#dcdcdc\\ A partida não está mais ativa!" +LOBBY_NOT_FOUND = "\\#ffa0a0\\Erro:\\#dcdcdc\\ A partida não existe mais!" LOBBY_JOIN_FAILED = "\\#ffa0a0\\Falha ao entrar na partida!" LOBBY_PASSWORD_INCORRECT = "\\#ffa0a0\\Senha incorreta!" COOPNET_VERSION = "\\#ffa0a0\\Sua versão não é mais compatível com o CoopNet. Atualize o jogo!" @@ -49,7 +49,7 @@ SELF_MOD = "Você não pode se tornar um moderador." KICK_CONFIRM = "Quer mesmo expulsar '@'?\nDigite '\\#a0ffa0\\/confirm\\#fff982\\' para expulsar." BAN_CONFIRM = "Quer mesmo banir '@'?\nDigite '\\#a0ffa0\\/confirm\\#fff982\\' para banir." PERM_BAN_CONFIRM = "Quer mesmo banir '@' permanentemente?\nDigite '\\#a0ffa0\\/confirm\\#fff982\\' para banir." -MOD_CONFIRM = "Quer mesmo tornar '@' um moderador?\nDigite '\\#a0ffa0\\/confirm\\#fff982\\'." +MOD_CONFIRM = "Quer mesmo adicionar '@' como moderador?\nDigite '\\#a0ffa0\\/confirm\\#fff982\\'." PLAYERS_DESC = "/players - Lista todos os jogadores e seus IDs" KICK_DESC = "/kick [NOME|ID] - Expulsa este jogador desta partida" BAN_DESC = "/ban [NOME|ID] - Bane este jogador desta partida" @@ -67,15 +67,15 @@ YES = "Sim" [CAMERA] CAMERA = "CÂMERA" -FREE_CAMERA = "Câmera Livre" -ANALOG_CAMERA = "Câmera Analógica" -MOUSE_LOOK = "Movimento com Mouse" -INVERT_X = "Inverter Eixo X" -INVERT_Y = "Inverter Eixo Y" -X_SENSITIVITY = "Sensibilidade do Eixo X" -Y_SENSITIVITY = "Sensibilidade do Eixo Y" +FREE_CAMERA = "Câmera livre" +ANALOG_CAMERA = "Câmera analógica" +MOUSE_LOOK = "Movimento com mouse" +INVERT_X = "Inverter eixo X" +INVERT_Y = "Inverter eixo Y" +X_SENSITIVITY = "Sensibilidade do eixo X" +Y_SENSITIVITY = "Sensibilidade do eixo Y" AGGRESSION = "Agressividade" -PAN_LEVEL = "Nível Pan" +PAN_LEVEL = "Nível de seguimento" DECELERATION = "Desaceleração" [CONTROLS] @@ -83,11 +83,11 @@ CONTROLS = "CONTROLES" N64_BINDS = "N64" EXTRA_BINDS = "Outros" -BACKGROUND_GAMEPAD = "Controle de Fundo" -DISABLE_GAMEPADS = "Desativar Gamepads" +BACKGROUND_GAMEPAD = "Controle de fundo" +DISABLE_GAMEPADS = "Desativar gamepads" GAMEPAD = "Controle" DEADZONE = "Deadzone" -RUMBLE_STRENGTH = "Força de Vibração" +RUMBLE_STRENGTH = "Força de vibração" CHAT = "Chat" PLAYERS = "Jogadores" @@ -119,26 +119,26 @@ C_RIGHT = "C-Direita" [DISPLAY] DISPLAY = "VÍDEO" -FULLSCREEN = "Tela Cheia" +FULLSCREEN = "Tela cheia" FORCE_4BY3 = "Forçar 4:3" -PRELOAD_TEXTURES = "Texturas Pré-Carregadas" +PRELOAD_TEXTURES = "Pré-carregar texturas" VSYNC = "VSync" -UNCAPPED_FRAMERATE = "FPS Ilimitado" +UNCAPPED_FRAMERATE = "FPS ilimitado" FRAME_LIMIT = "Limite de FPS" -FAST = "Rápido" -ACCURATE = "Preciso" +FAST = "Rápida" +ACCURATE = "Precisa" INTERPOLATION = "Interpolação" -NEAREST = "Mais Próximo" +NEAREST = "Mais próximo" LINEAR = "Bilinear" TRIPOINT = "Trilinear" -FILTERING = "Filtro" +FILTERING = "Filtragem" D0P5X = "0.5x" D1X = "1x" D1P5X = "1.5x" D3X = "3x" D10X = "10x" D100X = "100x" -DRAW_DISTANCE = "Distância de Renderização" +DRAW_DISTANCE = "Distância de renderização" DYNOS_PACKS = "Pacotes DynOS" ANTIALIASING = "Anti-Aliasing" OFF = "Desligado" @@ -161,13 +161,13 @@ FILE_SELECT_THEME = "Seleção de Arquivo" [DYNOS] DYNOS = "DYNOS" -LOCAL_PLAYER_MODEL_ONLY = "Modelo de Jogador Local" +LOCAL_PLAYER_MODEL_ONLY = "Apenas modelo de jogador local" [HOST_MESSAGE] INFO_TITLE = "INFO" WARN_DISCORD = "Convide amigos clicando com o botão direito do mouse no nome deles no Discord e clicando em\n'\\#d0d0ff\\convidar para o jogo\\#dcdcdc\\'.\n\n Você também pode convidar em canais de servidores clicando no símbolo de \\#d0d0ff\\mais\\#dcdcdc\\ na caixa de texto abaixo das mensagens.\n\nÉ preciso configurar a \\#ffa0a0\\privacidade das atividades\\#dcdcdc\\ nas suas\n configurações do Discord.\n\n Se o seu status estiver como offline, \\#ffa0a0\\não poderá\\#dcdcdc\\ enviar convites." WARN_DISCORD2 = "\\#ffa0a0\\Erro:\\#dcdcdc\\ Discord não detectado.\n\n\\#a0a0a0\\tente fechar o jogo,\nreiniciar o Discord,\n e abrir o jogo novamente." -WARN_SOCKET = "Você precisa \\#ffa0a0\\configurar o encaminhamento de porta em seu roteador\\#dcdcdc\\ para usar a conexão direta.\n\nForward port '\\#d0d0ff\\%d\\#dcdcdc\\' for UDP." +WARN_SOCKET = "Você precisa \\#ffa0a0\\configurar o encaminhamento de porta em seu roteador\\#dcdcdc\\ para usar a conexão direta.\n\nAbre porta '\\#d0d0ff\\%d\\#dcdcdc\\' no protocolo UDP." HOST = "Criar" [HOST_MODS] @@ -189,38 +189,38 @@ SETTINGS = "CONFIGURAÇÕES" NONSOLID = "Não-sólido" SOLID = "Sólido" FRIENDLY_FIRE = "Fogo amigo" -PLAYER_INTERACTION = "Interação Entre Jogadores" +PLAYER_INTERACTION = "Interação entre jogadores" WEAK = "Fraco" NORMAL = "Normal" TOO_MUCH = "Muito alto" -KNOCKBACK_STRENGTH = "Força de Knockback" -LEAVE_LEVEL = "Sair do Nível" -STAY_IN_LEVEL = "Ficar no Nivel" -NONSTOP = "Sem Parar" -ON_STAR_COLLECTION = "Ao Coletar Estrelas" -SKIP_INTRO_CUTSCENE = "Pular Cutscene de Introdução" -ENABLE_CHEATS = "Ativar Cheats" -BUBBLE_ON_DEATH = "Bolha Após a Morte" +KNOCKBACK_STRENGTH = "Força de knockback" +LEAVE_LEVEL = "Sair do nível" +STAY_IN_LEVEL = "Ficar no nivel" +NONSTOP = "Sem parar" +ON_STAR_COLLECTION = "Ao coletar estrelas" +SKIP_INTRO_CUTSCENE = "Pular cutscene de introdução" +ENABLE_CHEATS = "Ativar cheats" +BUBBLE_ON_DEATH = "Bolha após a morte" NAMETAGS = "Nametags" BOUNCY_BOUNDS_ON_CAP = "Ativado (Limitado)" BOUNCY_BOUNDS_ON = "Ativado" BOUNCY_BOUNDS_OFF = "Desativado" -BOUNCY_LEVEL_BOUNDS = "Limite de Nível Saltitante" -AMOUNT_OF_PLAYERS = "Quantidade de Jogadores" -PAUSE_ANYWHERE = "Pausar em Qualquer Lugar" +BOUNCY_LEVEL_BOUNDS = "Limite de nível saltitante" +AMOUNT_OF_PLAYERS = "Quantidade de jogadores" +PAUSE_ANYWHERE = "Pausar em qualquer lugar" [HOST] SERVER_TITLE = "SERVIDOR" HOST_TITLE = "CRIAR PARTIDA" DISCORD = "Discord" COOPNET = "CoopNet" -DIRECT_CONNECTION = "Conexão Direta" -NETWORK_SYSTEM = "Sistema de Rede" +DIRECT_CONNECTION = "Conexão direta" +NETWORK_SYSTEM = "Sistema de rede" PORT = "Porta" PASSWORD = "Senha" -SAVE_SLOT = "Arquivo de Salvamento" +SAVE_SLOT = "Arquivo de salvamento" SETTINGS = "Configurações" -MODS = "Mods e Modos de Jogo" +MODS = "Mods e modos de jogo" ROMHACKS = "Rom-Hacks" APPLY = "Aplicar" HOST = "Criar" @@ -233,16 +233,16 @@ JOIN_TITLE = "ENTRAR" JOIN_DISCORD = "Para entrar em uma partida do \\#d0d0ff\\Discord\\#dcdcdc\\:\n\nMantenha o jogo aberto e clique no botão entrar no convite.\n\nSe o convite disser que o jogo acabou, clique no nome da pessoa que enviou o convite para recarregá-lo." JOIN_SOCKET = "Digite o \\#d0d0ff\\IP e porta\\#dcdcdc\\ da conexão direta:" JOIN = "Entrar" -PUBLIC_LOBBIES = "Partidas Públicas" -PRIVATE_LOBBIES = "Partidas Privadas" -DIRECT = "Conexão Direta" +PUBLIC_LOBBIES = "Partidas públicas" +PRIVATE_LOBBIES = "Partidas privadas" +DIRECT = "Conexão direta" [RULES] RULES_TITLE = "REGRAS" -RULE_1 = "1. Você deve ter pelo menos 13 anos de idade." +RULE_1 = "1. Você deve ter pelo menos 13 anos." RULE_2 = "2. Sem discurso de ódio, difamações, ou qualquer outro tipo de linguagem ofensiva." RULE_3 = "3. Não use qualquer versão modificada." -RULE_4 = "4. Não hosteie mods não lançados sem a permissão do autor original." +RULE_4 = "4. Não crie partidas com mods não lançados sem o consentimento do autor original." RULE_5 = "5. Qualquer forma de conteúdo adulto não será tolerado." SUBJECT_TO_CHANGE = "Essas regras estão sujeitas a mudanças em futuras atualizações." NOTICE = "Ao conectar-se ao CoopNet, você concorda em respeitar estas regras ao jogar em partidas públicas." @@ -260,27 +260,27 @@ QUIT = "Sair" MENU_TITLE = "MENU" LEVEL = "Nível" STAFF_ROLL = "Créditos finais" -USE_STAGE_MUSIC = "Usar Música do Nível" -RANDOM_STAGE = "Nível Aleatório" -PLAY_VANILLA_DEMOS = "Tocar Demos do Vanilla" +USE_STAGE_MUSIC = "Usar música do nível" +RANDOM_STAGE = "Nível aleatório" +PLAY_VANILLA_DEMOS = "Tocar demos originais" [MISC] DEBUG_TITLE = "DEBUG" -FIXED_COLLISIONS = "Colisões Corrigidas" +FIXED_COLLISIONS = "Colisões corrigidas" LUA_PROFILER = "Profiler Lua" CTX_PROFILER = "Profiler Ctx" DEBUG_PRINT = "Debug print" -DEBUG_INFO = "Informações Debug" -DEBUG_ERRORS = "Erros Debug" +DEBUG_INFO = "Informações debug" +DEBUG_ERRORS = "Erros debug" MISC_TITLE = "OUTROS" -PAUSE_IN_SINGLEPLAYER = "Pausa no Modo Singleplayer" -DISABLE_POPUPS = "Desativar Pop-ups" -USE_STANDARD_KEY_BINDINGS_CHAT = "Controles Clássicos de Chat" -MENU_OPTIONS = "Opções de Menu" +PAUSE_IN_SINGLEPLAYER = "Pausa no modo singleplayer" +DISABLE_POPUPS = "Desativar pop-ups" +USE_STANDARD_KEY_BINDINGS_CHAT = "Controles clássicos de chat" +MENU_OPTIONS = "Opções de menu" INFORMATION = "Informações" DEBUG = "Debug" LANGUAGE = "Idioma" -COOP_COMPATIBILITY = "Ativar a Compatibilidade com sm64ex-coop" +COOP_COMPATIBILITY = "Ativar a compatibilidade com sm64ex-coop" R_BUTTON = "Botão R - Opções" [INFORMATION] @@ -301,7 +301,7 @@ CONTROLS = "Controles" DISPLAY = "Vídeo" SOUND = "Som" MISC = "Outros" -USER_FOLDER = "Abrir Pasta do Usuário" +USER_FOLDER = "Abrir pasta do usuário" APPDATA = "Abrir AppData" [PAUSE] @@ -313,11 +313,11 @@ PLAYER = "Jogador" DYNOS_PACKS = "Pacotes DynOS" OPTIONS = "Opções" CHEATS = "Cheats" -SERVER_SETTINGS = "Configurações do Servidor" +SERVER_SETTINGS = "Configurações do servidor" RESUME = "Resumo" -STOP_HOSTING = "Parar a Partida" +STOP_HOSTING = "Parar a partida" DISCONNECT = "Desconectar" -MOD_MENU = "Menu de Mods" +MOD_MENU = "Menu de mods" MOD_MENU_TITLE = "MENU DE MODS" [PLAYER] @@ -332,16 +332,16 @@ CAP = "Chapéu" EMBLEM = "Emblema" PALETTE = "PALETA" PART = "Parte" -HEX_CODE = "Código Hexadecimal" +HEX_CODE = "Código hexadecimal" RED = "Vermelho" GREEN = "Verde" BLUE = "Azul" PLAYER = "Jogador" NAME = "Nome" MODEL = "Personagem" -PALETTE_PRESET = "Predefinição de Paleta" -EDIT_PALETTE = "Editar Paleta" -PRESET_NAME = "Nome da Predefinição" +PALETTE_PRESET = "Paleta" +EDIT_PALETTE = "Editar paleta" +PRESET_NAME = "Nome da paleta" DELETE_PRESET = "Excluir" SAVE_PRESET = "Salvar" CAP_TOGGLE = "Pressione Z para alternar o uso do chapéu." @@ -357,11 +357,11 @@ ACT = "ato" [SOUND] SOUND = "SOM" -MASTER_VOLUME = "Volume Principal" -MUSIC_VOLUME = "Volume da Música" -SFX_VOLUME = "Volume dos Efeitos Sonoros" -ENV_VOLUME = "Volume do Ambiente" -FADEOUT = "Desvanecer Sons Distantes" +MASTER_VOLUME = "Volume principal" +MUSIC_VOLUME = "Volume da música" +SFX_VOLUME = "Volume dos efeitos sonoros" +ENV_VOLUME = "Volume do ambiente" +FADEOUT = "Desvanecer sons distantes" MUTE_FOCUS_LOSS = "Silenciar quando a janela estiver desfocada" [LANGUAGE]