Skip to content

Commit

Permalink
Simplify module creation (#1019)
Browse files Browse the repository at this point in the history
## Что этот PR делает
Упрощение создания модуля. По сути то что делал фуриор на пару, но с
некоторыми улучшениями (Спасибо чатгпт xdd)
- Модуль автоматом инклюдится в корневой `.dme`, при этом все инклюды
модулей сортируются в алфавитном порядке
- В папке модуля создаётся папка icons
- В датуме модуля, фуриор заменяется на имя папки юзера

## Тестирование
Я заебался удалять тестовые папки

## Summary by Sourcery

New Features:
- Add a script to simplify the creation of new modules for the project.
  • Loading branch information
AyIong authored Jan 19, 2025
1 parent 6099e9d commit 47e4f35
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 11 deletions.
29 changes: 29 additions & 0 deletions modular_bandastation/create_modpack.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
@echo off
set /p moduleName="Enter module name: "
set "moduleName=%moduleName: =_%"

xcopy "example" "%moduleName%" /s /i

ren "%moduleName%\_example.dm" "_%moduleName%.dm"
ren "%moduleName%\_example.dme" "_%moduleName%.dme"
ren "%moduleName%\code\example.dm" "%moduleName%.dm"

mkdir "%moduleName%\icons"

Powershell -Command "(Get-Content '%moduleName%\_%moduleName%.dm') -replace 'Example modpack', '%moduleName%' | Set-Content '%moduleName%\_%moduleName%.dm'"
Powershell -Command "(Get-Content '%moduleName%\_%moduleName%.dm') -replace 'example', '%moduleName%' | Set-Content '%moduleName%\_%moduleName%.dm'"
Powershell -Command "(Get-Content '%moduleName%\_%moduleName%.dme') -replace 'Example modpack', '%moduleName%' | Set-Content '%moduleName%\_%moduleName%.dme'"
Powershell -Command "(Get-Content '%moduleName%\_%moduleName%.dme') -replace 'example', '%moduleName%' | Set-Content '%moduleName%\_%moduleName%.dme'"
Powershell -Command "(Get-Content '%moduleName%\_%moduleName%.dm') -replace 'furior', '%USERNAME%' | Set-Content '%moduleName%\_%moduleName%.dm'"

Powershell -Command ^
"$dmeFile = 'modular_bandastation.dme';" ^
"$newInclude = '#include \"%moduleName%/_%moduleName%.dme\"';" ^
"$lines = Get-Content $dmeFile;" ^
"$startIndex = $lines.IndexOf('// --- MODULES START --- //') + 1;" ^
"$endIndex = $lines.IndexOf('// --- MODULES END --- //');" ^
"if ($startIndex -eq -1 -or $endIndex -eq -1) { Write-Host 'Error: Comments not found'; exit 1 }" ^
"$before = $lines[0..($startIndex - 1)];" ^
"$moduleLines = $lines[$startIndex..($endIndex - 1)] + $newInclude | Sort-Object;" ^
"$after = $lines[($endIndex)..($lines.Length - 1)];" ^
"Set-Content $dmeFile -Value ($before + $moduleLines + $after)"
24 changes: 13 additions & 11 deletions modular_bandastation/modular_bandastation.dme
Original file line number Diff line number Diff line change
@@ -1,56 +1,58 @@
#include "_modpack.dm"
#include "_modpacks.dm"

// --- MODULES START --- //
#include "_defines220/_defines220.dme"
#include "_helpers220/_helpers220.dme"
#include "_rust_utils/_rust_utils.dme"
#include "_signals220/_signals220.dme"
#include "_singletons/_singletons.dme"
#include "title_screen/_title_screen.dme"
#include "admin/_admin.dme"
#include "aesthetics/_aesthetics.dme"
#include "aesthetics_sounds/_aesthetics_sounds.dme"
#include "automapper/_automapper.dme"
#include "ai_laws/_ai_laws.dme"
#include "announcers/_announcers.dme"
#include "autohiss/_autohiss.dme"
#include "automapper/_automapper.dme"
#include "automatic_crew_transfer/_automatic_crew_transfer.dme"
#include "balance/_balance.dme"
#include "barsigns/_barsigns.dme"
#include "changelog/_changelog.dme"
#include "chat_badges/_chat_badges.dme"
#include "communication/_communication.dme"
#include "cryosleep/_cryosleep.dme"
#include "customization/_customization.dme"
#include "cyrillic_fixes/_cyrillic_fixes.dme"
#include "database220/_database220.dme"
#include "discord/_discord.dme"
#include "emote_panel/_emote_panel.dme"
#include "examine_panel/_examine_panel.dme"
#include "gunhud/_gunhud.dme"
#include "hydroponics/_hydroponics.dme"
#include "jobs/_jobs.dme"
#include "jukebox/_jukebox.dme"
#include "keybinding/_keybinding.dme"
#include "loadout/_loadout.dme"
#include "mapping/_mapping.dme"
#include "medical/_medical.dme"
#include "mobs/_mobs.dme"
#include "nanomap/_nanomap.dme"
#include "objects/_objects.dme"
#include "orderables/_orderables.dme"
#include "outfits/_outfits.dme"
#include "overrides/_overrides.dme"
#include "pixel_shift/_pixel_shift.dme"
#include "preferences/_preferences.dme"
#include "ru_jobs/_ru_jobs.dme"
#include "security_levels/_security_levels.dme"
#include "species/_species.dme"
#include "title_screen/_title_screen.dme"
#include "translations/_translations.dme"
#include "tts/_tts.dme"
#include "turfs/_turfs.dme"
#include "whitelist220/_whitelist220.dme"
#include "world_topics/_world_topics.dme"
#include "preferences/_preferences.dme"
#include "jukebox/_jukebox.dme"
#include "cryosleep/_cryosleep.dme"
#include "objects/_objects.dme"
#include "orderables/_orderables.dme"
#include "automatic_crew_transfer/_automatic_crew_transfer.dme"
#include "outfits/_outfits.dme"
#include "overrides/_overrides.dme"
#include "hydroponics/_hydroponics.dme"
// --- MODULES END --- //


// --- PRIME --- //
Expand Down

0 comments on commit 47e4f35

Please sign in to comment.