Куда складывать необходимые ресурсы?
Он почему-то по-умолчанию лезет в /usr/share/OpenSR. Я ему сделал симлинк на директорию data из сорцов, но там ещё куча файлов нужна... Например,
[EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/ScrollBar/2V2_TopA.gi [EE] No such file: DATA/ScrollBar/2V2_CenterA.gi [EE] No such file: DATA/ScrollBar/2V2_BottomA.gi [EE] No such file: DATA/ScrollBar/2V2_TopN.gi [EE] No such file: DATA/ScrollBar/2V2_CenterN.gi [EE] No such file: DATA/ScrollBar/2V2_BottomN.gi [EE] No such file: DATA/ScrollBar/2V2_TopD.gi [EE] No such file: DATA/ScrollBar/2V2_CenterD.gi [EE] No such file: DATA/ScrollBar/2V2_BottomD.gi [EE] No such file: DATA/ScrollBar/2V2_DownA.gi [EE] No such file: DATA/ScrollBar/2V2_DownN.gi [EE] No such file: DATA/ScrollBar/2V2_DownD.gi [EE] No such file: DATA/ScrollBar/2V2_UpA.gi [EE] No such file: DATA/ScrollBar/2V2_UpN.gi [EE] No such file: DATA/ScrollBar/2V2_UpD.gi [EE] No such file: DATA/FormMain3/2bg.gi [EE] No such file: DATA/FormMain3/2Planet.gi [EE] No such file: DATA/FormMain2/2AnimLine.gai [EE] No such file: DATA/FormMain2/2AnimMain.gai [EE] No such file: DATA/FormMain3/2caption.gi [EE] No such file: DATA/FormMain3/2Ship1.gai [EE] No such file: DATA/FormMain2/2ButNewN.gi [EE] No such file: DATA/FormMain2/2ButNewA.gi [EE] No such file: DATA/FormMain2/2ButNewD.gi [EE] No such file: DATA/FormMain2/2ButLoadN.gi [EE] No such file: DATA/FormMain2/2ButLoadA.gi [EE] No such file: DATA/FormMain2/2ButLoadD.gi [EE] No such file: DATA/FormMain2/2ButSettingsN.gi [EE] No such file: DATA/FormMain2/2ButSettingsA.gi [EE] No such file: DATA/FormMain2/2ButSettingsD.gi [EE] No such file: DATA/FormMain2/2ButRecordsN.gi [EE] No such file: DATA/FormMain2/2ButRecordsA.gi [EE] No such file: DATA/FormMain2/2ButRecordsD.gi [EE] No such file: DATA/FormMain2/2ButAboutN.gi [EE] No such file: DATA/FormMain2/2ButAboutA.gi [EE] No such file: DATA/FormMain2/2ButAboutD.gi [EE] No such file: DATA/FormMain2/2ButExitN.gi [EE] No such file: DATA/FormMain2/2ButExitA.gi [EE] No such file: DATA/FormMain2/2ButExitD.gi [EE] No such file: Sound/ButtonClick.wav [EE] No such file: Sound/ButtonEnter.wav [EE] No such file: Sound/ButtonLeave.WAV
Нужно распаковать ресурсы оригинальной игры. В проекте есть утилитка, написанная с помощью Qt: tools/resourceviewer. Собирается, если cmake указать -DBUILD_RESOURCEVIEWER=true. С помощью неё можно просматривать ресурсы из игры и распаковывать архивы. Архивы (файлы .pkg) лежат в директории data установленной оригинальной игры. Далее, пока по дефолту ресурсы берутся из /usr/share/OpenSR, но в конфиге можно указать, откуда брать. Конфиг: $XDG_CONFIG_HOME/OpenSR/OpenSR.conf или ~/.OpenSR/OpenSR.conf или в директории с исполняемым файлом (на винде). В нем надо указать:
[data]
mainDataDir=<путь>
[graphics]
defaultSkin=skin.json
Последняя строчка, ЕМНИП, не обязательна. Имена файлов относительны mainDataDir.
С ресурсами попробую вечером, а пока немного повайню на метод компиляции)
по дефолту он у меня ругается на
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
JSONCPP_INCLUDE_DIR (ADVANCED)
Я ему и прописал SET(JSONCPP_INCLUDE_DIR /usr/include). И тут проблема которая на уровне CMake не решается. JSONHelper.h:22:26: fatal error: jsoncpp/json.h: No such file or directory что логично, ибо правильный путь в Debian/unstable /usr/include/jsoncpp/json/json.h
так-с, пока подключение русурсов не осилил
kakadu@kakaduVAIO:/media/disk/kakadu/prog/OpenSR2/src$ ./opensr [II] /home/kakadu/mand/prog/OpenSR2/data [--] Using data dir: /home/kakadu/mand/prog/OpenSR2/data [--] /home/kakadu/mand/prog/OpenSR2/data/Sound unknown entry type [--] /home/kakadu/mand/prog/OpenSR2/data/FormMain2 unknown entry type [--] /home/kakadu/mand/prog/OpenSR2/data/DATA unknown entry type [II] Loaded 16 files from directory /home/kakadu/mand/prog/OpenSR2/data [EE] Cannot open directory /usr/share/OpenSR/: No such file or directory [EE] Cannot open directory /usr/share/OpenSR/: No such file or directory [EE] Cannot open directory /usr/local/share/OpenSR/: No such file or directory [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/ScrollBar/2V2_TopA.gi [EE] No such file: DATA/ScrollBar/2V2_CenterA.gi [EE] No such file: DATA/ScrollBar/2V2_BottomA.gi [EE] No such file: DATA/ScrollBar/2V2_TopN.gi [EE] No such file: DATA/ScrollBar/2V2_CenterN.gi [EE] No such file: DATA/ScrollBar/2V2_BottomN.gi [EE] No such file: DATA/ScrollBar/2V2_TopD.gi [EE] No such file: DATA/ScrollBar/2V2_CenterD.gi [EE] No such file: DATA/ScrollBar/2V2_BottomD.gi [EE] No such file: DATA/ScrollBar/2V2_DownA.gi [EE] No such file: DATA/ScrollBar/2V2_DownN.gi [EE] No such file: DATA/ScrollBar/2V2_DownD.gi [EE] No such file: DATA/ScrollBar/2V2_UpA.gi [EE] No such file: DATA/ScrollBar/2V2_UpN.gi [EE] No such file: DATA/ScrollBar/2V2_UpD.gi [--] "NewGameButtonNormal.gi" = "DATA/FormMain2/2ButNewN.gi" [--] "NewGameButtonHovered.gi" = "DATA/FormMain2/2ButNewA.gi" [--] "NewGameButtonPressed.gi" = "DATA/FormMain2/2ButNewD.gi" [--] "LoadButtonNormal.gi" = "DATA/FormMain2/2ButLoadN.gi" [--] "LoadButtonHovered.gi" = "DATA/FormMain2/2ButLoadA.gi" [--] "LoadButtonPressed.gi" = "DATA/FormMain2/2ButLoadD.gi" [--] "SettingsButtonNormal.gi" = "DATA/FormMain2/2ButSettingsN.gi" [--] "SettingsButtonHovered.gi" = "DATA/FormMain2/2ButSettingsA.gi" [--] "SettingsButtonPressed.gi" = "DATA/FormMain2/2ButSettingsD.gi" [--] "RecordsButtonNormal.gi" = "DATA/FormMain2/2ButRecordsN.gi" [--] "RecordsButtonHovered.gi" = "DATA/FormMain2/2ButRecordsA.gi" [--] "RecordsButtonPressed.gi" = "DATA/FormMain2/2ButRecordsD.gi" [--] "AboutButtonNormal.gi" = "DATA/FormMain2/2ButAboutN.gi" [--] "AboutButtonHovered.gi" = "DATA/FormMain2/2ButAboutA.gi" [--] "AboutButtonPressed.gi" = "DATA/FormMain2/2ButAboutD.gi" [--] "ExitButtonNormal.gi" = "DATA/FormMain2/2ButExitN.gi" [--] "ExitButtonHovered.gi" = "DATA/FormMain2/2ButExitA.gi" [--] "ExitButtonPressed.gi" = "DATA/FormMain2/2ButExitD.gi" [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButA.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButN.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/FormPlanet2/2QuestButD.gi [EE] No such file: DATA/ScrollBar/2V2_TopA.gi [EE] No such file: DATA/ScrollBar/2V2_CenterA.gi [EE] No such file: DATA/ScrollBar/2V2_BottomA.gi [EE] No such file: DATA/ScrollBar/2V2_TopN.gi [EE] No such file: DATA/ScrollBar/2V2_CenterN.gi [EE] No such file: DATA/ScrollBar/2V2_BottomN.gi [EE] No such file: DATA/ScrollBar/2V2_TopD.gi [EE] No such file: DATA/ScrollBar/2V2_CenterD.gi [EE] No such file: DATA/ScrollBar/2V2_BottomD.gi [EE] No such file: DATA/ScrollBar/2V2_DownA.gi [EE] No such file: DATA/ScrollBar/2V2_DownN.gi [EE] No such file: DATA/ScrollBar/2V2_DownD.gi [EE] No such file: DATA/ScrollBar/2V2_UpA.gi [EE] No such file: DATA/ScrollBar/2V2_UpN.gi [EE] No such file: DATA/ScrollBar/2V2_UpD.gi [EE] No such file: DATA/FormMain3/2bg.gi [EE] No such file: DATA/FormMain3/2Planet.gi [EE] No such file: DATA/FormMain2/2AnimLine.gai [EE] No such file: DATA/FormMain2/2AnimMain.gai [EE] No such file: DATA/FormMain3/2caption.gi [EE] No such file: DATA/FormMain3/2Ship1.gai [EE] No such file: DATA/FormMain2/2ButNewN.gi [EE] No such file: DATA/FormMain2/2ButNewA.gi [EE] No such file: DATA/FormMain2/2ButNewD.gi [EE] No such file: DATA/FormMain2/2ButLoadN.gi [EE] No such file: DATA/FormMain2/2ButLoadA.gi [EE] No such file: DATA/FormMain2/2ButLoadD.gi [EE] No such file: DATA/FormMain2/2ButSettingsN.gi [EE] No such file: DATA/FormMain2/2ButSettingsA.gi [EE] No such file: DATA/FormMain2/2ButSettingsD.gi [EE] No such file: DATA/FormMain2/2ButRecordsN.gi [EE] No such file: DATA/FormMain2/2ButRecordsA.gi [EE] No such file: DATA/FormMain2/2ButRecordsD.gi [EE] No such file: DATA/FormMain2/2ButAboutN.gi [EE] No such file: DATA/FormMain2/2ButAboutA.gi [EE] No such file: DATA/FormMain2/2ButAboutD.gi [EE] No such file: DATA/FormMain2/2ButExitN.gi [EE] No such file: DATA/FormMain2/2ButExitA.gi [EE] No such file: DATA/FormMain2/2ButExitD.gi [EE] No such file: Sound/ButtonClick.wav [EE] No such file: Sound/ButtonEnter.wav [EE] No such file: Sound/ButtonLeave.WAV kakadu@kakaduVAIO:/media/disk/kakadu/prog/OpenSR2/src$ ls /home/kakadu/mand/prog/OpenSR2/data/DATA/FormMain2/2ButExitD.gi /home/kakadu/mand/prog/OpenSR2/data/DATA/FormMain2/2ButExitD.gi kakadu@kakaduVAIO:/media/disk/kakadu/prog/OpenSR2/src$ ls DATA/FormMain2/2ButExitD.gi^C kakadu@kakaduVAIO:/media/disk/kakadu/prog/OpenSR2/src$ ls /home/kakadu/mand/prog/OpenSR2/data/Sound/ButtonEnter.wav /home/kakadu/mand/prog/OpenSR2/data/Sound/ButtonEnter.wav
/home/kakadu/mand/prog/OpenSR2/data/DATA unknown entry type - он специально не ходит по симлинкам внутри директорий, чтоб не наступать на грабли вроде циклических симлинков. Если не хочется файлы переносить - можно просто добавить resources:addDir(L"<путь>") в начале файла data/startup.lua
Поправил jsoncpp: https://github.com/ObKo/OpenSR/commit/d14f16dbaea0d87cc4a8ba62b39b57a9a313aac5 согласно http://bugs.debian.org/650702 в убунте и арче уже сделали так же.
Ура, я увидел главное меню. Теперь осталось понять, что уже реализовано, а что --- нет.
Собственно, ничего касаемо самой игры не реализовано. Есть графический движок, который умеет использовать оригинальные ресурсы, lua-скрипты и рисует GUI. Например, те два жалких меню это data/ORC/settings.lua и data/ORC/startmenu.lua Сейчас я как раз занимаюсь ОО-моделью для игрового мира.
А вы тестировали рисование "космических" сцен?
Просто я тоже подумываю позапиливать рейнджеров...