База из ремейка: ассеты, предметы, звуки и правки плана
Выгрузили из ремейка Rustex всё, на чём будем работать, и переписали план под реальные цифры. Ассеты: - tools/extract-rustex-assets.py распаковывает res/ и game.jar и декодирует однобайтовый XOR (ключ по сигнатуре: PNG ^0x89, OGG ^0x4F, JSON ^0x7B). Итог: assets/rustex, 1.65 ГБ, 19 тыс. файлов. В репозиторий не кладём. - Не прочитались 553 .obj, 106 .rrs, 113 .nbt: у них другой шифр, нужен разбор кода (REA). Таблицы (в репозитории): - items.csv: 218 предметов с уроном, дальностью, темпом, прочностью, добычей за удар, материалом, иконкой и моделью; - sounds.csv: 505 звуковых событий с файлами; - item-texts.json: 543 названия и описания предметов. План (PLAN.md): - Сбор теперь по балансу ремейка: камень берёт 50 дерева и 35 руды, топор 85 дерева, каменная кирка 80 руды. Дерево 750 топором рубится за 9 ударов, с меткой за 6-7 - ровно те 7-10 ударов, которых ждали. - Исследования - версия после 2020: два пути. Стол (15/30/60/120, нужен сам предмет, превращается в чертёж) и тех-дерево верстака (125/250/500, ветки с предками, разблокировка личная). Утверждение "тех-дерево бесплатно" было ошибкой community-вики. - Лозы больше нет: она из джунглей, а джунглей нет. Выкинута из HP-таблицы, цен, таймеров гниения и правил шкафа. - Новые разделы 1.10 (мусорка на дороге: серая бочка - скрап, синяя - компоненты, красная - нефть и топливо, плюс ящики с едой) и 1.11 (дороги: сетка 3-4 полос плюс кольцо, сегменты - точки спавна мусорки). - Первый источник скрапа - мусорка, лутбоксы отложены: вопрос о прогрессии крафта снят. - Узлы: руда - своя 3D-модель с AABB, деревья - пока блоки мира.
This commit is contained in:
@@ -216,10 +216,32 @@ starts, `play()` is called, nothing is found, and paulscode says nothing.
|
||||
`tools\materialize_assets.py` lays the tree out and `run-game.ps1` calls it on
|
||||
every launch, so this cannot be forgotten again.
|
||||
|
||||
### The base from the remake
|
||||
|
||||
The item models, textures, sounds and the whole item database are taken from
|
||||
the Rustex remake as a temporary base. `tools\extract-rustex-assets.py` unpacks
|
||||
them into `assets\rustex` (1.65 GB, not in the repository) and decodes the
|
||||
one-byte XOR the remake uses. What we derived from that and keep in the
|
||||
repository:
|
||||
|
||||
| File | What |
|
||||
|---|---|
|
||||
| `rsx-protocol\src\main\resources\items\items.csv` | 218 items: damage, range, tempo, durability, harvest per hit, material, icon, model |
|
||||
| `rsx-protocol\src\main\resources\items\sounds.csv` | 505 sound events with their files |
|
||||
| `rsx-protocol\src\main\resources\items\item-texts.json` | 543 item titles and descriptions |
|
||||
|
||||
These numbers are the balance we build on, and they are the ones the official
|
||||
wiki contradicts (the wiki describes original Rust, the remake is faster). The
|
||||
item icons come from the atlas of the remake and are placeholders: **replace
|
||||
them with our own.**
|
||||
|
||||
## Tools
|
||||
|
||||
| Script | Purpose |
|
||||
|---|---|
|
||||
| `tools\extract-rustex-assets.py` | unpacks the assets of the Rustex remake and decodes them: every file is XOR-ed with one byte, the key comes from the format signature (PNG `^0x89`, OGG `^0x4F`, JSON `^0x7B`) |
|
||||
| `tools\extract-items.py` | turns `models/stacks.json` of the remake into `rsx-protocol\...\items\items.csv`: 218 items with damage, range, tempo, durability, harvest per hit, material, icon, model |
|
||||
| `tools\extract-sounds.py` | the sound registry of the remake into `sounds.csv`: 505 events with their files |
|
||||
| `rsx-client\tools\merge_srg_mcp.py` | vanilla SRG plus MCP CSVs into one obf to MCP SRG |
|
||||
| `rsx-client\tools\apply_patches.py` | re-applies the hand fixes, fails loudly if one misses |
|
||||
| `rsx-client\tools\add_patch.py` | appends a reviewed patch to the fix file |
|
||||
|
||||
Reference in New Issue
Block a user