KD-lab-Open-Source / Perimeter

GNU General Public License v3.0
513 stars 58 forks source link

Ingame map compiler #139

Open DeltaDesignRus opened 1 month ago

DeltaDesignRus commented 1 month ago

Добавить возможность скомпилировать карту из текстур через консоль игры, а так же возможность распаковать текстуры из готовых карт. Размеры карт нужны 1024x1024, 2048x2048, 2048x4096, 4096x2048, 4096x4096, 4096x8192, 8192x4096, 8192x8192

leveledSurfaceTexture.tga сейчас присутствует во всех папках карт. Нужно сделать так, что бы эта текстура лежала в одном экземпляре в папке Resource\GeoTx, а из папок карт её удалить. Но сделать проверку, и если внутри папки карты обнаруживается leveledSurfaceTexture.tga, тогда загружаем именно его, это позволит делать кастомные текстуры зеро-слоя для каждой карты.

Внутриигровой редактор миссий должен научиться создавать и редактировать:

Добавить возможность менять цвет и яркость солнца.

DeltaDesignRus commented 1 month ago

Для создания новой карты я процесс вижу такой: Создаем в какой-то папке внутри игры папку с именем будущей карты, кладем туда текстуры и просим игру создать карту, она компилирует 4 файла (output.vmp, inDam.act, world.ini, название_карты.spg). Вручную добавляем в папку с картой up.tga, map.tga (превью для миникарты) и кастомную leveledSurfaceTexture.tga, если нужна.

Потом мы запускаем внутриигровой редактор и настраиваем созданную карту, после чего игра генерирует оставшиеся файлы карты (geoLattice.bin, Hardness.bin, geoPal.xml, geoTx.xml, inGeo.act) и остальные .spg.

Возможно стоит сразу сделать папку Maps (рядом с Mods, или внутри неё), что бы все новые карты мы устанавливали только туда, так проще ими делиться и файлы карт не будут смешиваться с файлами игры.