Skip to content

Commit

Permalink
Nanomap (#5)
Browse files Browse the repository at this point in the history
* Initial Modularity Support (#1)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

В чейнджлоге

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Первый шаг к светлому будущему

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
code: Добавлена поддержка модпаков
config: Добавлен файл конфига для модпаков
code: Обновлен CI под модпаки
code: Изменен метод обнаружения мердж конфликтов
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* Modpacks port (#5)

## About The Pull Request
Чейнджлог

## Changelog
:cl:
code: Добавлены модпаки дефайнов, хелперов и сигналов
add: Добавлен NT Default закон ИИ
add: Добавлены барные вывески и их поддержка
add: Добавлены шепот и LOOC
balance: Ползание теперь заставляет "ходить", а не "бежать"
fix: Поддержка кириллицы
add: Добавлена поддержка дискорда и необходимость привязки
balance: Трит при онлайне <10 теперь равен 0
balance: Настенный грибок только при >20 онлайна
add: Счетчик патронов
qol: Кейбинды по-умолчанию теперь Парадиза220
add: Пиксель-шифт
add: Перевод для усов и гостей
add: TTS220
add: Некоторые ворлд топики
/:cl:

* Config defaults (tgstation#14)

## About The Pull Request
Default gameplay values for bandastation

## Changelog
:cl:
config: Default gameplay values for bandastation
/:cl:

* Emote panel (tgstation#16)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Добавляет эмоут панель в IC
Перевод большей части эмоутов

fixes ss220club#11
fixes ss220club#12

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Иногда не хочется кейбиндить все эмоции

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
add: Панель эмоций
qol: Перевод большей части эмоций
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* Keybind Translation (tgstation#17)

## About The Pull Request
Добавляет перевод кейбиндов

fixes ss220club#10

## Why It's Good For The Game
Русскоязычный билд?

## Changelog
:cl:
qol: Перевод кейбиндов
/:cl:

* Examine Panel (tgstation#18)

## About The Pull Request

Порт упрощенной версии Examine Panel
## Why It's Good For The Game
Флаворы круто

## Changelog
:cl:
add: Examine Panel
/:cl:

* [FIX] TTS and config (tgstation#20)

## About The Pull Request
Фиксит ТТС и путь конфига

fixes ss220club#8

## Why It's Good For The Game
## Changelog
:cl:
fix: TTS
fix: config path
/:cl:

* Aesthetics PART 1 (tgstation#21)

## About The Pull Request
Первая часть из перевода эстетики под новооффпару

* Initial Modularity Support (#1)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

В чейнджлоге

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Первый шаг к светлому будущему

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
code: Добавлена поддержка модпаков
config: Добавлен файл конфига для модпаков
code: Обновлен CI под модпаки
code: Изменен метод обнаружения мердж конфликтов
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* Modpacks port (#5)

## About The Pull Request
Чейнджлог

## Changelog
:cl:
code: Добавлены модпаки дефайнов, хелперов и сигналов
add: Добавлен NT Default закон ИИ
add: Добавлены барные вывески и их поддержка
add: Добавлены шепот и LOOC
balance: Ползание теперь заставляет "ходить", а не "бежать"
fix: Поддержка кириллицы
add: Добавлена поддержка дискорда и необходимость привязки
balance: Трит при онлайне <10 теперь равен 0
balance: Настенный грибок только при >20 онлайна
add: Счетчик патронов
qol: Кейбинды по-умолчанию теперь Парадиза220
add: Пиксель-шифт
add: Перевод для усов и гостей
add: TTS220
add: Некоторые ворлд топики
/:cl:

* Config defaults (tgstation#14)

## About The Pull Request
Default gameplay values for bandastation

## Changelog
:cl:
config: Default gameplay values for bandastation
/:cl:

* Emote panel (tgstation#16)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Добавляет эмоут панель в IC
Перевод большей части эмоутов

fixes ss220club#11
fixes ss220club#12

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Иногда не хочется кейбиндить все эмоции

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
add: Панель эмоций
qol: Перевод большей части эмоций
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* Keybind Translation (tgstation#17)

## About The Pull Request
Добавляет перевод кейбиндов

fixes ss220club#10

## Why It's Good For The Game
Русскоязычный билд?

## Changelog
:cl:
qol: Перевод кейбиндов
/:cl:

* Examine Panel (tgstation#18)

## About The Pull Request

Порт упрощенной версии Examine Panel
## Why It's Good For The Game
Флаворы круто

## Changelog
:cl:
add: Examine Panel
/:cl:

* [FIX] TTS and config (tgstation#20)

## About The Pull Request
Фиксит ТТС и путь конфига

fixes ss220club#8

## Why It's Good For The Game
## Changelog
:cl:
fix: TTS
fix: config path
/:cl:

* Aesthetics PART 1 (tgstation#21)

## About The Pull Request
Первая часть из перевода эстетики под новооффпару

* fix things after rebase

* remove empty mod

* revert emote panel since upstream has it

* fix compiling

* Remove rp speed, ci fixes (tgstation#26)

* Feat: Aesthetics. Part 1 (tgstation#27)

## About The Pull Request
Полная переделка эстетики, часть первая.
Весь модуль был удалён и будет сделан по новой.
Заменены: 
- Стены
- Окна
- Двери
- Полы


![image](https://github.com/ss220club/bandastation/assets/69762909/820ae7bf-68da-4e5a-af6d-6daf9ec4de59)

![image](https://github.com/ss220club/bandastation/assets/69762909/0b1a49c6-1c5d-40bc-8549-5fb34cfa6626)

![image](https://github.com/ss220club/bandastation/assets/69762909/d773c94c-b3b3-47db-9a7e-5670b90475be)
## Why It's Good For The Game
ЭСТЕТИКА

* fix barsigns

* simple -> basic

* prettier?

* walls update

* fix walls (no looping)

* update voicepage more?

* fix walls MOREEEE

* rp speed is back

* fix examine panel (tgstation#30)

js -> tsx

* removes non-para antags (tgstation#31)

removes non-para antags from the config

* convert slime to basic

* TTS update (tgstation#40)

Component
Refactor from Sierra

fixes ss220club#37

---------

Co-authored-by: Furior <[email protected]>

* Translation pr1 (tgstation#41)

* Tranlate pr2 (tgstation#43)

* Translate pr 3 (tgstation#45)

* Translate pr 4 (tgstation#46)

* Translate pr 5 (tgstation#47)

* Translate pr 6 (tgstation#48)

Co-authored-by: ss220bot <[email protected]>

* fucckit (tgstation#52)

* fix and translate keybindings (tgstation#54)

## About The Pull Request
Исправляет нерабочие дубликаты и добавляет перевод к описанию кейбиндов

* stop pulling on C, toggle movement unbound (tgstation#55)

## About The Pull Request
Стоп пулл на С
Переключение движения убрано по умолчанию

* [NON-MODULAR] Allow cyrillic support for one proc (tgstation#56)

## About The Pull Request
Добавляет поддержку кириллицы для одного прока

![Screenshot 2024-04-12
211746](https://github.com/tgstation/tgstation/assets/31931237/6edbd4bd-64cf-47ba-b166-044367c2d229)

* populates dynamic with more antags, disables pirates (tgstation#69)

## About The Pull Request
Добавляет поля для антагонистов, которые не добавили на тигэ

Убирает пиратов из динамика

* Reduce rp speed (tgstation#71)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Убирает форс передвижения шагом, если вы на полу (дополнительно ~1.8
делей)

Уменьшает делей бега на 0.3 (~14% быстрее)
Уменьшает делей шага до ТГшной (~25% быстрее)

* cyrillic is not bad text (tgstation#74)

## About The Pull Request
cyrillic is not bad text

* Fix: translate branch update from master (tgstation#77)

* Ya protbal tab (tgstation#78)

* Feat: para issue templates (tgstation#79)

* Fix: git creds in action (tgstation#81)

* [ci skip] Fix: another missed arg in translate action (tgstation#83)

* Bandastation db (tgstation#94)

## About The Pull Request
Портирует сикей-ВЛ через БД с парадиза

:cl:
config: Добавлена строка в модульном конфиге, включающая вайтлист
server: Добавлен SQL файл, добавляющие нужные нам таблицы
/:cl:

* fix whitelist (tgstation#102)

yeap

* try to make it work

---------

Co-authored-by: Aylong <[email protected]>
Co-authored-by: Furior <[email protected]>
Co-authored-by: ss220bot <[email protected]>
  • Loading branch information
4 people authored Apr 18, 2024
1 parent 453ebfc commit 08707df
Show file tree
Hide file tree
Showing 267 changed files with 11,274 additions and 87 deletions.
29 changes: 0 additions & 29 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#DOCS
#https://docs.github.com/en/github-ae@latest/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
#
blank_issues_enabled: true
contact_links:
- name: Feature Request
url: https://discord.com/channels/1097181193939730453/1181261198096875670
about: Запросы новых фич следует оставлять на форуме ss13-трекер в дискорде.
- name: Exploit Reports
url: https://github.com/ss220club/Paradise-SS220/security
about: Критические баги, которые могут быть использованы со злыми намерениями, следует оставлять по ссылке.
7 changes: 0 additions & 7 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

89 changes: 89 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#For more details
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
# https://docs.gitea.com/1.19/usage/issue-pull-request-templates
#Be sure to check the docs
#
#Format
#- type: | markdown | textarea | input | checkboxes |
# id: | just an id, no actual relevance |
# attributes:
# label: | Box title |
# description: | Box small text - Description |
#
name: "Issue Report"
#title: "[Bug]: " | if you want to have a have it automatically say [Bug] when they start the form
description: "Доложите о проблемах или багах, что бы мы могли их исправить."
#labels: "Баг"

body:
- type: markdown
attributes:
value: Спасибо за оставленный отчёт! Не забудьте дать ему соответствующее проблеме название для упрощения работы другим.

- type: input
id: version
attributes:
label: BYOND Version
description: "На какой версии BYOND встретился баг. (Если уверены, что не связано, можно пропустить)"

- type: textarea
id: description
attributes:
label: Описание проблемы
description: В чем состоит суть проблемы? (Обязательное поле)
placeholder: Я сел на стул, от чего взорвался, а мой мозг оказался в душе на ЦК!
validations:
required: true

- type: textarea
id: what-expected
attributes:
label: Что должно было произойти?
description: Почему вы считаете это проблемой?
placeholder: Я ожидал, что я просто сяду на стул и буду сидеть.

- type: textarea
id: what-happened
attributes:
label: Что случилось вместо этого?
description: Как произошедшее отличается от ваших ожиданий?
placeholder: Я умер и оказался на ЦК.

- type: textarea
id: why-bad
attributes:
label: Почему это плохо/Какие последствия?
description: Почему вы считаете эту проблему значительной?
placeholder: Игроки должны иметь возможность сидеть на стульях, не взрываясь.

- type: textarea
id: how-to-reproduce
attributes:
label: Шаги для повторения проблемы.
description: Самая важная часть. Опишите ВСЁ, что вы делали, что бы встретиться с проблемой. (Обязательное поле)
placeholder: Нашел стул, сел, взорвался.
validations:
required: true

- type: textarea
id: when-problem-start
attributes:
label: Когда проблема началась?
description: Если отчет связан с тем, что раньше работало иначе, опишите последний раз, когда механика работала корректно. (Обязательное поле)
placeholder: Я мог садиться на стулья без проблем неделю назад, так что примерно тогда.
validations:
required: true

- type: textarea
id: extra-information
attributes:
label: Дополнительная информация
description: Всё, что вы считаете важным/относящимся к проблеме.
placeholder: Я думаю, что проблема начала появляться после этого PR https://github.com/ss220club/Paradise-SS220/pull/583

- type: textarea
id: logs
attributes:
label: Связанные логи
description: Пожалуйста, предоставьте связанные логи или рантаймы, если имеете к ним доступ. (Лучше цензурить IP-адреса)
render: DM
1 change: 1 addition & 0 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ jobs:
- name: Ticked File Enforcement
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: |
bash tools/bandastation_check_grep.sh # BANDASTATION EDIT ADDITION - checking modular_bandastation code
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/tgstation_dme.json
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/unit_tests.json
- name: Check Define Sanity
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/render_nanomaps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# GitHub action to autorender nanomaps outside the game
# This kills off the awful verb we have that takes a full 50 seconds and hangs the whole server
# The file names and locations are VERY important here
# DO NOT EDIT THIS UNLESS YOU KNOW WHAT YOU ARE DOING
# -aa
name: 'Render Nanomaps'
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

jobs:
generate_maps:
name: 'Generate NanoMaps'
runs-on: ubuntu-22.04
steps:
- id: create_token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.PRIVATE_KEY }}

- run: echo "GH_TOKEN=${{ steps.create_token.outputs.token }}" >> "$GITHUB_ENV"

- name: 'Update Branch'
uses: actions/checkout@v4
with:
token: ${{ steps.create_token.outputs.token }}

- name: Branch
run: |
git branch -f nanomap-render
git checkout nanomap-render
git reset --hard origin/master
- name: 'Generate Maps'
run: './tools/nanomap_renderer/nanomap-renderer-invoker.sh'

- name: 'Commit Maps and open PR'
run: |
git config --local user.email "[email protected]"
git config --local user.name "NanoMap Generation"
git pull origin master
git commit -m "NanoMap Auto-Update (`date`)" -a || true
git push -f -u origin nanomap-render
gh pr create -t "Automatic NanoMap Update" -b "This pull request updates the server NanoMaps. Please review the diff images before merging." -l "NanoMaps" -H "nanomap-render" -B "master"
37 changes: 37 additions & 0 deletions .github/workflows/translate_branch_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Update translation branch

on:
workflow_dispatch:
push:
branches: ['master']

concurrency:
group: translation
cancel-in-progress: false

jobs:
update_translation:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
name: 'Update old translation'

steps:
- name: 'Update Branch'
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 'Git config'
run: |
git config --local user.email "[email protected]"
git config --local user.name "SS220Manager"
- name: Merge with their incoming
run: |
git checkout origin/translate
git merge origin/master --strategy-option theirs
git push origin HEAD:translate
40 changes: 40 additions & 0 deletions SQL/bandastation/bandastation_update.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
--
-- Table structure for table `schema_revision_220`
--
DROP TABLE IF EXISTS `schema_revision_220`;
CREATE TABLE `schema_revision_220` (
`major` TINYINT(3) unsigned NOT NULL,
`minor` TINYINT(3) unsigned NOT NULL,
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`major`, `minor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Table structure for table `ckey_whitelist`
--
DROP TABLE IF EXISTS `ckey_whitelist`;
CREATE TABLE `ckey_whitelist` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`date` DATETIME DEFAULT now() NOT NULL,
`ckey` VARCHAR(32) NOT NULL,
`adminwho` VARCHAR(32) NOT NULL,
`port` INT(5) UNSIGNED NOT NULL,
`date_start` DATETIME DEFAULT now() NOT NULL,
`date_end` DATETIME NULL,
`is_valid` BOOLEAN DEFAULT true NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Table structure for table `admin_wl`
--
DROP TABLE IF EXISTS `admin_wl`;
CREATE TABLE `admin_wl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`admin_rank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Administrator',
`level` int(2) NOT NULL DEFAULT '0',
`flags` int(16) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `ckey` (`ckey`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
54 changes: 54 additions & 0 deletions SQL/bandastation/database_changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255.

Make sure to also update `DB_MAJOR_VERSION_220` and `DB_MINOR_VERSION_220`, which can be found in `code/modular_bandastation/_defines220/code/defines/subsystems.dm`.

The latest database version is 1.1; The query to update the schema revision table is:

```sql
INSERT INTO `schema_revision_220` (`major`, `minor`) VALUES (1, 1);
```
or

```sql
INSERT INTO `SS13_schema_revision_220` (`major`, `minor`) VALUES (1, 1);
```

-----------------------------------------------------
Version 1.1, 17 April 2024, by larentoun
Created the tables: schema_revision220, ckey_whitelist, admin_wl

```sql
CREATE TABLE `schema_revision220` (
`major` TINYINT(3) unsigned NOT NULL,
`minor` TINYINT(3) unsigned NOT NULL,
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`major`, `minor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
```

```sql
CREATE TABLE `ckey_whitelist` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`date` DATETIME DEFAULT now() NOT NULL,
`ckey` VARCHAR(32) NOT NULL,
`adminwho` VARCHAR(32) NOT NULL,
`port` INT(5) UNSIGNED NOT NULL,
`date_start` DATETIME DEFAULT now() NOT NULL,
`date_end` DATETIME NULL,
`is_valid` BOOLEAN DEFAULT true NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

```sql
CREATE TABLE `admin_wl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`admin_rank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Administrator',
`level` int(2) NOT NULL DEFAULT '0',
`flags` int(16) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `ckey` (`ckey`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
-----------------------------------------------------
8 changes: 4 additions & 4 deletions code/__HELPERS/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
if(ascii_only)
if(length(text) > max_length)
return null
var/static/regex/non_ascii = regex(@"[^\x20-\x7E\t\n]")
var/static/regex/non_ascii = regex(@"[^\x20-\x7E\t\n\u0400-\u04FF]") // BANDASTATION EDIT: Allow cyrillic symbols
if(non_ascii.Find(text))
return null
else if(length_char(text) > max_length)
Expand Down Expand Up @@ -178,12 +178,12 @@
switch(text2ascii(char))

// A .. Z
if(65 to 90) //Uppercase Letters
if(65 to 90, 1040 to 1071, 1025) //Uppercase Letters //SS220 EDIT CHANGE - Cyrillic Fixes
number_of_alphanumeric++
last_char_group = LETTERS_DETECTED

// a .. z
if(97 to 122) //Lowercase Letters
if(97 to 122, 1072 to 1103, 1105) //Lowercase Letters //SS220 EDIT CHANGE - Cyrillic Fixes
if(last_char_group == NO_CHARS_DETECTED || last_char_group == SPACES_DETECTED || cap_after_symbols && last_char_group == SYMBOLS_DETECTED) //start of a word
char = uppertext(char)
number_of_alphanumeric++
Expand Down Expand Up @@ -1177,7 +1177,7 @@ GLOBAL_LIST_INIT(binary, list("0","1"))

/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/sanitize_css_class_name(name)
var/static/regex/regex = new(@"[^a-zA-Z0-9]","g")
var/static/regex/regex = new(@"[^a-zA-Z0-9а-яА-ЯёЁ]","g") // BANDASTATION EDIT: Add Cyrillic support for this proc
return replacetext(name, regex, "")

/// Converts a semver string into a list of numbers
Expand Down
2 changes: 1 addition & 1 deletion code/_compile_options.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
#endif

#ifndef PRELOAD_RSC //set to:
#define PRELOAD_RSC 1 // 0 to allow using external resources or on-demand behaviour;
#define PRELOAD_RSC 0 // 0 to allow using external resources or on-demand behaviour; BANDASTATION EDIT - Original: 1
#endif // 1 to use the default behaviour;
// 2 for preloading absolutely everything;

Expand Down
4 changes: 3 additions & 1 deletion code/modules/unit_tests/barsigns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
var/obj/machinery/barsign_type = /obj/machinery/barsign
var/icon/barsign_icon = initial(barsign_type.icon)
var/list/barsign_icon_states = icon_states(barsign_icon)
var/icon/barsign_icon_ss220 = 'modular_bandastation/barsigns/icons/barsigns.dmi' // BANDASTATION EDIT Barsigns
var/list/barsign_icon_states_ss220 = icon_states(barsign_icon_ss220)

// Check every datum real bar sign
for(var/sign_type in (subtypesof(/datum/barsign) - /datum/barsign/hiddensigns))
var/datum/barsign/sign = new sign_type()

if(!(sign.icon_state in barsign_icon_states))
if(!(sign.icon_state in barsign_icon_states) && !(sign.icon_state in barsign_icon_states_ss220)) // BANDASTATION EDIT Barsigns
TEST_FAIL("Icon state for [sign_type] does not exist in [barsign_icon].")

/**
Expand Down
7 changes: 7 additions & 0 deletions config/bandastation/bandastation_config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Text-to-speech
#TTS_TOKEN_SILERO mytoken
#TTS_ENABLED
#TTS_CACHE_ENABLED
#TTS_API_URL_SILERO

#WHITELIST220
Loading

0 comments on commit 08707df

Please sign in to comment.