OpenSR icon indicating copy to clipboard operation
OpenSR copied to clipboard

Куда складывать необходимые ресурсы?

Open Kakadu opened this issue 13 years ago • 8 comments

Он почему-то по-умолчанию лезет в /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

Kakadu avatar Jun 20 '12 15:06 Kakadu

Нужно распаковать ресурсы оригинальной игры. В проекте есть утилитка, написанная с помощью 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.

ObKo avatar Jun 21 '12 07:06 ObKo

С ресурсами попробую вечером, а пока немного повайню на метод компиляции)

по дефолту он у меня ругается на

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 avatar Jun 21 '12 07:06 Kakadu

так-с, пока подключение русурсов не осилил

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

Kakadu avatar Jun 21 '12 08:06 Kakadu

/home/kakadu/mand/prog/OpenSR2/data/DATA unknown entry type - он специально не ходит по симлинкам внутри директорий, чтоб не наступать на грабли вроде циклических симлинков. Если не хочется файлы переносить - можно просто добавить resources:addDir(L"<путь>") в начале файла data/startup.lua

ObKo avatar Jun 21 '12 08:06 ObKo

Поправил jsoncpp: https://github.com/ObKo/OpenSR/commit/d14f16dbaea0d87cc4a8ba62b39b57a9a313aac5 согласно http://bugs.debian.org/650702 в убунте и арче уже сделали так же.

ObKo avatar Jun 21 '12 08:06 ObKo

Ура, я увидел главное меню. Теперь осталось понять, что уже реализовано, а что --- нет.

Kakadu avatar Jun 21 '12 09:06 Kakadu

Собственно, ничего касаемо самой игры не реализовано. Есть графический движок, который умеет использовать оригинальные ресурсы, lua-скрипты и рисует GUI. Например, те два жалких меню это data/ORC/settings.lua и data/ORC/startmenu.lua Сейчас я как раз занимаюсь ОО-моделью для игрового мира.

ObKo avatar Jun 21 '12 10:06 ObKo

А вы тестировали рисование "космических" сцен?

Просто я тоже подумываю позапиливать рейнджеров...

Kakadu avatar Jun 21 '12 10:06 Kakadu