Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nanomap #5

Merged
merged 64 commits into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
2ba0870
Initial Modularity Support (#1)
larentoun Jul 27, 2023
69c2823
Modpacks port (#5)
larentoun Jul 27, 2023
eec7573
Config defaults (#14)
larentoun Jul 28, 2023
afb979a
Emote panel (#16)
larentoun Jul 29, 2023
6e02584
Keybind Translation (#17)
larentoun Jul 29, 2023
7e19b8a
Examine Panel (#18)
larentoun Jul 29, 2023
75a8644
[FIX] TTS and config (#20)
larentoun Jul 29, 2023
6cf96a9
Aesthetics PART 1 (#21)
larentoun Jul 30, 2023
c0938cc
Initial Modularity Support (#1)
larentoun Jul 27, 2023
f8cc66d
Modpacks port (#5)
larentoun Jul 27, 2023
9f28c01
Config defaults (#14)
larentoun Jul 28, 2023
da302db
Emote panel (#16)
larentoun Jul 29, 2023
3fbdcf3
Keybind Translation (#17)
larentoun Jul 29, 2023
8f7ca2c
Examine Panel (#18)
larentoun Jul 29, 2023
7f6bb00
[FIX] TTS and config (#20)
larentoun Jul 29, 2023
a13d78f
Aesthetics PART 1 (#21)
larentoun Jul 30, 2023
dd54c01
fix things after rebase
larentoun Nov 3, 2023
448450a
remove empty mod
larentoun Nov 4, 2023
779c27a
Merge branch 'official-update' into attempt-two
larentoun Nov 4, 2023
532df8b
Rebase update (#24)
larentoun Nov 4, 2023
f17e927
revert emote panel since upstream has it
larentoun Nov 4, 2023
03f975e
fix compiling
larentoun Nov 4, 2023
39a23bc
revert emote panel since upstream has it (#25)
larentoun Nov 4, 2023
fa52bf3
Remove rp speed, ci fixes (#26)
larentoun Nov 4, 2023
e1cc2ed
Feat: Aesthetics. Part 1 (#27)
AyIong Nov 13, 2023
2b3d81c
Merge branch 'master' of https://github.com/tgstation/tgstation into …
larentoun Feb 8, 2024
d15a178
fix barsigns
larentoun Feb 8, 2024
8d7207e
Merge branch 'tgstation-master' into master-upstream-merge-2
larentoun Feb 8, 2024
7074635
simple -> basic
larentoun Feb 8, 2024
0b28af9
prettier?
larentoun Feb 8, 2024
c9bbe53
walls update
larentoun Feb 8, 2024
cccddbe
fix walls (no looping)
larentoun Feb 8, 2024
a014c6d
update voicepage more?
larentoun Feb 8, 2024
24b8b31
fix walls MOREEEE
larentoun Feb 8, 2024
9e99a35
Master upstream merge 2 (#28)
larentoun Feb 8, 2024
36a5542
rp speed is back
larentoun Feb 8, 2024
b745a54
rp speed is back (#29)
larentoun Feb 8, 2024
37e1a96
fix examine panel (#30)
larentoun Feb 8, 2024
5610fcb
removes non-para antags (#31)
larentoun Feb 8, 2024
b206dd2
Merge branch 'master-upstream' into master-upstream-merge
larentoun Apr 6, 2024
ea77aba
convert slime to basic
larentoun Apr 6, 2024
62da1c5
Upstream merge (#36)
larentoun Apr 6, 2024
35d0891
TTS update (#40)
larentoun Apr 10, 2024
ccab16a
Translation pr1 (#41)
Furrior Apr 11, 2024
aaa6228
Tranlate pr2 (#43)
Furrior Apr 11, 2024
6f26fcc
Translate pr 3 (#45)
Furrior Apr 11, 2024
5fd81a2
Translate pr 4 (#46)
Furrior Apr 11, 2024
a3b3d58
Translate pr 5 (#47)
Furrior Apr 11, 2024
ff8fcdc
Translate pr 6 (#48)
Furrior Apr 11, 2024
52d598b
fucckit (#52)
Furrior Apr 12, 2024
1f8afc2
fix and translate keybindings (#54)
larentoun Apr 12, 2024
1527fd3
stop pulling on C, toggle movement unbound (#55)
larentoun Apr 12, 2024
13d524e
[NON-MODULAR] Allow cyrillic support for one proc (#56)
larentoun Apr 13, 2024
5a3ef1b
populates dynamic with more antags, disables pirates (#69)
larentoun Apr 14, 2024
0badd5a
Reduce rp speed (#71)
larentoun Apr 14, 2024
344b117
cyrillic is not bad text (#74)
larentoun Apr 15, 2024
7dc8ec4
Fix: translate branch update from master (#77)
Furrior Apr 15, 2024
b1d441b
Ya protbal tab (#78)
Furrior Apr 15, 2024
40d0fd8
Feat: para issue templates (#79)
Furrior Apr 15, 2024
f31e2c3
Fix: git creds in action (#81)
Furrior Apr 15, 2024
45ab167
[ci skip] Fix: another missed arg in translate action (#83)
Furrior Apr 15, 2024
206692a
Bandastation db (#94)
larentoun Apr 17, 2024
22be466
fix whitelist (#102)
larentoun Apr 17, 2024
b1b2389
try to make it work
larentoun Apr 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading