2015-01-17 3 views
1

Мой проект, который представляет собой игру, состоит из нескольких исходных файлов и нескольких ресурсов, таких как изображения, карты, модели и т. Д. Некоторые из них должны обрабатываться программой, например, I хотел бы преобразовать все изображения с png в dds. Поскольку моя сборка не является исходной сборкой, я хотел бы, чтобы все мои ресурсы были встроены в папку сборки, поэтому для доставки мне нужно только упаковать папку сборки.Обработка файлов с исходными кодами в начале

как это сделать?

ответ

2

Если вы используете 4.x версию Premake, я боюсь, что нет простого решения. Вы можете вставлять данные (скопировать их в выходной каталог)

configuration "**.png" 
    buildaction "Copy" 

Если вы хотите, чтобы построить их, что бы я сделал это, чтобы скопировать их, а затем использовать команду «после сборки», чтобы заботиться о преобразовании файлы и очистка. Например:

configuration "" 
    postbuildcommands { "premake --file=build_resources.lua build" } 

Конечно, то, что вы положили в build_resources.lua до вас, и вы даже можете использовать один и тот же сценарий, как тот, который вы используете для создания проекта. Вам просто нужно определить действие build и что он делает (в основном проанализируйте выходную папку и скомпилируйте каждый png в dds », затем очистите png. Возможно, вам также придется добавить параметры, чтобы указать вашу платформу/конфигурацию для сборки . сценарий

Теперь, если вы используете последние версии premake (здесь: http://sourceforge.net/projects/premake/files/Premake/nightlies/) вы можете добиться этого намного более легко:

-- filter is the equivalent of 'configuration' in Premake 5. 
-- configuration is still supported for backward compatibility, but it 
-- will be removed eventually, so better start using 'filter' :) 
filter "files:**.png" 

    -- this is simply a message shown in the Visual Studio output 
    buildmessage "converting %{file.relpath} to dds ..." 

    -- this is the actual custom compilation command 
    buildcommands { 
     "ddsconverter --input=%{file.abspath} --output=%{cfg.linktarget.directory}" 
    } 

Для получения дополнительной информации, смотрите здесь: https://bitbucket.org/premake/premake-dev/wiki/buildcommands

А для информаций о токенах (в %{xxx} вещей, что позволяет использовать пути известных premake без записи их): https://bitbucket.org/premake/premake-dev/wiki/Tokens

+0

«Вставить» будет вставлять файл в двоичном, я думаю, что вы хотите «Копировать» вместо этого. – starkos

+0

ах да извините, отредактировал :) – Citron

 Смежные вопросы

  • Нет связанных вопросов^_^