76 changes: 32 additions & 44 deletions data/languages/persian.txt
Expand Up @@ -217,7 +217,7 @@ Saving ddnet-settings.cfg failed
Replay feature is disabled!
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand Down Expand Up @@ -256,6 +256,9 @@ Server best:
Personal best:
==

Reset
==

News
==

Expand Down Expand Up @@ -760,6 +763,9 @@ Show entities
Show HUD
==

Chat command
==

UI mouse s.
==

Expand All @@ -772,6 +778,9 @@ Reset to defaults
Voting
==

Dummy
==

Miscellaneous
==

Expand Down Expand Up @@ -889,7 +898,7 @@ Alpha
Use DDRace Scoreboard
==

Show client IDs in Scoreboard
Show client IDs
==

Show score
Expand All @@ -898,9 +907,6 @@ Show score
Show health + ammo
==

Use old chat style
==

Show names in chat in team colors
==

Expand All @@ -910,64 +916,37 @@ Show kill messages
Show votes window after voting
==

Messages
Laser Outline Color
==

System message
Laser Inner Color
==

Reset
Use old chat style
==

Highlighted message
Messages
==

Spectator
System message
==

Look out!
Highlighted message
==

Team message
==

We will win
==

Friend message
==

Highlight
==

Friend
==

Hi o/
==

Normal message
==

Hello and welcome
==

Client message
==

Inner color
==

Outline color
==

Wait before try for
==

second
==

seconds
Preview
==

Save the best demo of each race
Expand Down Expand Up @@ -1024,10 +1003,10 @@ Show other players' key presses
Old mouse mode
==

Background (regular)
Background
==

Background (entities)
Entities Background color
==

Use current map as background
Expand All @@ -1036,9 +1015,15 @@ Use current map as background
Show tiles layers from BG map
==

Regular Background Color
==

Try fast HTTP map download first
==

New random timeout code
==

DDNet %s is available:
==

Expand All @@ -1057,9 +1042,6 @@ No updates available
Check now
==

New random timeout code
==

Entities
==

Expand All @@ -1072,6 +1054,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

Learn
==

Expand Down
84 changes: 36 additions & 48 deletions data/languages/polish.txt
Expand Up @@ -652,12 +652,6 @@ Show other players' hook collision lines
Show other players' key presses
== Pokazuj naciśnięcia klawiszy innych graczy

Background (regular)
== Tło (regularne)

Background (entities)
== Tło (entities)

Try fast HTTP map download first
== Próbuj najpierw ściągać mapy z serwera HTTP.

Expand Down Expand Up @@ -730,21 +724,12 @@ Team message
Normal message
== Wiadomość standardowa

Inner color
== Wewnętrzny kolor

Outline color
== Zewnętrzny kolor

Use DDRace Scoreboard
== Użyj tabeli wyników z DDRace

Show kill messages
== Pokazuj wiadomości śmierci

Show client IDs in Scoreboard
== Pokazuj ID graczy w tabeli wyników

Countries
== Kraje

Expand Down Expand Up @@ -799,18 +784,6 @@ DDNet Client updated!
Check now
== Sprawdź

Look out!
== Uważaj!

Spectator
== Obserwator

We will win
== Wygramy to

Hello and welcome
== Cześć i siema

DDNet Client needs to be restarted to complete update!
== DDNet Client wymaga ponownego uruchomienia, aby zakończyć aktualizację!

Expand Down Expand Up @@ -859,9 +832,6 @@ Fat skins (DDFat)
Grabs
== Przechwycenia

second
== sekund

Kill
== Restart

Expand All @@ -883,27 +853,18 @@ Pause
1 new mention
== 1 raz wspomniano o tobie

Hi o/
== Cześć o/

Welcome to DDNet
== Witaj w DDNet

New random timeout code
== Nowy losowy kod timeout

Wait before try for
== Poczekaj zanim spróbujesz

Enable long pain sound (used when shooting in freeze)
== Włącz dźwięk długiego jęku (używany, gdy strzelasz we freezie)

DDNet
== DDNet

seconds
== sekundy

Show HUD
== Pokazuj HUD

Expand Down Expand Up @@ -1114,9 +1075,6 @@ Personal best:
Show text entities
== Pokazuj entities tekstu

Friend
== Znajomy

Skin prefix
== Motyw skinów

Expand Down Expand Up @@ -1171,9 +1129,6 @@ Replay
Saving ddnet-settings.cfg failed
== Zapisywanie ddnet-settings.cfg nie powiodło się

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== Szerokość lub wysokość tekstury %s nie jest podzielna przez 16, co może powodować błędy.

Warning
== Ostrzeżenie

Expand Down Expand Up @@ -1249,9 +1204,6 @@ Assets
Use old chat style
== Użyj klasycznego wyglądu czatu

Highlight
== Podkreślenie

Client message
== Wiadomość klienta

Expand Down Expand Up @@ -1294,3 +1246,39 @@ Editor
[Start menu]
Play
== Graj

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Chat command
==

Dummy
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Preview
==

Background
==

Entities Background color
==

Regular Background Color
==

Discord
==

https://ddnet.tw/discord
==
74 changes: 31 additions & 43 deletions data/languages/portuguese.txt
Expand Up @@ -653,9 +653,6 @@ Map sound volume
Countries
== Países

Background (entities)
== Plano de fundo (entidades)

Show kill messages
== Mostrar mensagens de morte

Expand All @@ -671,18 +668,12 @@ No updates available
Enable server message sound
== Ativar o som de mensagem do servidor

second
== segundo

Show votes window after voting
== Mostrar janela de voto depois de votar

HUD
== HUD

Look out!
== Cuidado!

Show names in chat in team colors
== Mostrar nomes no chat com cores da equipa

Expand All @@ -692,12 +683,6 @@ Select a name
Enable team chat sound
== Ativar o som do chat de equipa

We will win
== Nós vamos ganhar

Hi o/
== Olá o/

Deaths
== Mortes

Expand All @@ -707,9 +692,6 @@ Enable game sounds
DDNet Client needs to be restarted to complete update!
== O cliente DDNet precisa de ser reiniciado para completar a atualização!

Spectator
== Espectador

Please use a different name
== Por favor usa um nome diferente

Expand Down Expand Up @@ -764,9 +746,6 @@ Remove chat
Check now
== Verifica agora

Background (regular)
== Plano de fundo (regular)

AntiPing: predict other players
== Antiping: prever os outros jogadores

Expand Down Expand Up @@ -803,15 +782,9 @@ Default zoom
Show score
== Mostrar pontuação

Show client IDs in Scoreboard
== Mostrar os IDs do cliente na tabela de pontuação

Max CSVs
== CSVs máximos

seconds
== segundos

Use DDRace Scoreboard
== Usa a tabela de pontuações de DDRace

Expand Down Expand Up @@ -848,9 +821,6 @@ Exclude
Enable highlighted chat sound
== Ativar o som do chat em destaque

Hello and welcome
== Olá e bem-vindo

AntiPing: predict weapons
== AntiPing: prever as armas

Expand All @@ -860,18 +830,12 @@ DDNet Client updated!
Highlighted message
== Mensagem em destaque

Friend
== Amigo

Switch weapon when out of ammo
== Mudar de arma quando ficar sem munição

AntiPing: predict grenade paths
== Antiping: prever os caminhos da granada

Inner color
== Cor interior

Successfully saved the replay!
==

Expand All @@ -881,7 +845,7 @@ Saving ddnet-settings.cfg failed
Replay feature is disabled!
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand Down Expand Up @@ -1112,9 +1076,15 @@ Show entities
Show HUD
==

Chat command
==

UI mouse s.
==

Dummy
==

may cause delay
==

Expand Down Expand Up @@ -1148,22 +1118,25 @@ Background music volume
Assets
==

Use old chat style
Show client IDs
==

Friend message
Laser Outline Color
==

Highlight
Laser Inner Color
==

Client message
Use old chat style
==

Outline color
Friend message
==

Wait before try for
Client message
==

Preview
==

Default length: %d
Expand Down Expand Up @@ -1193,12 +1166,21 @@ Show other players' hook collision lines
Show other players' key presses
==

Background
==

Entities Background color
==

Use current map as background
==

Show tiles layers from BG map
==

Regular Background Color
==

Try fast HTTP map download first
==

Expand All @@ -1214,6 +1196,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

Learn
==

Expand Down
76 changes: 32 additions & 44 deletions data/languages/romanian.txt
Expand Up @@ -643,7 +643,7 @@ Saving ddnet-settings.cfg failed
Replay feature is disabled!
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand All @@ -658,6 +658,9 @@ Server best:
Personal best:
==

Reset
==

Browser
==

Expand Down Expand Up @@ -946,9 +949,15 @@ Show entities
Show HUD
==

Chat command
==

UI mouse s.
==

Dummy
==

Borderless window
==

Expand Down Expand Up @@ -1021,7 +1030,7 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
==

Show client IDs in Scoreboard
Show client IDs
==

Show score
Expand All @@ -1030,9 +1039,6 @@ Show score
Show health + ammo
==

Use old chat style
==

Show names in chat in team colors
==

Expand All @@ -1042,64 +1048,37 @@ Show kill messages
Show votes window after voting
==

Messages
Laser Outline Color
==

System message
Laser Inner Color
==

Reset
Use old chat style
==

Highlighted message
Messages
==

Spectator
System message
==

Look out!
Highlighted message
==

Team message
==

We will win
==

Friend message
==

Highlight
==

Friend
==

Hi o/
==

Normal message
==

Hello and welcome
==

Client message
==

Inner color
==

Outline color
==

Wait before try for
==

second
==

seconds
Preview
==

Save the best demo of each race
Expand Down Expand Up @@ -1156,10 +1135,10 @@ Show other players' key presses
Old mouse mode
==

Background (regular)
Background
==

Background (entities)
Entities Background color
==

Use current map as background
Expand All @@ -1168,9 +1147,15 @@ Use current map as background
Show tiles layers from BG map
==

Regular Background Color
==

Try fast HTTP map download first
==

New random timeout code
==

DDNet %s is available:
==

Expand All @@ -1189,9 +1174,6 @@ No updates available
Check now
==

New random timeout code
==

Entities
==

Expand All @@ -1204,6 +1186,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

Learn
==

Expand Down
114 changes: 51 additions & 63 deletions data/languages/russian.txt
Expand Up @@ -580,9 +580,6 @@ Borderless window
Use DDRace Scoreboard
== Использовать DDRace табло

Show client IDs in Scoreboard
== Показывать ID клиентов в табло

Show kill messages
== Показывать сообщения о смерти

Expand Down Expand Up @@ -617,7 +614,7 @@ Types
== Типы

New name:
== Новое имя
== Новое имя:

Sat.
== Контр.
Expand All @@ -635,7 +632,7 @@ Join game
== Играть

FSAA samples
== Сэмплов FSAA
== FSAA сэмплов

Sound volume
== Громкость звука
Expand Down Expand Up @@ -709,39 +706,21 @@ Name plates size
Type:
== Тип:

Background (entities)
== Задний фон

Show ghost
== Показать тень
== Показывать тень

No updates available
== Нет доступных обновлений

second
== секунд

Look out!
== Берегись!

Select a name
== Выберите имя

Show other players' hook collision lines
== Показывать коллизии крюка других игроков

We will win
== Мы выиграем

Hi o/
== Привет ^^/

DDNet Client needs to be restarted to complete update!
== Перезапустите DDNet Client для завершения обновления!

Spectator
== Наблюдатель

Please use a different name
== Пожалуйста, используйте другое имя

Expand Down Expand Up @@ -793,27 +772,15 @@ Update now
Save ghost
== Сохранять тень

Hello and welcome
== Привет и добро пожаловать

DDNet Client updated!
== DDNet Client обновлён!

Outline color
== Цвет контура

Highlighted message
== Выделенное сообщение

Friend
== Друг

Demo
== Демо

Inner color
== Внутренний цвет

Successfully saved the replay!
== Повтор сохранен!

Expand Down Expand Up @@ -869,7 +836,7 @@ It's recommended that you check the settings to adjust them to your liking befor
== Перед посещением сервера рекомендуем изменить настройки на Ваш вкус.

Please enter your nickname below.
== Пожалуйста, укажите ниже свой никнейм.
== Пожалуйста, укажите ниже ваш псевдоним.

Destination file already exist
== Конечный файл уже существует
Expand All @@ -881,7 +848,7 @@ Show DDNet map finishes in server browser
== Показывать в браузере статус завершения карты

transmits your player name to info2.ddnet.tw
== передает Ваш никнейм на info2.ddnet.tw
== передает ваш псевдоним на info2.ddnet.tw

Exclude
== Исключить
Expand All @@ -902,7 +869,7 @@ Downloading %s:
== Скачивание %s:

Update failed! Check log...
== Обновление прошло неудачно! Проверьте логи...
== Провал. Проверьте логи...

Restart
== Рестарт
Expand Down Expand Up @@ -977,7 +944,7 @@ Zoom out
== Отдалить

Default zoom
== Станд. масштаб
== Ст. масштаб

Show all
== Показывать всех
Expand All @@ -986,7 +953,7 @@ Toggle dyncam
== Смен. дин. камеры

Toggle dummy
== Сменить ти
== Смена Tee

Toggle ghost
== Вкл./выкл. призрака
Expand All @@ -1010,7 +977,7 @@ Show entities
== Показать тайлы

Show HUD
== Показавать HUD
== Показывать HUD

UI mouse s.
== Чувств. мыши в меню
Expand Down Expand Up @@ -1045,12 +1012,6 @@ DDNet
Friend message
== Сообщение от друга

Wait before try for
== Подождите прежде чем повторить

seconds
== секунд

Save the best demo of each race
== Сохранять лучшее демо каждой попытки

Expand All @@ -1064,7 +1025,7 @@ Gameplay
== Игровой процесс

Overlay entities
== Наложить тайлы
== Наложение

Size
== Размер
Expand Down Expand Up @@ -1093,9 +1054,6 @@ AntiPing: predict grenade paths
Show other players' key presses
== Показывать нажатия других игроков

Background (regular)
== Фон (обычный)

Show tiles layers from BG map
== Показывать слои с тайлами из фоновой карты

Expand Down Expand Up @@ -1153,14 +1111,11 @@ Grabs
Client message
== Сообщение от клиента

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== Ширина или высота текстуры %s не делится на 16, что может быть причиной проблем с визуалом.

Warning
== Предупреждение

Use k key to kill (restart), q to pause and watch other players. See settings for other key binds.
== Используйте кнопку k, чтобы возродиться, q для паузы и наблюдением за остальными игроками. Проверьте настройки для остальных кнопок.
== Используйте кнопку k, чтобы возродиться, q для паузы и наблюдения за остальными игроками. Проверьте настройки остальных кнопок.

Country / Region
== Страна / Регион
Expand Down Expand Up @@ -1224,13 +1179,13 @@ Saving ddnet-settings.cfg failed
== Неудачное сохранение ddnet-settings.cfg

Debug mode enabled. Press Ctrl+Shift+D to disable debug mode.
== Отладочный режим включен. Нажмите Ctrl+Shift+D, чтобы выйти.
== Отладка включена. Нажмите Ctrl+Shift+D, чтобы выйти.

Existing Player
== Существующий игрок

Your nickname '%s' is already used (%d points). Do you still want to use it?
== Твой никнейм '%s' уже существует (%d поинтов). Вы уверены, что хотите использовать его?
== Ваш псевдоним '%s' уже существует (%d поинтов). Вы уверены, что хотите использовать его?

Checking for existing player with your name
== Проверка существования игрока с таким же именем
Expand All @@ -1242,7 +1197,7 @@ Demos directory
== Папка с демо

Smooth Dynamic Camera
== Плавная Динамическая камера
== Плавная дин. камера

Themes directory
== Папка с темами
Expand All @@ -1268,14 +1223,11 @@ Assets
Use old chat style
== Использовать старый чат

Highlight
== Подсветка

Use current map as background
== Использовать данную карту как фон

Emoticons
== Значки-эмоции
== Эмоции

Particles
== Частицы
Expand All @@ -1297,3 +1249,39 @@ Replay

Entities
== Тайлы

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
== Ширина текстуры %s не делится на %d или же его высота не делится на %d, что может повлиять на графику.

Dummy
== Дамми

Show client IDs
== Показывать ID игроков

Laser Outline Color
== Цвет обводки лазера

Laser Inner Color
== Цвет лазера

Preview
== Превью

Background
== Фон

Entities Background color
== Цвет фона при наложении

Regular Background Color
== Станд. фоновый цвет

Chat command
==

Discord
==

https://ddnet.tw/discord
==
76 changes: 32 additions & 44 deletions data/languages/serbian.txt
Expand Up @@ -653,7 +653,7 @@ Use k key to kill (restart), q to pause and watch other players. See settings fo
Saving ddnet-settings.cfg failed
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand All @@ -668,6 +668,9 @@ Server best:
Personal best:
==

Reset
==

Browser
==

Expand Down Expand Up @@ -944,9 +947,15 @@ Show entities
Show HUD
==

Chat command
==

UI mouse s.
==

Dummy
==

Borderless window
==

Expand Down Expand Up @@ -1019,7 +1028,7 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
==

Show client IDs in Scoreboard
Show client IDs
==

Show score
Expand All @@ -1028,9 +1037,6 @@ Show score
Show health + ammo
==

Use old chat style
==

Show names in chat in team colors
==

Expand All @@ -1040,64 +1046,37 @@ Show kill messages
Show votes window after voting
==

Messages
Laser Outline Color
==

System message
Laser Inner Color
==

Reset
Use old chat style
==

Highlighted message
Messages
==

Spectator
System message
==

Look out!
Highlighted message
==

Team message
==

We will win
==

Friend message
==

Highlight
==

Friend
==

Hi o/
==

Normal message
==

Hello and welcome
==

Client message
==

Inner color
==

Outline color
==

Wait before try for
==

second
==

seconds
Preview
==

Save the best demo of each race
Expand Down Expand Up @@ -1154,10 +1133,10 @@ Show other players' key presses
Old mouse mode
==

Background (regular)
Background
==

Background (entities)
Entities Background color
==

Use current map as background
Expand All @@ -1166,9 +1145,15 @@ Use current map as background
Show tiles layers from BG map
==

Regular Background Color
==

Try fast HTTP map download first
==

New random timeout code
==

DDNet %s is available:
==

Expand All @@ -1187,9 +1172,6 @@ No updates available
Check now
==

New random timeout code
==

Entities
==

Expand All @@ -1202,6 +1184,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

https://wiki.ddnet.tw/
==

Expand Down
80 changes: 34 additions & 46 deletions data/languages/serbian_cyrillic.txt
Expand Up @@ -657,9 +657,6 @@ Successfully saved the replay!
Replay feature is disabled!
== Функција понављања је онемогућена!

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== Ширина и висина текстуре %s није дељива са 16, што може проузроковати визуелне проблеме.

Warning
== Упозорење

Expand Down Expand Up @@ -1000,9 +997,6 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
== Користи DDRace табелу резултата

Show client IDs in Scoreboard
== Прикажи клијент идиове у табели резултата

Show score
== Прикажи бодове

Expand All @@ -1027,51 +1021,18 @@ System message
Highlighted message
== Истакнута порука

Spectator
== Разгледач

Look out!
== Пази!

Team message
== Тимска порука

We will win
== Победићемо

Friend message
== Порука пријатеља

Friend
== Пријатељ

Hi o/
== Здраво

Normal message
== Класична порука

Hello and welcome
== Здраво и добро дошли

Client message
== Порука клијента

Inner color
== Унутрашња боја

Outline color
== Спољашња боја

Wait before try for
== Сачекајте пре него што покушате

second
== Секунда

seconds
== Секунде

Save the best demo of each race
== Сачувајте најбољи снимак сваке трке

Expand Down Expand Up @@ -1123,12 +1084,6 @@ Show other players' key presses
Old mouse mode
== Стари мод миша

Background (regular)
== Позадина (редовно)

Background (entities)
== Позадина (entities)

Show tiles layers from BG map
== Прикажи слојеве плочица са BG мапе

Expand Down Expand Up @@ -1259,6 +1214,9 @@ Replay
Saving ddnet-settings.cfg failed
==

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Debug mode enabled. Press Ctrl+Shift+D to disable debug mode.
==

Expand All @@ -1274,6 +1232,12 @@ Checking for existing player with your name
Smooth Dynamic Camera
==

Chat command
==

Dummy
==

Game sound volume
==

Expand All @@ -1283,11 +1247,35 @@ Chat sound volume
Background music volume
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Use old chat style
==

Highlight
Preview
==

Background
==

Entities Background color
==

Use current map as background
==

Regular Background Color
==

Discord
==

https://ddnet.tw/discord
==
84 changes: 36 additions & 48 deletions data/languages/simplified_chinese.txt
Expand Up @@ -700,9 +700,6 @@ Type:
Use DDRace Scoreboard
== 使用 DDRace 计分板

Show client IDs in Scoreboard
== 在计分板上显示客户端ID

Show score
== 显示比分

Expand All @@ -727,30 +724,15 @@ System message
Highlighted message
== 被提及消息

Look out!
== 小心!

Team message
== 队伍消息

We will win
== 我们赢定了

Normal message
== 普通消息

Hello and welcome
== 你好,欢迎

Friend message
== 好友消息

Inner color
== 内部颜色

Outline color
== 外部颜色

Save the best demo of each race
== 保存竞速模式最高记录的回放

Expand Down Expand Up @@ -793,12 +775,6 @@ Show other players' hook collision lines
Show other players' key presses
== 显示其他玩家的按键

Background (regular)
== 背景(常规模式)

Background (entities)
== 背景(实体层模式)

Show tiles layers from BG map
== 显示实体层背景地图的图块层

Expand Down Expand Up @@ -832,9 +808,6 @@ Browser
Connecting dummy
== 正在连接分身

Spectator
== 旁观者

Search
== 搜索

Expand Down Expand Up @@ -867,24 +840,15 @@ Grabs
DDNet
== DDNet

second
== 秒

Select a name
== 另存为

Hi o/
== 你好

Deaths
== 死亡数

Please use a different name
== 请换一个不同的文件名

Wait before try for
== 请等待

Restart
== 重新开始

Expand Down Expand Up @@ -940,9 +904,6 @@ Spree
Max CSVs
== 最大csv文件数

seconds
== 秒

%.2f KiB
== %.2f KiB

Expand All @@ -952,9 +913,6 @@ Best
Exclude
== 排除

Friend
== 好友

may cause delay
== 可能会产生延迟

Expand Down Expand Up @@ -1177,9 +1135,6 @@ Country / Region
https://wiki.ddnet.tw/
== https://docs.qq.com/doc/DWGFrV0xPRmVWVkla

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== 材质 %s 的宽和高无法被16整除,这可能会导致画面异常。

Warning
== 警告

Expand Down Expand Up @@ -1286,9 +1241,6 @@ Assets
Use old chat style
== 旧版聊天框

Highlight
== 高亮

Use current map as background
== 使用当前地图作为实体层背景地图

Expand All @@ -1303,3 +1255,39 @@ Particles

Assets directory
== 材质目录

https://ddnet.tw/discord
== http://chat.teeworlds.cn/

Discord
== 开黑啦

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Chat command
==

Dummy
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Preview
==

Background
==

Entities Background color
==

Regular Background Color
==
76 changes: 32 additions & 44 deletions data/languages/slovak.txt
Expand Up @@ -631,7 +631,7 @@ Saving ddnet-settings.cfg failed
Replay feature is disabled!
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand All @@ -649,6 +649,9 @@ Server best:
Personal best:
==

Reset
==

Browser
==

Expand Down Expand Up @@ -940,9 +943,15 @@ Show entities
Show HUD
==

Chat command
==

UI mouse s.
==

Dummy
==

Borderless window
==

Expand Down Expand Up @@ -1015,7 +1024,7 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
==

Show client IDs in Scoreboard
Show client IDs
==

Show score
Expand All @@ -1024,9 +1033,6 @@ Show score
Show health + ammo
==

Use old chat style
==

Show names in chat in team colors
==

Expand All @@ -1036,64 +1042,37 @@ Show kill messages
Show votes window after voting
==

Messages
Laser Outline Color
==

System message
Laser Inner Color
==

Reset
Use old chat style
==

Highlighted message
Messages
==

Spectator
System message
==

Look out!
Highlighted message
==

Team message
==

We will win
==

Friend message
==

Highlight
==

Friend
==

Hi o/
==

Normal message
==

Hello and welcome
==

Client message
==

Inner color
==

Outline color
==

Wait before try for
==

second
==

seconds
Preview
==

Save the best demo of each race
Expand Down Expand Up @@ -1150,10 +1129,10 @@ Show other players' key presses
Old mouse mode
==

Background (regular)
Background
==

Background (entities)
Entities Background color
==

Use current map as background
Expand All @@ -1162,9 +1141,15 @@ Use current map as background
Show tiles layers from BG map
==

Regular Background Color
==

Try fast HTTP map download first
==

New random timeout code
==

DDNet %s is available:
==

Expand All @@ -1183,9 +1168,6 @@ No updates available
Check now
==

New random timeout code
==

Entities
==

Expand All @@ -1198,6 +1180,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

Learn
==

Expand Down
84 changes: 36 additions & 48 deletions data/languages/spanish.txt
Expand Up @@ -965,9 +965,6 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
== Utiliza el marcador DDRace

Show client IDs in Scoreboard
== Mostrar IDs de clientes en el marcador

Show score
== Mostrar puntaje

Expand Down Expand Up @@ -995,48 +992,15 @@ Reset
Highlighted message
== Mensaje resaltado

Spectator
== Espectador

Look out!
== ¡Ten cuidado!

Team message
== Mensaje del equipo

We will win
== Nosotros ganaremos

Friend message
== Mensaje de un amigo

Friend
== Amigo

Hi o/
== Hola o/

Normal message
== Mensaje normal

Hello and welcome
== Hola y bienvenido

Inner color
== Color interior

Outline color
== Color de contorno

Wait before try for
== Espera antes de intentar

second
== segundo

seconds
== segundos

Save the best demo of each race
== Guardar la mejor demo de cada carrera

Expand Down Expand Up @@ -1091,12 +1055,6 @@ Show other players' key presses
Old mouse mode
== Modo de mouse viejo

Background (regular)
== Fondo (regular)

Background (entities)
== Fondo (entidades)

Show tiles layers from BG map
== Mostrar capas de tiles del mapa BG

Expand Down Expand Up @@ -1163,9 +1121,6 @@ Grabs
Saving ddnet-settings.cfg failed
== Error al guardar ddnet-settings.cfg

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== El ancho o alto de la textura %s no es divisible por 16, por lo que puede causar errores visuales.

Warning
== Advertencia

Expand Down Expand Up @@ -1241,9 +1196,6 @@ Assets
Use old chat style
== Usar estilo viejo de chat

Highlight
== Resaltado

Client message
== Mensaje de cliente

Expand Down Expand Up @@ -1298,3 +1250,39 @@ Auto

Replay
== Repetición

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Chat command
==

Dummy
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Preview
==

Background
==

Entities Background color
==

Regular Background Color
==

Discord
==

https://ddnet.tw/discord
==
80 changes: 34 additions & 46 deletions data/languages/swedish.txt
Expand Up @@ -643,9 +643,6 @@ Select a name
Enable long pain sound (used when shooting in freeze)
== Aktivera ett långt ont ljud (använt vid sjutning i freeze)

We will win
== Vi kommer att vinna

Default zoom
== Standard zoom

Expand Down Expand Up @@ -709,9 +706,6 @@ Browser
Default length: %d
== Standard längd: %d

Hello and welcome
== Hej och välkommen

Switch weapon when out of ammo
== Byt vapen vid slut av ammunition

Expand Down Expand Up @@ -820,9 +814,6 @@ Time
Filter connecting players
== Filtrera spelare som ansluter

Friend
== Vän

Enable game sounds
== Aktivera spel ljud

Expand All @@ -832,9 +823,6 @@ Max CSVs
Zoom in
== Zooma in

Hi o/
== Hej o/

Update failed! Check log...
== Updatering misslyckades! Kolla logg...

Expand All @@ -844,9 +832,6 @@ Update failed! Check log...
Check now
== Kolla nu

second
== sekund

Reset wanted weapon on death
== Återställ önskade vapen vid död

Expand Down Expand Up @@ -886,9 +871,6 @@ Show ghost
1 new mention
== 1 ny nämning

Wait before try for
== Vänta innan försök för

Are you sure that you want to disconnect your dummy?
== Är du säker att du vill koppla ifrån din dummy?

Expand Down Expand Up @@ -934,9 +916,6 @@ Follow
Restart
== Starta om

Background (regular)
== Bakgrund (vanlig)

Hammerfly dummy
== Hammerfly dummy

Expand All @@ -949,15 +928,9 @@ Enable team chat sound
Disconnect Dummy
== Koppla ifrån dummy

Background (entities)
== Bakgrund (entities)

Replace video
== Ersätt video

Look out!
== Se upp!

Server best:
== Serverens bästa:

Expand All @@ -973,12 +946,6 @@ Fat skins (DDFat)
Net
== Nät

seconds
== sekunder

Spectator
== Åskådare

Demo
== Demo

Expand Down Expand Up @@ -1036,9 +1003,6 @@ Preinit VBO (iGPUs only)
Clan plates size
== Klanskylt storlek

Outline color
== Kontur färg

Size
== Storlek

Expand Down Expand Up @@ -1072,9 +1036,6 @@ Please use a different name
Destination file already exist
== Destinations fil finns redan

Show client IDs in Scoreboard
== Visa klient IDen i poänglista

Game paused
== Spel pausad

Expand All @@ -1087,9 +1048,6 @@ Automatically create statboard csv
Old mouse mode
== Gammal mus metod

Inner color
== Innre färg

Enable regular chat sound
== Aktivera vanligt chatt ljud

Expand Down Expand Up @@ -1156,9 +1114,6 @@ Connect Dummy
Show others (own team only)
== Visa andra (eget lag endast)

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== Bredden eller höjden av texturen %s är ej delbar med 16, och kan därav skapa visuella buggar.

Warning
== Varning

Expand Down Expand Up @@ -1232,6 +1187,9 @@ Replay
Saving ddnet-settings.cfg failed
==

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Debug mode enabled. Press Ctrl+Shift+D to disable debug mode.
==

Expand Down Expand Up @@ -1262,6 +1220,12 @@ Skin Database
Skins directory
==

Chat command
==

Dummy
==

Game sound volume
==

Expand All @@ -1274,15 +1238,33 @@ Background music volume
Assets
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Use old chat style
==

Highlight
Preview
==

Background
==

Entities Background color
==

Use current map as background
==

Regular Background Color
==

Entities
==

Expand All @@ -1294,3 +1276,9 @@ Particles

Assets directory
==

Discord
==

https://ddnet.tw/discord
==
84 changes: 36 additions & 48 deletions data/languages/traditional_chinese.txt
Expand Up @@ -694,9 +694,6 @@ Type:
Use DDRace Scoreboard
== 使用 DDRace 計分板

Show client IDs in Scoreboard
== 在計分板上顯示客戶端ID

Show score
== 顯示比分

Expand All @@ -721,30 +718,15 @@ System message
Highlighted message
== 被提及訊息

Look out!
== 小心!

Team message
== 隊伍訊息

We will win
== 我們贏定了

Normal message
== 普通訊息

Hello and welcome
== 你好,歡迎

Friend message
== 好友訊息

Inner color
== 內部顏色

Outline color
== 外部顏色

Save the best demo of each race
== 儲存競速模式最高記錄的回放

Expand Down Expand Up @@ -787,12 +769,6 @@ Show other players' hook collision lines
Show other players' key presses
== 顯示其他玩家的按鍵

Background (regular)
== 背景(常規)

Background (entities)
== 背景(實體)

Show tiles layers from BG map
== 顯示實體層背景地圖的圖塊層

Expand Down Expand Up @@ -826,9 +802,6 @@ Browser
Connecting dummy
== 正在連線分身

Spectator
== 旁觀者

Search
== 搜尋

Expand Down Expand Up @@ -861,24 +834,15 @@ Grabs
DDNet
== DDNet

second
== 秒

Select a name
== 另存為

Hi o/
== 你好

Deaths
== 死亡數

Please use a different name
== 請換一個不同的檔名

Wait before try for
== 請等待

Restart
== 重新開始

Expand Down Expand Up @@ -934,9 +898,6 @@ Spree
Max CSVs
== 最大csv檔案數

seconds
== 秒

%.2f KiB
== %.2f KiB

Expand All @@ -946,9 +907,6 @@ Best
Exclude
== 排除

Friend
== 好友

may cause delay
== 可能會產生延遲

Expand Down Expand Up @@ -1171,9 +1129,6 @@ Country / Region
https://wiki.ddnet.tw/
== https://docs.qq.com/doc/DWGFrV0xPRmVWVkla

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
== 材質 %s 的寬和高無法被16整除,這可能會導致畫面異常。

Warning
== 警告

Expand Down Expand Up @@ -1280,9 +1235,6 @@ Assets
Use old chat style
== 舊版聊天框

Highlight
== 高亮

Use current map as background
== 使用當前地圖作爲實體層背景地圖

Expand All @@ -1297,3 +1249,39 @@ Particles

Assets directory
== 材質目錄

The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Chat command
==

Dummy
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Preview
==

Background
==

Entities Background color
==

Regular Background Color
==

Discord
==

https://ddnet.tw/discord
==
76 changes: 32 additions & 44 deletions data/languages/turkish.txt
Expand Up @@ -966,9 +966,6 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
== DDRace Skor Tahtası kulan

Show client IDs in Scoreboard
== Client ID'lerini skor tahtasında göster

Show score
== Skoru göster

Expand Down Expand Up @@ -996,51 +993,18 @@ Reset
Highlighted message
== Vurgulanmış mesaj

Spectator
== İzleyici

Look out!
== Dikkat et!

Team message
== Takım mesajı

We will win
== Kazanacağız

Friend message
== Arkadaş mesajı

Friend
== Arkadaş

Hi o/
== Selam o/

Normal message
== Normal mesaj

Hello and welcome
== Selam ve hoşgeldin

Client message
== İstemci mesajı

Inner color
== İç renk

Outline color
== Dış renk

Wait before try for
== Denemeden önce şu kadar bekle:

second
== saniye

seconds
== saniye

Save the best demo of each race
== Her yarış için en iyi demoyu kaydet

Expand Down Expand Up @@ -1095,12 +1059,6 @@ Show other players' key presses
Old mouse mode
== Eski mouse modu

Background (regular)
== Arkaplan (normal)

Background (entities)
== Arkaplan (yapı)

Show tiles layers from BG map
== Yapı katmanlarını göster

Expand Down Expand Up @@ -1179,7 +1137,7 @@ Replay
Saving ddnet-settings.cfg failed
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand Down Expand Up @@ -1239,6 +1197,12 @@ Skin Database
Skins directory
==

Chat command
==

Dummy
==

Game sound volume
==

Expand All @@ -1251,15 +1215,33 @@ Background music volume
Assets
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Use old chat style
==

Highlight
Preview
==

Background
==

Entities Background color
==

Use current map as background
==

Regular Background Color
==

Entities
==

Expand All @@ -1272,6 +1254,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

https://wiki.ddnet.tw/
==

Expand Down
76 changes: 32 additions & 44 deletions data/languages/ukrainian.txt
Expand Up @@ -952,9 +952,6 @@ DDNet Client needs to be restarted to complete update!
Use DDRace Scoreboard
== Використовувати DDRace табло

Show client IDs in Scoreboard
== Показувати ID клієнтів в табло

Show score
== Показувати лідерів

Expand Down Expand Up @@ -982,51 +979,18 @@ Reset
Highlighted message
== Виділене повідомлення

Spectator
== Спостерігач

Look out!
== Стережися!

Team message
== Повідомлення команди

We will win
== Ми переможемо

Friend message
== Повідомлення від друга

Friend
== Друг

Hi o/
== Привіт o/

Normal message
== Звичайне повідомлення

Hello and welcome
== Привіт і ласкаво просимо

Client message
== Повідомлення від клієнта

Inner color
== Внутрішній колір

Outline color
== колір контуру

Wait before try for
== Зачекайте перш ніж повторити

second
== секнуда

seconds
== секунд

Save the best demo of each race
== Зберігати краще демо кожної спроби

Expand Down Expand Up @@ -1081,12 +1045,6 @@ Show other players' key presses
Old mouse mode
== Режим старої мишки

Background (regular)
== Фон (звичайний)

Background (entities)
== Задній фон

Show tiles layers from BG map
== Показувати шари з тайлами з фонової карти

Expand Down Expand Up @@ -1168,7 +1126,7 @@ Replay
Saving ddnet-settings.cfg failed
==

The width or height of texture %s is not divisible by 16, which might cause visual bugs.
The width of texture %s is not divisible by %d, or the height is not divisible by %d, which might cause visual bugs.
==

Warning
Expand Down Expand Up @@ -1234,6 +1192,12 @@ Skin Database
Skins directory
==

Chat command
==

Dummy
==

Game sound volume
==

Expand All @@ -1246,15 +1210,33 @@ Background music volume
Assets
==

Show client IDs
==

Laser Outline Color
==

Laser Inner Color
==

Use old chat style
==

Highlight
Preview
==

Background
==

Entities Background color
==

Use current map as background
==

Regular Background Color
==

Entities
==

Expand All @@ -1267,6 +1249,12 @@ Particles
Assets directory
==

Discord
==

https://ddnet.tw/discord
==

https://wiki.ddnet.tw/
==

Expand Down
Binary file modified data/mapres/basic_freeze.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/bg_cloud1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/bg_cloud2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/bg_cloud3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/ddmax_freeze.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/ddnet_start.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/ddnet_tiles.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_background.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_doodads.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_main.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_mountains.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_mountains_new_background.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_mountains_new_foreground.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/desert_sun.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/entities.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/fadeout.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/font_teeworlds.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/font_teeworlds_alt.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/generic_deathtiles.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/generic_lamps.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/generic_unhookable_0.7.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/grass_doodads.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/grass_doodads_0.7.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/grass_main.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/grass_main_0.7.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/mapres/jungle_deathtiles.png
Binary file modified data/mapres/jungle_doodads.png
Binary file modified data/mapres/jungle_main.png
Binary file modified data/mapres/jungle_unhookables.png
Binary file modified data/mapres/moon.png
Binary file modified data/mapres/mountains.png
Binary file modified data/mapres/snow_mountain.png
Binary file modified data/mapres/stars.png
Binary file modified data/mapres/sun.png
Binary file modified data/mapres/water.png
Binary file modified data/mapres/winter_doodads.png
Binary file modified data/mapres/winter_main.png
Binary file modified data/mapres/winter_mountains.png
Binary file modified data/mapres/winter_mountains2.png
Binary file modified data/menuimages/demos.png
Binary file modified data/menuimages/editor.png
Binary file modified data/menuimages/local_server.png
Binary file modified data/menuimages/play_game.png
Binary file modified data/menuimages/settings.png
Binary file modified data/particles.png
Binary file modified data/skins/Aoe4leg.png
Binary file modified data/skins/PaladiN.png
Binary file modified data/skins/antiantey.png
Binary file modified data/skins/beast.png
Binary file modified data/skins/blacktee.png
Binary file modified data/skins/bluekitty.png
Binary file modified data/skins/chinese_by_whis.png
Binary file modified data/skins/coala_bluekitty.png
Binary file modified data/skins/coala_limekitty.png
Binary file modified data/skins/coala_x_ninja.png
Binary file modified data/skins/demonlimekitty.png
Binary file modified data/skins/dino.png
Binary file modified data/skins/dragon.png
Binary file modified data/skins/evil.png
Binary file modified data/skins/evilwolfe.png
Binary file modified data/skins/ghost.png
Binary file modified data/skins/ghostjtj.png
Binary file modified data/skins/giraffe.png
Binary file modified data/skins/greensward.png
Binary file modified data/skins/greyfox.png
Binary file modified data/skins/greyfox_2.png
Binary file modified data/skins/hammie-chew.png
Binary file modified data/skins/hammie-whis.png
Binary file modified data/skins/jeet.png
Binary file modified data/skins/kintaro_2.png
Binary file modified data/skins/kitty_brownbear.png
Binary file modified data/skins/kitty_x_ninja.png
Binary file modified data/skins/limekitty.png
Binary file modified data/skins/mermydon-coala.png
Binary file modified data/skins/mermydon.png
Binary file modified data/skins/mouse.png
Binary file modified data/skins/musmann.png
Binary file modified data/skins/nanami.png
Binary file modified data/skins/nanas.png
Binary file modified data/skins/nersif.png
Binary file modified data/skins/oldman.png
Binary file modified data/skins/oldschool.png
Binary file modified data/skins/penguin.png
Binary file modified data/skins/random.png
Binary file modified data/skins/redbopp.png
Binary file modified data/skins/santa_bluekitty.png
Binary file modified data/skins/santa_bluestripe.png
Binary file modified data/skins/santa_brownbear.png
Binary file modified data/skins/santa_cammo.png
Binary file modified data/skins/santa_cammostripes.png
Binary file modified data/skins/santa_coala.png
Binary file modified data/skins/santa_default.png
Binary file modified data/skins/santa_limekitty.png
Binary file modified data/skins/santa_pinky.png
Binary file modified data/skins/santa_redbopp.png
Binary file modified data/skins/santa_redstripe.png
Binary file modified data/skins/santa_saddo.png
Binary file modified data/skins/santa_toptri.png
Binary file modified data/skins/santa_twinbop.png
Binary file modified data/skins/santa_twintri.png
Binary file modified data/skins/santa_warpaint.png
Binary file modified data/skins/veteran.png
Binary file modified data/skins/voodoo_tee.png
Binary file modified data/skins/wartee.png
Binary file modified data/skins/whis.png
Binary file modified data/skins/x_ninja.png
24 changes: 12 additions & 12 deletions datasrc/compile.py
Expand Up @@ -148,15 +148,15 @@ class CNetObjHandler
CNetObjHandler();
int ValidateObj(int Type, void *pData, int Size);
const char *GetObjName(int Type);
int GetObjSize(int Type);
int NumObjCorrections();
const char *CorrectedObjOn();
const char *GetObjName(int Type) const;
int GetObjSize(int Type) const;
int NumObjCorrections() const;
const char *CorrectedObjOn() const;
const char *GetMsgName(int Type);
const char *GetMsgName(int Type) const;
void *SecureUnpackMsg(int Type, CUnpacker *pUnpacker);
bool TeeHistorianRecordMsg(int Type);
const char *FailedMsgOn();
const char *FailedMsgOn() const;
};
""")
Expand All @@ -180,9 +180,9 @@ class CNetObjHandler
lines += ['\tm_NumObjCorrections = 0;']
lines += ['}']
lines += ['']
lines += ['int CNetObjHandler::NumObjCorrections() { return m_NumObjCorrections; }']
lines += ['const char *CNetObjHandler::CorrectedObjOn() { return m_pObjCorrectedOn; }']
lines += ['const char *CNetObjHandler::FailedMsgOn() { return m_pMsgFailedOn; }']
lines += ['int CNetObjHandler::NumObjCorrections() const { return m_NumObjCorrections; }']
lines += ['const char *CNetObjHandler::CorrectedObjOn() const { return m_pObjCorrectedOn; }']
lines += ['const char *CNetObjHandler::FailedMsgOn() const { return m_pMsgFailedOn; }']
lines += ['']
lines += ['']
lines += ['']
Expand Down Expand Up @@ -219,22 +219,22 @@ class CNetObjHandler
lines += ['};']
lines += ['']

lines += ['const char *CNetObjHandler::GetObjName(int Type)']
lines += ['const char *CNetObjHandler::GetObjName(int Type) const']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETOBJTYPES) return "(out of range)";']
lines += ['\treturn ms_apObjNames[Type];']
lines += ['}']
lines += ['']

lines += ['int CNetObjHandler::GetObjSize(int Type)']
lines += ['int CNetObjHandler::GetObjSize(int Type) const']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETOBJTYPES) return 0;']
lines += ['\treturn ms_aObjSizes[Type];']
lines += ['}']
lines += ['']


lines += ['const char *CNetObjHandler::GetMsgName(int Type)']
lines += ['const char *CNetObjHandler::GetMsgName(int Type) const']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETMSGTYPES) return "(out of range)";']
lines += ['\treturn ms_apMsgNames[Type];']
Expand Down
2 changes: 1 addition & 1 deletion datasrc/network.py
Expand Up @@ -469,7 +469,7 @@
NetIntRange("m_Finish", 0, 1),
]),

NetMessageEx("Sv_Record", "weird-record@netmsg.ddnet.tw", [
NetMessageEx("Sv_Record", "record@netmsg.ddnet.tw", [
NetIntAny("m_ServerTimeBest"),
NetIntAny("m_PlayerTimeBest"),
]),
Expand Down
5 changes: 3 additions & 2 deletions license.txt
@@ -1,6 +1,6 @@
Teeworlds Copyright (C) 2007-2014 Magnus Auvinen
DDRace Copyright (C) 2010-2011 Shereef Marzouk
DDNet Copyright (C) 2013-2020 Dennis Felsing
DDNet Copyright (C) 2013-2021 Dennis Felsing

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
Expand All @@ -21,7 +21,8 @@ freely, subject to the following restrictions:
------------------------------------------------------------------------

All content under 'data' except the assets, font, language & skin files,
(which have their own licenses):
(which have their own licenses) are released under
CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
Apache 2.0 for the 'Icon.tff' file:
Copyright Google

Expand Down
4 changes: 4 additions & 0 deletions other/ddnet.appdata.xml
Expand Up @@ -37,6 +37,10 @@
<content_attribute id="social-chat">intense</content_attribute>
</content_rating>
<releases>
<release date="2021-03-25" version="15.4"/>
<release date="2021-02-20" version="15.3.2"/>
<release date="2021-02-12" version="15.3.1"/>
<release date="2021-02-11" version="15.3"/>
<release date="2020-12-29" version="15.2.5"/>
<release date="2020-12-16" version="15.2.4"/>
<release date="2020-11-19" version="15.2.3"/>
Expand Down
20 changes: 15 additions & 5 deletions scripts/dmg.py
Expand Up @@ -4,6 +4,7 @@
import shlex
import subprocess
import tempfile
import time

ConfigDmgtools = namedtuple('Config', 'dmg hfsplus newfs_hfs verbose')
ConfigHdiutil = namedtuple('Config', 'hdiutil verbose')
Expand Down Expand Up @@ -36,10 +37,10 @@ def _hfs(self, *args):
def _dmg(self, *args):
self._check_call((self.config.dmg,) + args)

def _create_hfs(self, hfs, volume_name, size):
def _create_hfs(self, hfs_fd, hfs, volume_name, size):
if self.config.verbose >= 1:
print("TRUNCATING {} to {} bytes".format(hfs, size))
with open(hfs, 'wb') as f:
with os.fdopen(hfs_fd, 'wb') as f:
f.truncate(size)
self._mkfs_hfs('-v', volume_name, hfs)

Expand All @@ -55,8 +56,8 @@ def _finish(self, hfs, dmg):
def create(self, dmg, volume_name, directory, symlinks):
input_size = sum(os.stat(os.path.join(path, f)).st_size for path, dirs, files in os.walk(directory) for f in files)
output_size = max(input_size * 2, 1024**2)
hfs = tempfile.mktemp(prefix=dmg + '.', suffix='.hfs')
self._create_hfs(hfs, volume_name, output_size)
hfs_fd, hfs = tempfile.mkstemp(prefix=dmg + '.', suffix='.hfs')
self._create_hfs(hfs_fd, hfs, volume_name, output_size)
self._add(hfs, directory)
for target, link_name in symlinks:
self._symlink(hfs, target, link_name)
Expand All @@ -72,7 +73,16 @@ def _hdiutil(self, *args):
def create(self, dmg, volume_name, directory, symlinks):
if symlinks:
raise NotImplementedError("symlinks are not yet implemented")
self._hdiutil('create', '-volname', volume_name, '-srcdir', directory, dmg)
for i in range(5):
try:
self._hdiutil('create', '-volname', volume_name, '-srcdir', directory, dmg)
except subprocess.CalledProcessError as e:
if i == 4:
raise e
print("Retrying hdiutil create")
time.sleep(5)
else:
break

def main():
p = argparse.ArgumentParser(description="Manipulate dmg archives")
Expand Down
4 changes: 2 additions & 2 deletions src/base/detect.h
Expand Up @@ -63,8 +63,8 @@
#if defined(MACOSX) || defined(__APPLE__) || defined(__DARWIN__)
#define CONF_FAMILY_UNIX 1
#define CONF_FAMILY_STRING "unix"
#define CONF_PLATFORM_MACOSX 1
#define PLATFORM_STRING "macosx"
#define CONF_PLATFORM_MACOS 1
#define PLATFORM_STRING "macos"
#endif

#if defined(__sun)
Expand Down
19 changes: 13 additions & 6 deletions src/base/system.c
Expand Up @@ -35,7 +35,7 @@

#include <dirent.h>

#if defined(CONF_PLATFORM_MACOSX)
#if defined(CONF_PLATFORM_MACOS)
// some lock and pthread functions are already defined in headers
// included from Carbon.h
// this prevents having duplicate definitions of those
Expand Down Expand Up @@ -177,17 +177,24 @@ static void logger_stdout_sync(const char *line, void *user)
char u16[4] = {0};

if(codepoint < 0)
{
free(wide);
return;
}

if(str_utf16le_encode(u16, codepoint) != 2)
{
free(wide);
return;
}

mem_copy(&wide[wlen], u16, 2);
}

console = GetStdHandle(STD_OUTPUT_HANDLE);
WriteConsoleW(console, wide, wlen, NULL, NULL);
WriteConsoleA(console, "\n", 1, NULL, NULL);
free(wide);
}
#endif

Expand Down Expand Up @@ -882,7 +889,7 @@ void sphore_init(SEMAPHORE *sem)
void sphore_wait(SEMAPHORE *sem) { WaitForSingleObject((HANDLE)*sem, INFINITE); }
void sphore_signal(SEMAPHORE *sem) { ReleaseSemaphore((HANDLE)*sem, 1, NULL); }
void sphore_destroy(SEMAPHORE *sem) { CloseHandle((HANDLE)*sem); }
#elif defined(CONF_PLATFORM_MACOSX)
#elif defined(CONF_PLATFORM_MACOS)
void sphore_init(SEMAPHORE *sem)
{
char aBuf[64];
Expand Down Expand Up @@ -935,7 +942,7 @@ int64 time_get_impl(void)
{
static int64 last = 0;
{
#if defined(CONF_PLATFORM_MACOSX)
#if defined(CONF_PLATFORM_MACOS)
static int got_timebase = 0;
mach_timebase_info_data_t timebase;
uint64 time;
Expand Down Expand Up @@ -986,7 +993,7 @@ int64 time_get(void)

int64 time_freq(void)
{
#if defined(CONF_PLATFORM_MACOSX)
#if defined(CONF_PLATFORM_MACOS)
return 1000000000;
#elif defined(CONF_FAMILY_UNIX)
return 1000000;
Expand Down Expand Up @@ -2061,13 +2068,13 @@ int fs_storage_path(const char *appname, char *path, int max)
return 0;
#else
char *home = getenv("HOME");
#if !defined(CONF_PLATFORM_MACOSX)
#if !defined(CONF_PLATFORM_MACOS)
int i;
#endif
if(!home)
return -1;

#if defined(CONF_PLATFORM_MACOSX)
#if defined(CONF_PLATFORM_MACOS)
snprintf(path, max, "%s/Library/Application Support/%s", home, appname);
#else
snprintf(path, max, "%s/.%s", home, appname);
Expand Down
4 changes: 2 additions & 2 deletions src/base/system.h
Expand Up @@ -611,7 +611,7 @@ void lock_unlock(LOCK lock) RELEASE(lock);
/* Group: Semaphores */
#if defined(CONF_FAMILY_WINDOWS)
typedef void *SEMAPHORE;
#elif defined(CONF_PLATFORM_MACOSX)
#elif defined(CONF_PLATFORM_MACOS)
#include <semaphore.h>
typedef sem_t *SEMAPHORE;
#elif defined(CONF_FAMILY_UNIX)
Expand Down Expand Up @@ -1655,7 +1655,7 @@ int fs_makedir_rec_for(const char *path);
Remarks:
- Returns ~/.appname on UNIX based systems
- Returns ~/Library/Applications Support/appname on Mac OS X
- Returns ~/Library/Applications Support/appname on macOS
- Returns %APPDATA%/Appname on Windows based systems
*/
int fs_storage_path(const char *appname, char *path, int max);
Expand Down
2 changes: 1 addition & 1 deletion src/base/tl/algorithm.h
Expand Up @@ -109,7 +109,7 @@ void sort_quick(R range)
template<class R>
void sort(R range)
{
std::sort(&range.front(), &range.back() + 1);
std::stable_sort(&range.front(), &range.back() + 1);
}

template<class R>
Expand Down
4 changes: 2 additions & 2 deletions src/base/tl/array.h
Expand Up @@ -280,7 +280,7 @@ class array : private ALLOCATOR
Function: memusage
Returns how much memory this dynamic array is using
*/
int memusage()
int memusage() const
{
return sizeof(array) + sizeof(T) * list_size;
}
Expand All @@ -303,7 +303,7 @@ class array : private ALLOCATOR
Function: all
Returns a range that contains the whole array.
*/
range all() { return range(list, list + num_elements); }
range all() const { return range(list, list + num_elements); }

protected:
void incsize()
Expand Down
59 changes: 30 additions & 29 deletions src/engine/client.h
Expand Up @@ -135,22 +135,22 @@ class IClient : public IInterface
virtual void EnterGame() = 0;

//
virtual const char *MapDownloadName() = 0;
virtual int MapDownloadAmount() = 0;
virtual int MapDownloadTotalsize() = 0;
virtual const char *MapDownloadName() const = 0;
virtual int MapDownloadAmount() const = 0;
virtual int MapDownloadTotalsize() const = 0;

// input
virtual int *GetInput(int Tick, int IsDummy = 0) = 0;
virtual int *GetDirectInput(int Tick, int IsDummy = 0) = 0;
virtual int *GetInput(int Tick, int IsDummy = 0) const = 0;
virtual int *GetDirectInput(int Tick, int IsDummy = 0) const = 0;

// remote console
virtual void RconAuth(const char *pUsername, const char *pPassword) = 0;
virtual bool RconAuthed() = 0;
virtual bool UseTempRconCommands() = 0;
virtual bool RconAuthed() const = 0;
virtual bool UseTempRconCommands() const = 0;
virtual void Rcon(const char *pLine) = 0;

// server info
virtual void GetServerInfo(class CServerInfo *pServerInfo) = 0;
virtual void GetServerInfo(class CServerInfo *pServerInfo) const = 0;

virtual int GetPredictionTime() = 0;

Expand All @@ -163,10 +163,10 @@ class IClient : public IInterface
};

// TODO: Refactor: should redo this a bit i think, too many virtual calls
virtual int SnapNumItems(int SnapID) = 0;
virtual void *SnapFindItem(int SnapID, int Type, int ID) = 0;
virtual void *SnapGetItem(int SnapID, int Index, CSnapItem *pItem) = 0;
virtual int SnapItemSize(int SnapID, int Index) = 0;
virtual int SnapNumItems(int SnapID) const = 0;
virtual void *SnapFindItem(int SnapID, int Type, int ID) const = 0;
virtual void *SnapGetItem(int SnapID, int Index, CSnapItem *pItem) const = 0;
virtual int SnapItemSize(int SnapID, int Index) const = 0;
virtual void SnapInvalidateItem(int SnapID, int Index) = 0;

virtual void SnapSetStaticsize(int ItemType, int Size) = 0;
Expand All @@ -184,22 +184,22 @@ class IClient : public IInterface
}

//
virtual const char *PlayerName() = 0;
virtual const char *DummyName() = 0;
virtual const char *ErrorString() = 0;
virtual const char *LatestVersion() = 0;
virtual bool ConnectionProblems() = 0;
virtual const char *PlayerName() const = 0;
virtual const char *DummyName() const = 0;
virtual const char *ErrorString() const = 0;
virtual const char *LatestVersion() const = 0;
virtual bool ConnectionProblems() const = 0;

virtual bool SoundInitFailed() = 0;
virtual bool SoundInitFailed() const = 0;

virtual IGraphics::CTextureHandle GetDebugFont() = 0; // TODO: remove this function
virtual IGraphics::CTextureHandle GetDebugFont() const = 0; // TODO: remove this function

//DDRace

virtual const char *GetCurrentMap() = 0;
virtual const char *GetCurrentMapPath() = 0;
virtual SHA256_DIGEST GetCurrentMapSha256() = 0;
virtual unsigned GetCurrentMapCrc() = 0;
virtual const char *GetCurrentMap() const = 0;
virtual const char *GetCurrentMapPath() const = 0;
virtual SHA256_DIGEST GetCurrentMapSha256() const = 0;
virtual unsigned GetCurrentMapCrc() const = 0;

virtual int GetCurrentRaceTime() = 0;

Expand All @@ -212,7 +212,7 @@ class IClient : public IInterface
virtual void DemoSlice(const char *pDstPath, CLIENTFUNC_FILTER pfnFilter, void *pUser) = 0;

virtual void RequestDDNetInfo() = 0;
virtual bool EditorHasUnsavedData() = 0;
virtual bool EditorHasUnsavedData() const = 0;

virtual void GenerateTimeoutSeed() = 0;

Expand Down Expand Up @@ -250,13 +250,14 @@ class IGameClient : public IInterface
virtual void SendDummyInfo(bool Start) = 0;
virtual int GetLastRaceTick() = 0;

virtual const char *GetItemName(int Type) = 0;
virtual const char *Version() = 0;
virtual const char *NetVersion() = 0;
virtual int DDNetVersion() = 0;
virtual const char *DDNetVersionStr() = 0;
virtual const char *GetItemName(int Type) const = 0;
virtual const char *Version() const = 0;
virtual const char *NetVersion() const = 0;
virtual int DDNetVersion() const = 0;
virtual const char *DDNetVersionStr() const = 0;

virtual void OnDummyDisconnect() = 0;
virtual void DummyResetInput() = 0;
virtual void Echo(const char *pString) = 0;
virtual bool CanDisplayWarning() = 0;
virtual bool IsDisplayingWarning() = 0;
Expand Down
6 changes: 3 additions & 3 deletions src/engine/client/backend_sdl.cpp
Expand Up @@ -74,7 +74,7 @@ void CGraphicsBackend_Threaded::ThreadFunc(void *pUser)
pThis->m_Activity.Wait();
if(pThis->m_pBuffer)
{
#ifdef CONF_PLATFORM_MACOSX
#ifdef CONF_PLATFORM_MACOS
CAutoreleasePool AutoreleasePool;
#endif
pThis->m_pProcessor->RunBuffer(pThis->m_pBuffer);
Expand Down Expand Up @@ -4757,7 +4757,7 @@ void CGraphicsBackend_SDL_OpenGL::Maximize()

bool CGraphicsBackend_SDL_OpenGL::Fullscreen(bool State)
{
#if defined(CONF_PLATFORM_MACOSX) // Todo SDL: remove this when fixed (game freezes when losing focus in fullscreen)
#if defined(CONF_PLATFORM_MACOS) // Todo SDL: remove this when fixed (game freezes when losing focus in fullscreen)
return SDL_SetWindowFullscreen(m_pWindow, State ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0) == 0;
#else
return SDL_SetWindowFullscreen(m_pWindow, State ? SDL_WINDOW_FULLSCREEN : 0) == 0;
Expand Down Expand Up @@ -4836,7 +4836,7 @@ void CGraphicsBackend_SDL_OpenGL::NotifyWindow()
desc.dwTimeout = 0;

FlashWindowEx(&desc);
#elif defined(SDL_VIDEO_DRIVER_X11) && !defined(CONF_PLATFORM_MACOSX)
#elif defined(SDL_VIDEO_DRIVER_X11) && !defined(CONF_PLATFORM_MACOS)
Display *dpy = info.info.x11.display;
Window win = info.info.x11.window;

Expand Down
2 changes: 1 addition & 1 deletion src/engine/client/backend_sdl.h
Expand Up @@ -11,7 +11,7 @@

#include <atomic>

#if defined(CONF_PLATFORM_MACOSX)
#if defined(CONF_PLATFORM_MACOS)
#include <objc/objc-runtime.h>

class CAutoreleasePool
Expand Down