Update & fix issues with #184 and #205 (#215)

* Update improved Portuguese translation

* Update hud.lua (optimizations, updated comments, +2 examples)
This commit is contained in:
Mechstreme 2024-07-16 12:58:02 -03:00 committed by GitHub
parent 1223c1b09c
commit 71f1d2f64a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 119 additions and 108 deletions

View File

@ -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()
@ -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)

View File

@ -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]