diff --git a/lang/Czech.ini b/lang/Czech.ini index 81a2e89a3..c200f7118 100644 --- a/lang/Czech.ini +++ b/lang/Czech.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Pozvat hráče pravým kliknutím na jejich profil a potom kliknout na \n'\\#d0d0ff\\Pozvat do Hry\\#dcdcdc\\'.\n\nMůžete pozvat i kanály a servery pomocí kliknutí na tlačíto \\#d0d0ff\\plus\\#dcdcdc\\ vedle okna na chat.\n\nHerní aktivita \\#ffa0a0\\musí být\\#dcdcdc\\ zapnutá ve vašich\nDiscord nastavení.\n\nZobranení jako neviditelný \\#ffa0a0\\zabrání\\#dcdcdc\\ posílání pozvánek." WARN_DISCORD2 = "\\#ffa0a0\\Chyba:\\#dcdcdc\\ Discord se nepodařilo najít.\n\\#a0a0a0\\Zkuste zavřít hru, restartovat Discord a znovu hru otevřít" WARN_SOCKET = "Ujistěte se, že je vaše brána firewall správně nakonfigurována.\nPřímá připojení \\#ffa0a0\\vyžadují\\#dcdcdc\\, abyste v routeru nakonfigurovali přesměrování portů pro přijetí příchozích IPv4 připojení.\n\nPřesměrujte port '\\#d0d0ff\\%d\\#dcdcdc\\' pro UDP. IPv6 je také podporováno." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Hostovat" [HOST_MODS] diff --git a/lang/Dutch.ini b/lang/Dutch.ini index c4e32f77c..60db80b1c 100644 --- a/lang/Dutch.ini +++ b/lang/Dutch.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFORMATIE" WARN_DISCORD = "Nodig je vrienden uit door op hun reachts klik op hun username te gebruiken en op '\\#d0d0ff\\Invite to Game\\#dcdcdc\\' te klikken.\n\nJe kan kanalen van servers ook uitnodigen door op de \\#d0d0ff\\plus\\#dcdcdc\\ knop te drukken naast de plek waar je chat.\n\nGame activiteit \\#ffa0a0\\moet\\#dcdcdc\\ aaan staan in je \nDiscord gebruikers opties.\n\nOp offline staan \\#ffa0a0\\houd uitnodigingen versturen tegen.\\#dcdcdc\\ " WARN_DISCORD2 = "\\#ffa0a0\\Error:\\#dcdcdc\\ Kan Discord niet vinden.\n\\#a0a0a0\\Probeer om het spel af te sluiten, Discord opnieuw opstarten, en het spel weer op starten." WARN_SOCKET = "Zorg ervoor dat uw firewall correct is geconfigureerd.\nDirecte verbindingen \\#ffa0a0\\vereisen\\#dcdcdc\\ dat u poortdoorschakeling configureert in uw router om IPv4 inkomende verbindingen te accepteren.\n\nSchakel poort '\\#d0d0ff\\%d\\#dcdcdc\\' door voor UDP. IPv6 wordt ook ondersteund." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Organisator" [HOST_MODS] diff --git a/lang/English.ini b/lang/English.ini index 0560d9ac2..e6f82b0cb 100644 --- a/lang/English.ini +++ b/lang/English.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Invite friends by right clicking their name on Discord and clicking on\n'\\#d0d0ff\\Invite to Game\\#dcdcdc\\'.\n\nYou can invite channels of servers as well by clicking the \\#d0d0ff\\plus\\#dcdcdc\\ button next to the place where you enter chat.\n\nGame Activity \\#ffa0a0\\must be\\#dcdcdc\\ enabled in your\nDiscord user settings.\n\nAppearing offline \\#ffa0a0\\will prevent\\#dcdcdc\\ invites from being sent." WARN_DISCORD2 = "\\#ffa0a0\\Error:\\#dcdcdc\\ Could not detect Discord.\n\n\\#a0a0a0\\Try closing the game,\nrestarting Discord,\nand opening the game again." WARN_SOCKET = "Make sure your firewall is properly configured.\nDirect connections \\#ffa0a0\\requires you\\#dcdcdc\\ to configure port forwarding in your router to accept IPv4 inbound connections.\n\nForward port '\\#d0d0ff\\%d\\#dcdcdc\\' for UDP. IPv6 is also supported." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Host" [HOST_MODS] diff --git a/lang/French.ini b/lang/French.ini index 645ed0c2a..7c386db68 100644 --- a/lang/French.ini +++ b/lang/French.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFORMATIONS" WARN_DISCORD = "Invitez des amis en faisant un clic droit sur \nleur pseudo Discord puis en cliquant sur \n'\\#d0d0ff\\Inviter à rejoindre\\#dcdcdc\\'.\n\nVous pouvez envoyer des invitations dans les chats de serveurs en cliquant\nsur le bouton \\#d0d0ff\\+\\#dcdcdc\\ à coté de la barre de chat.\n\nLe statut d'activité \\#ffa0a0\\doit-être\\#dcdcdc\\ activé dans les paramètres utilisateurs Discord.\n\nApparaître hors-ligne \\#ffa0a0\\empêchera\\#dcdcdc\\ les invitations\nd'être envoyées." WARN_DISCORD2 = "\\#ffa0a0\\Erreur:\\#dcdcdc\\ Discord n'est pas détecté.\n\n\\#a0a0a0\\Essayez de fermer le jeu,\nrelancer Discord,\net relancer le jeu." WARN_SOCKET = "Assurez-vous que votre pare-feu est correctement configuré.\nLes connexions directes \\#ffa0a0\\vous oblige\\#dcdcdc\\ à configurer le transfert de port sur votre routeur pour accepter les connexions entrantes IPv4.\n\nRedirigez le port '\\#d0d0ff\\%d\\#dcdcdc\\' pour UDP. IPv6 est également pris en charge." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Héberger" [HOST_MODS] diff --git a/lang/German.ini b/lang/German.ini index 1fb8031d7..bc48378dd 100644 --- a/lang/German.ini +++ b/lang/German.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Lade Freunde über Discord ein, indem du rechtsklick auf ihren Namen machst und '\\#d0d0ff\\Zum Spiel einladen\\#dcdcdc\\' auswählst. Kanäle können auch über das \\#d0d0ff\\Plus-Symbol\\#dcdcdc\\ eingeladen werden. Stelle sicher, dass die Spielaktivität in den Discord-Einstellungen aktiviert ist. Wenn du offline angezeigt wirst, kannst du keine Einladungen senden." WARN_DISCORD2 = "\\#ffa0a0\\Fehlermeldung:\\#dcdcdc\\ Discord nicht gefunden. Versuche das Spiel zu schließen, Discord zu starten und dann das Spiel erneut zu öffnen." WARN_SOCKET = "Stelle sicher, dass Deine Firewall ordnungsgemäß konfiguriert ist. Direkte Verbindungen \\#ffa0a0\\erfordern\\#dcdcdc\\ die Konfiguration der Portweiterleitung (Port Forwarding) in Deinem Router, um eingehende IPv4-Verbindungen zu akzeptieren.\n\nLeite den Port '\\#d0d0ff\\%d\\#dcdcdc\\' für UDP weiter. IPv6 wird ebenfalls unterstützt." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Hosten" [HOST_MODS] diff --git a/lang/Italian.ini b/lang/Italian.ini index dfe13d3bb..41686678d 100644 --- a/lang/Italian.ini +++ b/lang/Italian.ini @@ -197,6 +197,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Invita gli amici facendo tasto destro sul loro nome in Discord e cliccando\n'\\#d0d0ff\\Invito a giocare\\#dcdcdc\\'.\n\npuoi invitare anche i canali dei server cliccando il pulsante \\#d0d0ff\\+\\#dcdcdc\\ vicino al posto dove scrivi.\n\nLo Stato delle Attività \\#ffa0a0\\deve essere\\#dcdcdc\\ attivo nelle\nimpostazioni utente di Discord.\n\nApparire offline \\#ffa0a0\\ti impedirà\\#dcdcdc\\ di inviare inviti." WARN_DISCORD2 = "\\#ffa0a0\\Errore:\\#dcdcdc\\ Impossibile individuare Discord.\n\n\\#a0a0a0\\prova a chiudre il gioco,\nriavviare Discord,\ne aprire di nuovo il gioco." WARN_SOCKET = "Assicurati che il tuo firewall sia configurato correttamente.\nLe connessioni dirette \\#ffa0a0\\richiedono\\#dcdcdc\\ di configurare l'inoltro delle porte del tuo router per accettare connessioni in entrata IPv4.\n\nInoltra la porta '\\#d0d0ff\\%d\\#dcdcdc\\' per UDP. Anche IPv6 è supportato." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Crea" [HOST_MODS] diff --git a/lang/Japanese.ini b/lang/Japanese.ini index 05b20a216..68a8dbd14 100644 --- a/lang/Japanese.ini +++ b/lang/Japanese.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "招待したいフレンドを右クリックしてn'\\#d0d0ff\\ゲームに招待\\#dcdcdc\\'.\n\nを押すと招待できます。サーバー内のチャンネルにも、チャット入力欄の横にある\\#d0d0ff\\+\\#dcdcdc\\マークから招待メッセージを送信できます。\n\nDiscordのユーザー設定からゲーム アクティビティを\\#ffa0a0\\必ず\\#dcdcdc\\有効にしてください。\n\n\nステータスをオフラインに設定していると、招待の送信が\\#ffa0a0\\妨げられる\\#dcdcdc\\可能性があります。" WARN_DISCORD2 = "\\#ffa0a0\\エラー:\\#dcdcdc\\Discordを検出できませんでした。\n\\#a0a0a0\\ゲームを終了してDiscordを再起動してから、もう一度お試しください。" WARN_SOCKET = "ファイアウォールの設定が正しく完了していることを確認してください。\nダイレクト接続には\\#ffa0a0\\あなた自身が\\#dcdcdc\\ルーターでIPv4の接続を受け入れるようにポートフォワーディング設定を行う必要があります。\n\nUDPポート'\\#d0d0ff\\%d\\#dcdcdc\\'を解放してください。IPv6も使用可能です。" +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "ルームを作る" [HOST_MODS] diff --git a/lang/Polish.ini b/lang/Polish.ini index cb983027d..fb689e476 100644 --- a/lang/Polish.ini +++ b/lang/Polish.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFORMACJA" WARN_DISCORD = "Zaproś znajomych do gry, klikając PPM w ich nazwę na Discordzie, a potem klikając\n'\\#d0d0ff\\Zaproś do gry\\#c8c8c8\\'.\n\nMożesz zapraszać na kanałach serwerów klikając w \\#d0d0ff\\plusik\\#c8c8c8\\ obok paska czatu.\n\n \\#ffa0a0\\Należy\\#c8c8c8\\ mieć włączoną Aktywność w grze w\nUstawieniach użytkownika Discorda.\n\nTryb offline \\#ffa0a0\\uniemożliwi\\#c8c8c8\\ wysyłanie zaproszeń." WARN_DISCORD2 = "\\#ffa0a0\\Błąd:\\#c8c8c8\\ Nie wykryto Discorda.\n\n\\#a0a0a0\\Spróbuj zamknąć grę,\nzrestartować Discorda\ni uruchomić grę ponownie." WARN_SOCKET = "Upewnij się, że twoja zapora jest poprawnie skonfigurowana.\nBezpośrednie połączenia \\#ffa0a0\\wymagają\\#dcdcdc\\ skonfigurowania przekierowania portów w routerze, aby akceptować przychodzące połączenia IPv4.\n\nPrzekieruj port '\\#d0d0ff\\%d\\#dcdcdc\\' dla UDP. IPv6 jest również obsługiwane." +WARN_SOCKET_HIDE = "OK, do not show this again" HOST = "Hostuj" [HOST_MODS] diff --git a/lang/Portuguese.ini b/lang/Portuguese.ini index d3b9e0c6b..2ea866c03 100644 --- a/lang/Portuguese.ini +++ b/lang/Portuguese.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Convide amigos clicando com o botão direito do mouse em seus nomes no Discord e selecionando\n'\\#d0d0ff\\Convidar para o jogo\\#dcdcdc\\'.\n\nVocê também pode enviar convites em canais de servidores clicando no sinal de \\#d0d0ff\\mais\\#dcdcdc\\ na caixa de texto abaixo das mensagens.\n\nÉ preciso configurar a \\#ffa0a0\\privacidade das atividades\\#dcdcdc\\ nas\nsuas configurações do Discord.\n\nSe seu status estiver como offline, você \\#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,\ne abrir o jogo novamente." WARN_SOCKET = "Verifique se o seu firewall está bem configurado.\nPara usar a conexão direta, você precisa \\#ffa0a0\\configurar o encaminhamento de porta em seu roteador\\#dcdcdc\\ para aceitar a entrada de conexões IPv4.\n\nEncaminhe a porta '\\#d0d0ff\\%d\\#dcdcdc\\' para UDP. Também há suporte para IPv6." +WARN_SOCKET_HIDE = "OK, não me mostre isso novamente" HOST = "Criar" [HOST_MODS] diff --git a/lang/Russian.ini b/lang/Russian.ini index 85d39ae37..a976684d8 100644 --- a/lang/Russian.ini +++ b/lang/Russian.ini @@ -198,6 +198,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Пригласите друзей, щелкнув правой кнопкой мыши их имя в Дискорд, и, выбрав\n'\\#d0d0ff\\Пригласить в игру\\#dcdcdc\\'.\n\nВы также можете пригласить каналы серверов, нажав кнопку \\#d0d0ff\\плюс,\\#dcdcdc\\ кнопку рядом с местом входа в чат.\n\nИгровая активность \\#ffa0a0\\должна быть\\#dcdcdc\\ включена в ваших\n настройках Дискорда.\n\nИспользование офлайн статуса \\#ffa0a0\\предотвратит отправку \\#dcdcdc\\ приглашений." WARN_DISCORD2 = "\\#ffa0a0\\Error:\\#dcdcdc\\ Не удалось обнаружить Дискорд.\n\n\\#a0a0a0\\Попробуйте закрыть игру,\nперезапустите Дискорд,\nи снова откройте игру." WARN_SOCKET = "Убедитесь, что ваш файрвол настроен правильно.\nПрямые подключения \\#ffa0a0\\требуют от вас\\#dcdcdc\\ настройки проброса портов на вашем маршрутизаторе для приeма входящих подключений по IPv4.\n\nПеренаправьте порт '\\#d0d0ff\\%d\\#dcdcdc\\' для UDP. IPv6 также поддерживается." +WARN_SOCKET_HIDE = "ОК, больше не показывать" HOST = "Хост" [HOST_MODS] diff --git a/lang/Spanish.ini b/lang/Spanish.ini index 50660a637..f716f1fcb 100644 --- a/lang/Spanish.ini +++ b/lang/Spanish.ini @@ -199,6 +199,7 @@ INFO_TITLE = "INFO" WARN_DISCORD = "Invita a amigos haciendo click derecho en su nombre en Discord y seleccionando\n'\\#d0d0ff\\Invitar a unirse\\#dcdcdc\\'.\n\nPuedes invitar en canales de un servidor también presionando el botón \\#d0d0ff\\+\\#dcdcdc\\ al lado del cuadro de texto del chat.\n\nEl estado de Actividad Actual \\#ffa0a0\\debe estar\\#dcdcdc\\ activado en tus ajustes de Discord.\n\nEstar invisible \\#ffa0a0\\te prevendrá\\#dcdcdc\\ de crear invitaciones." WARN_DISCORD2 = "\\#ffa0a0\\Error:\\#dcdcdc\\ No se ha detectado Discord.\n\n\\#a0a0a0\\Prueba a cerrar el juego,\nreiniciar Discord,\ny abrir el juego de nuevo." WARN_SOCKET = "Asegúrate de que tu firewall esté configurado correctamente.\nLas conexiones directas \\#ffa0a0\\requieren que\\#dcdcdc\\ configures el reenvío de puertos en tu router para aceptar conexiones entrantes IPv4.\n\nReenvía el puerto '\\#d0d0ff\\%d\\#dcdcdc\\' para UDP. IPv6 también es compatible." +WARN_SOCKET_HIDE = "OK, no volver a mostrar esto" HOST = "Crear" [HOST_MODS] diff --git a/src/pc/configfile.c b/src/pc/configfile.c index 4e52b50b6..4a462929d 100644 --- a/src/pc/configfile.c +++ b/src/pc/configfile.c @@ -210,6 +210,7 @@ unsigned int configDjuiThemeFont = FONT_NORMAL; unsigned int configDjuiScale = 0; // other unsigned int configRulesVersion = 0; +bool configHideSocketWarning = false; bool configCompressOnStartup = false; bool configSkipPackGeneration = false; @@ -366,6 +367,7 @@ static const struct ConfigOption options[] = { {.name = "djui_scale", .type = CONFIG_TYPE_UINT, .uintValue = &configDjuiScale}, // other {.name = "rules_version", .type = CONFIG_TYPE_UINT, .uintValue = &configRulesVersion}, + {.name = "hide_socket_warning", .type = CONFIG_TYPE_BOOL, .boolValue = &configHideSocketWarning}, {.name = "compress_on_startup", .type = CONFIG_TYPE_BOOL, .boolValue = &configCompressOnStartup}, {.name = "skip_pack_generation", .type = CONFIG_TYPE_BOOL, .boolValue = &configSkipPackGeneration}, }; diff --git a/src/pc/configfile.h b/src/pc/configfile.h index 11cdbd5bc..555bd32a3 100644 --- a/src/pc/configfile.h +++ b/src/pc/configfile.h @@ -171,6 +171,7 @@ extern unsigned int configDjuiThemeFont; extern unsigned int configDjuiScale; // other extern unsigned int configRulesVersion; +extern bool configHideSocketWarning; extern bool configCompressOnStartup; extern bool configSkipPackGeneration; diff --git a/src/pc/djui/djui_panel_host.c b/src/pc/djui/djui_panel_host.c index b1b069e4b..c0ac112e9 100644 --- a/src/pc/djui/djui_panel_host.c +++ b/src/pc/djui/djui_panel_host.c @@ -78,7 +78,7 @@ static void djui_panel_host_do_host(struct DjuiBase* caller) { if (gNetworkType == NT_SERVER) { network_rehost_begin(); - } else if (configNetworkSystem == NS_COOPNET || configAmountOfPlayers == 1) { + } else if (configNetworkSystem == NS_COOPNET || configAmountOfPlayers == 1 || configHideSocketWarning) { network_reset_reconnect_and_rehost(); djui_panel_do_host(false, true); } else { diff --git a/src/pc/djui/djui_panel_host_message.c b/src/pc/djui/djui_panel_host_message.c index 218564726..499c95902 100644 --- a/src/pc/djui/djui_panel_host_message.c +++ b/src/pc/djui/djui_panel_host_message.c @@ -14,6 +14,8 @@ #include "audio/external.h" #include "sounds.h" +static bool hideMessage = false; + void djui_panel_do_host(bool reconnecting, bool playSound) { stop_demo(NULL); djui_panel_shutdown(); @@ -42,6 +44,7 @@ void djui_panel_do_host(bool reconnecting, bool playSound) { } void djui_panel_host_message_do_host(UNUSED struct DjuiBase* caller) { + if (hideMessage) { configHideSocketWarning = true; } network_reset_reconnect_and_rehost(); djui_panel_do_host(false, true); } @@ -65,6 +68,8 @@ void djui_panel_host_message_create(struct DjuiBase* caller) { djui_base_set_color(&text1->base, 220, 220, 220, 255); djui_text_set_drop_shadow(text1, 64, 64, 64, 100); + struct DjuiCheckbox* chkHide = djui_checkbox_create(body, DLANG(HOST_MESSAGE, WARN_SOCKET_HIDE), &hideMessage, NULL); + struct DjuiRect* rect1 = djui_rect_container_create(body, 64); { struct DjuiButton* btnHost = djui_button_right_create(&rect1->base, DLANG(HOST_MESSAGE, HOST), DJUI_BUTTON_STYLE_NORMAL, djui_panel_host_message_do_host); @@ -74,6 +79,8 @@ void djui_panel_host_message_create(struct DjuiBase* caller) { djui_base_set_size(&btnBack->base, 1.0f, 64); djui_base_set_visible(&btnHost->base, false); djui_base_set_enabled(&btnHost->base, false); + djui_base_set_visible(&chkHide->base, false); + djui_base_set_enabled(&chkHide->base, false); } } }