0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-08-23 17:40:26 +03:00

Update readme

This commit is contained in:
bird_egop
2025-08-23 03:21:03 +03:00
parent b9e15541c5
commit 4ea756a1a4

View File

@@ -8,7 +8,7 @@
## Сборка проекта ## Сборка проекта
Проект написан на C# под `.NET 8` Проект написан на C# под `.NET 9`
Вам должно хватить `dotnet build` для сборки всех проектов отдельно. Вам должно хватить `dotnet build` для сборки всех проектов отдельно.
@@ -22,6 +22,7 @@
- Поддержка шрифтов TFNT. - Поддержка шрифтов TFNT.
- Поддержка файлов скриптов `.scr`. - Поддержка файлов скриптов `.scr`.
- Поддержка файлов параметров `.var`. - Поддержка файлов параметров `.var`.
- Поддержка файлов схем объектов `.dat`.
### Структура проекта ### Структура проекта
@@ -177,15 +178,25 @@ grep -rlU $'\x73\x5f\x74\x72\x65\x65\x5f\x30\x35' .
В зависимости от типа объекта внутри схемы (байты 4..8) выбирается функция, с помощью которой загружается схема. В зависимости от типа объекта внутри схемы (байты 4..8) выбирается функция, с помощью которой загружается схема.
Функция выбирается на основе файла `Comp.ini`. Функция выбирается на основе файла `Comp.ini`.
- Для ClassBuilding (0x80000000) - вызывается функция по индексу 3. - Для ClassBuilding (0x80000000) - вызывается функция c классом 3 (по таблице ниже Building).
- Для всех остальных - функция по индексу 4. - Для всех остальных - функция с классом 4 (по таблице ниже Agent).
Однако контент файла `Comp.ini` буквально выглядит так: На основе файла `Comp.ini` и первом вызове внутри функции `World3D.dll/CreateObject` ремаппинг id:
```
3 animesh.dll LoadAgent // comments... | Class ID | ClassName |
4 animesh.dll LoadAgent // |:----------:|:-------------:|
``` | 1 | Landscape |
А значит независимо от класса объекта вызывается `animesh.dll/LoadAgent`. | 2 | Agent |
| 3 | Building |
| 4 | Agent |
| 5 | Camera |
| 7 | Atmospehere |
| 9 | Agent |
| 10 | Agent |
| 11 | Research |
| 12 | Agent |
Будет дополняться по мере реверса/
## `.msh` ## `.msh`