Open coreybruce opened 10 months ago
Where it says "Look in the /bin folder for the compiled binaries, and the /data folder for additional data files." where is this referring to exactly because there is no bin folder in nxengine-evo
If you followed the directions exactly, you should have a nxengine-evo/build/
directory. The bin and data directories should be in there.
Also, it looks like the game is looking for the data files in /usr/local/share/nxengine. Is that what you want? If so, you need to run make install
. The instructions don't mention it, but you can also use -DPORTABLE=ON
to configure the game to look for data files relative to the binary.
git clone https://github.com/nxengine/nxengine-evo
cd nxengine-evo
mkdir build
cd build
- cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake -DCMAKE_BUILD_TYPE=Release -DPORTABLE=ON ..
make
Other resources if you're still stuck:
strace -e trace=openat ./nxengine-evo
Where it says "Look in the /bin folder for the compiled binaries, and the /data folder for additional data files." where is this referring to exactly because there is no bin folder in nxengine-evo
If you followed the directions exactly, you should have a
nxengine-evo/build/
directory. The bin and data directories should be in there.Also, it looks like the game is looking for the data files in /usr/local/share/nxengine. Is that what you want? If so, you need to run
make install
. The instructions don't mention it, but you can also use-DPORTABLE=ON
to configure the game to look for data files relative to the binary.git clone https://github.com/nxengine/nxengine-evo cd nxengine-evo mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release .. + cmake -DCMAKE_BUILD_TYPE=Release -DPORTABLE=ON .. make
Yes there is where I want it for example and yeah I think you should add that in the documentation also as I do know about that cmake option from another issue which I have replied on :)
Do you know why I have missing files at all?
I think you should add that in the documentation
Done: https://github.com/nxengine/nxengine-evo/wiki/Building-on-Linux
Where it says "Look in the /bin folder for the compiled binaries, and the /data folder for additional data files." where is this referring to exactly because there is no bin folder in nxengine-evo
Oops, you're right, there is no bin
directory. Here's what my workspace looks like after building nxengine-evo, unpacking cavestoryen.zip to the right place, and running nxextract:
I'm not sure I understand the state your build is in, but it sounds like
build/nxengine-evo
that's configured to look for data files in /usr/local/share/nxengine
.sudo make install
?build/nxengine-evo
, and it failed during startup with the logs you posted above.The part I'm not clear about is data files. Start by rechecking those steps. Did you copy data/
from cavestoryen.zip to data/
? Did you copy Doukutsu.exe
to the nxengine-evo root and run build/nxextract
?
I think you should add that in the documentation
Done: https://github.com/nxengine/nxengine-evo/wiki/Building-on-Linux
Where it says "Look in the /bin folder for the compiled binaries, and the /data folder for additional data files." where is this referring to exactly because there is no bin folder in nxengine-evo
Oops, you're right, there is no
bin
directory. Here's what my workspace looks like after building nxengine-evo, unpacking cavestoryen.zip to the right place, and running nxextract:nxengine-evo root
nxengine-evo ├── CMakeLists.txt ├── Doukutsu.exe ├── LICENSE ├── README.md ├── data │ ├── Arms.pbm │ ├── ArmsImage.pbm │ ├── ArmsItem.tsc │ ├── Bullet.pbm │ ├── Caret.pbm │ ├── Credit.tsc │ ├── Face.pbm │ ├── Face_0.pbm │ ├── Face_1.pbm │ ├── Face_2.pbm │ ├── Fade.pbm │ ├── Head.tsc │ ├── ItemImage.pbm │ ├── Loading.pbm │ ├── MyChar.pbm │ ├── Npc │ ├── Stage │ ├── StageImage.pbm │ ├── StageMeta │ ├── StageSelect.tsc │ ├── TextBox.pbm │ ├── Title.pbm │ ├── bk0.pbm │ ├── bkBlack.pbm │ ├── bkBlue.pbm │ ├── bkFall.pbm │ ├── bkFog.pbm │ ├── bkFog480fix.pbm │ ├── bkGard.pbm │ ├── bkGray.pbm │ ├── bkGreen.pbm │ ├── bkHellish.pbm │ ├── bkHellish480fix.pbm │ ├── bkLight.pbm │ ├── bkLight480fix.pbm │ ├── bkMaze.pbm │ ├── bkMoon.pbm │ ├── bkMoon480fix.pbm │ ├── bkRed.pbm │ ├── bkSunset.pbm │ ├── bkSunset480fix.pbm │ ├── bkWater.pbm │ ├── casts.pbm │ ├── endpic │ ├── font_1.fnt │ ├── font_1_0.png │ ├── font_2.fnt │ ├── font_2_0.png │ ├── font_3.fnt │ ├── font_3_0.png │ ├── font_3_1.png │ ├── font_4.fnt │ ├── font_4_0.png │ ├── font_5.fnt │ ├── font_5_0.png │ ├── music.json │ ├── music_dirs.json │ ├── npc.tbl │ ├── org │ ├── pxt │ ├── spot.png │ ├── sprites.sif │ ├── stage.dat │ ├── system.json │ ├── tilekey.dat │ └── wavetable.dat ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ ├── Makefile │ ├── cmake_install.cmake │ ├── install_manifest.txt │ ├── nxengine-evo │ └── nxextract ├── ... └── screenshot.png
I'm not sure I understand the state your build is in, but it sounds like
- You have a binary
build/nxengine-evo
that's configured to look for data files in/usr/local/share/nxengine
.- I think you ran
sudo make install
?- You tried running
build/nxengine-evo
, and it failed during startup with the logs you posted above.The part I'm not clear about is data files. Start by rechecking those steps. Did you copy
data/
from cavestoryen.zip todata/
? Did you copyDoukutsu.exe
to the nxengine-evo root and runbuild/nxextract
?
Here is my layout
AppImageBuilder.yml data platform
appveyor.yml deps README.md
build Doukutsu.exe screenshot.png
build-scripts LICENSE src
cmake nx.sln
CMakeLists.txt org.nxengine.nxengine_evo.json
inside build
CMakeCache.txt cmake_install.cmake nxengine-evo
CMakeFiles Makefile nxextract
After extracting the files from Doukutsu.exe I first try portable mode but ran into the same issue of it being unable to find the files and I used the [Aeon Genesis (pre-patched) version, I than did the non portable compiling mode and as a test I manually put the files in /usr/local/share/nxengine to see if it would work but sadly no dice. I copied the files in data into the nxengine-evo data folder but that created more errors
ls
Config.dat DoConfig.exe Manual nxengine-evo OrgView.exe
data Doukutsu.exe Manual.html nxextract Readme.txt
~/CaveStory ./nxengine-evo ✔
[10:55:39.115] [info] [settings.cpp:28 tryload]: Loading settings...
[10:55:39.115] [error] [settings.cpp:33 tryload]: Couldn't open file /home/corey/.local/share/nxengine/settings.dat.
[10:55:39.115] [info] [settings.cpp:77 settings_load]: No saved settings; using defaults.
[10:55:39.195] [info] [Renderer.cpp:134 initVideo]: Renderer::initVideo: using: opengl renderer
[10:55:39.195] [error] [Font.cpp:81 load]: Error opening font file /home/corey/CaveStory/data/font_1.fnt
[10:55:39.195] [critical] [main.cpp:58 fatal]: fatal: 'Failed to initialize graphics.'
I tried again with portable mode and extracted but it's looking for font_1.fnt which doesn't even exist.
If I copy the files from inside the data folder into the nxengine evo and run it from /build it will think that the data folder and when I put the data folder from cavestory I run into the same issue.
./build/nxengine-evo ✔
[11:00:11.226] [info] [settings.cpp:28 tryload]: Loading settings...
[11:00:11.226] [error] [settings.cpp:33 tryload]: Couldn't open file /home/corey/.local/share/nxengine/settings.dat.
[11:00:11.226] [info] [settings.cpp:77 settings_load]: No saved settings; using defaults.
[11:00:11.306] [info] [Renderer.cpp:134 initVideo]: Renderer::initVideo: using: opengl renderer
[11:00:11.306] [error] [Font.cpp:81 load]: Error opening font file /home/corey/nxengine-evo/build/data/font_1.fnt
[11:00:11.306] [critical] [main.cpp:58 fatal]: fatal: 'Failed to initialize graphics.'
Here is the log when I extract it
./build/nxextract 1 ✘
[ data/pxt/fx01.pxt ]
[ data/pxt/fx02.pxt ]
[ data/pxt/fx03.pxt ]
[ data/pxt/fx04.pxt ]
[ data/pxt/fx05.pxt ]
[ data/pxt/fx06.pxt ]
[ data/pxt/fx07.pxt ]
[ data/pxt/fx0b.pxt ]
[ data/pxt/fx0c.pxt ]
[ data/pxt/fx0e.pxt ]
[ data/pxt/fx0f.pxt ]
[ data/pxt/fx10.pxt ]
[ data/pxt/fx11.pxt ]
[ data/pxt/fx12.pxt ]
[ data/pxt/fx14.pxt ]
[ data/pxt/fx15.pxt ]
[ data/pxt/fx16.pxt ]
[ data/pxt/fx17.pxt ]
[ data/pxt/fx18.pxt ]
[ data/pxt/fx19.pxt ]
[ data/pxt/fx1a.pxt ]
[ data/pxt/fx1b.pxt ]
[ data/pxt/fx1c.pxt ]
[ data/pxt/fx1d.pxt ]
[ data/pxt/fx1e.pxt ]
[ data/pxt/fx1f.pxt ]
[ data/pxt/fx20.pxt ]
[ data/pxt/fx21.pxt ]
[ data/pxt/fx22.pxt ]
[ data/pxt/fx23.pxt ]
[ data/pxt/fx25.pxt ]
[ data/pxt/fx26.pxt ]
[ data/pxt/fx27.pxt ]
[ data/pxt/fx28.pxt ]
[ data/pxt/fx29.pxt ]
[ data/pxt/fx2a.pxt ]
[ data/pxt/fx2b.pxt ]
[ data/pxt/fx2c.pxt ]
[ data/pxt/fx2d.pxt ]
[ data/pxt/fx2e.pxt ]
[ data/pxt/fx2f.pxt ]
[ data/pxt/fx30.pxt ]
[ data/pxt/fx31.pxt ]
[ data/pxt/fx32.pxt ]
[ data/pxt/fx33.pxt ]
[ data/pxt/fx34.pxt ]
[ data/pxt/fx35.pxt ]
[ data/pxt/fx36.pxt ]
[ data/pxt/fx37.pxt ]
[ data/pxt/fx38.pxt ]
[ data/pxt/fx39.pxt ]
[ data/pxt/fx3a.pxt ]
[ data/pxt/fx3b.pxt ]
[ data/pxt/fx3c.pxt ]
[ data/pxt/fx3d.pxt ]
[ data/pxt/fx3e.pxt ]
[ data/pxt/fx3f.pxt ]
[ data/pxt/fx40.pxt ]
[ data/pxt/fx41.pxt ]
[ data/pxt/fx46.pxt ]
[ data/pxt/fx47.pxt ]
[ data/pxt/fx48.pxt ]
[ data/pxt/fx64.pxt ]
[ data/pxt/fx65.pxt ]
[ data/pxt/fx66.pxt ]
[ data/pxt/fx67.pxt ]
[ data/pxt/fx68.pxt ]
[ data/pxt/fx68.pxt ]
[ data/pxt/fx69.pxt ]
[ data/pxt/fx6a.pxt ]
[ data/pxt/fx6b.pxt ]
[ data/pxt/fx6c.pxt ]
[ data/pxt/fx6d.pxt ]
[ data/pxt/fx6e.pxt ]
[ data/pxt/fx6f.pxt ]
[ data/pxt/fx70.pxt ]
[ data/pxt/fx71.pxt ]
[ data/pxt/fx72.pxt ]
[ data/pxt/fx73.pxt ]
[ data/pxt/fx74.pxt ]
[ data/pxt/fx75.pxt ]
[ data/pxt/fx96.pxt ]
[ data/pxt/fx97.pxt ]
[ data/pxt/fx98.pxt ]
[ data/pxt/fx99.pxt ]
[ data/pxt/fx9a.pxt ]
[ data/pxt/fx9b.pxt ]
[ data/endpic/credit01.bmp ]
[ data/endpic/credit02.bmp ]
[ data/endpic/credit03.bmp ]
[ data/endpic/credit04.bmp ]
[ data/endpic/credit05.bmp ]
[ data/endpic/credit06.bmp ]
[ data/endpic/credit07.bmp ]
[ data/endpic/credit08.bmp ]
[ data/endpic/credit09.bmp ]
[ data/endpic/credit10.bmp ]
[ data/endpic/credit11.bmp ]
[ data/endpic/credit12.bmp ]
[ data/endpic/credit14.bmp ]
[ data/endpic/credit15.bmp ]
[ data/endpic/credit16.bmp ]
[ data/endpic/credit17.bmp ]
[ data/endpic/credit18.bmp ]
[ data/endpic/pixel.bmp ]
[ data/wavetable.dat ]
[ data/org/access.org ]
[ data/org/balcony.org ]
[ data/org/ginsuke.org ]
[ data/org/bdown.org ]
[ data/org/cemetery.org ]
[ data/org/lastbtl.org ]
[ data/org/ending.org ]
[ data/org/wanpaku.org ]
[ data/org/fireeye.org ]
[ data/org/fanfale1.org ]
[ data/org/fanfale2.org ]
[ data/org/fanfale3.org ]
[ data/org/gameover.org ]
[ data/org/grand.org ]
[ data/org/vivi.org ]
[ data/org/gravity.org ]
[ data/org/weed.org ]
[ data/org/hell.org ]
[ data/org/requiem.org ]
[ data/org/jenka.org ]
[ data/org/jenka2.org ]
[ data/org/maze.org ]
[ data/org/lastbt3.org ]
[ data/org/lastcave.org ]
[ data/org/mdown2.org ]
[ data/org/ironh.org ]
[ data/org/oside.org ]
[ data/org/plant.org ]
[ data/org/kodou.org ]
[ data/org/quiet.org ]
[ data/org/escape.org ]
[ data/org/anzen.org ]
[ data/org/wanpak2.org ]
[ data/org/ballos.org ]
[ data/org/curly.org ]
[ data/org/toroko.org ]
[ data/org/mura.org ]
[ data/org/dr.org ]
[ data/org/marine.org ]
[ data/org/white.org ]
[ data/org/zonbie.org ]
[ data/stage.dat ]
Sucessfully extracted.
I tried again with portable mode and extracted but it's looking for font_1.fnt which doesn't even exist.
data/font_1.fnt
comes with the source code of nxengine-evo, so I think at some point in your copying and moving things around the data files that ship with the source code got lost. Try to get it back with git restore .
or start with a fresh clone of the repository.
I'll add more explicit instructions for getting the data files from Cave Story. Hopefully that will make this part more clear.
Ohhh ok now I get it, you move the data folder,nxengine-evo and nxextract from nxengine-evo into the cavestory folder replacing and adding everything then you run nxextract and it should work because now it works.
I think the instructions need to be a bit more clear also remove - cmake -DCMAKE_BUILD_TYPE=Release ..
out of the portable instructions as that may confuse people who think you need to run it when building.
I'm glad you got it working!
you move the data folder,nxengine-evo and nxextract from nxengine-evo into the cavestory folder
This is not quite right. You take the data/ and Doukutsu.exe files from Cave Story and put them in the nxengine-evo repository root, like this (I added this to the instructions):
unzip cavestoryen.zip
cp -r CaveStory/Doukutsu.exe CaveStory/data ./
./build/nxextract
After that, data/ contains a combination of 3 things:
remove - cmake -DCMAKE_BUILD_TYPE=Release .. out of the portable instructions as that may confuse people
Fair; I removed that.
I'm glad you got it working!
you move the data folder,nxengine-evo and nxextract from nxengine-evo into the cavestory folder
This is not quite right. You take the data/ and Doukutsu.exe files from Cave Story and put them in the nxengine-evo repository root, like this (I added this to the instructions):
unzip cavestoryen.zip cp -r CaveStory/Doukutsu.exe CaveStory/data ./ ./build/nxextract
After that, data/ contains a combination of 3 things:
- data files that shipped with nxengine-evo
- the contents of the data directory that ships with Cave Story
- extra data files that were packed inside the Doukutsu.exe binary
remove - cmake -DCMAKE_BUILD_TYPE=Release .. out of the portable instructions as that may confuse people
Fair; I removed that.
Right I see but if I wanted to make a game folder for the game and compiled it as a portable binary I could do it that way and not have the rest of nxengine-evo files there that are no longer needed if I wanted a smaller folder and zip it up correct?
also do I need to worry about these warnings?
[12:00:08.791] [warning] [SoundManager.cpp:97 init]: Music dir Ogg/ doesn't exist
[12:00:08.791] [warning] [SoundManager.cpp:97 init]: Music dir Ogg11/ doesn't exist
[12:00:08.791] [warning] [SoundManager.cpp:97 init]: Music dir Ogg17/ doesn't exist
[12:00:08.791] [warning] [SoundManager.cpp:97 init]: Music dir Ogg_ridic/ doesn't exist
[12:00:08.791] [info] [Pixtone.cpp:280 init]: Loading Sound FX...
[12:00:08.794] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx08.pxt' not found.
[12:00:08.794] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx09.pxt' not found.
[12:00:08.794] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx0a.pxt' not found.
[12:00:08.797] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx0d.pxt' not found.
[12:00:08.804] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx13.pxt' not found.
[12:00:08.827] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx24.pxt' not found.
[12:00:08.861] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx42.pxt' not found.
[12:00:08.861] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx43.pxt' not found.
[12:00:08.861] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx44.pxt' not found.
[12:00:08.861] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx45.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx49.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4a.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4b.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4c.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4d.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4e.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx4f.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx50.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx51.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx52.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx53.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx54.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx55.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx56.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx57.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx58.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx59.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5a.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5b.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5c.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5d.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5e.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx5f.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx60.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx61.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx62.pxt' not found.
[12:00:08.864] [warning] [Pixtone.cpp:58 load]: pxt->load: file '/home/corey/CaveStory/data/pxt/fx63.pxt' not found.
Oh and for build instructions you should do make -j$(nproc)
instead of just make
to get the best and fastest compiling performance on all the hardware :smiley:
Right I see but if I wanted to make a game folder for the game and compiled it as a portable binary I could do it that way and not have the rest of nxengine-evo files there that are no longer needed if I wanted a smaller folder and zip it up correct?
Yes, and that's why in the docs I added the section about moving the data files and binary to a separate directory:
mkdir dest
cp -r build/nxengine-evo data dest/
also do I need to worry about these warnings?
Yeah, that's fine. I always have those as well. If I understand the code correctly, it tries to load all sound files from fx00.pxt to fx75.pxt even though some of the files in that range don't exist in Cave Story.
Hey I am having a issue where I have gone through the setup steps for compiling and extracting for Linux and it is unable to find the files
Just wondering if I did something wrong or not as I found the instructions a little confusing since it also didn't work. Where it says "Look in the /bin folder for the compiled binaries, and the /data folder for additional data files." where is this referring to exactly because there is no bin folder in nxengine-evo