Return to Castle Wolfenstein - IORTCW source port
-
@Cesarpuig Well it doesn't work T_T
I've got all the files where the tutorial says to put them, but I get a black screen shortly before being kicked back to ES.
I'm thinking the issue might come from the GOG version, so I'll try another rom and get back to you.
Edit : The other version I could find doesn't have all the files needed to run the game on the RPi. Weird.
Here is the log after RTCW failed to launch :
-
@Zering
I just installed it in my raspberry pi 3, Retropi 4.6, raspbian strecht, and it works fine, these are the data I have for SP, for example for you to try:pak0.pk3 MD5: ce92b11df889cb0a045762bb5fd7cde5
sp_pak1.pk3 MD5: a0d3fe956f85f40c8efd6babe0d09832
sp_pak2.pk3 MD5: 330b272d5261fe19fcf3c3fbc943c7f3
sp_pak3.pk3 MD5: 4f3c364ced7c7c70e32732f07c8be050 (Spanish)
sp_pak4.pk3 MD5: 4223cc6588594ec0ceee186f0e73a6e9 (fron patch-data-141.zip)Before installing it again please delete all files and start from scratch.
-
@Cesarpuig Thanks for that, I checked the MD5 of every file and figured out my pak3 is wrong.
Not sure how I'm going to fix that though but at least I know what's wrong now.
-
@Zering the sp_pak3.pk3 mine is the Spanish version, it will have a different md5 than yours, but that does not mean that yours is not correct
-
@Cesarpuig Oh, right.
Any idea why it is not launching then? I've got pretty much the same data as you.
-
@Zering I can't think of anything, try updating your system
sudo apt-get update && sudo apt-get upgrade
from console press F4Update core packages and sdl2 from retropie setup from emulationstation (The latter I do not know if it makes much sense, but between my tests to see if it worked for me are two things I did)
Delete all iortcw related files
/home/pi/.wolf/
/opt/retropie/config/ports/rtcw-sp/
/opt/retropie/config/ports/rtcw-mp/
/home/pi/RetroPie/roms/ports/rtcwAnd reinstall.
-
@Cesarpuig Great success. Let me try it out on my own RPi 3B setup and I will get back to you.
Yesterday I also tried some testing and eventually I was able to the game to build but still not working completely.
-
I have good news to announce. Thanks to @Cesarpuig and others here at the RetroPie community the port now works again.
As you all should know by now compilation was broken due to gles support not being installed since it couldn't find the necessary gles library files in the system. It has now been fixed and the scriptmodule has been improved without the need of the make-raspberry.sh script from the source files. Libgles1-mesa-dev has been added to fix gles in compilation with the help from Cesarpuig.
I tested it on my Raspberry Pi 3B with latest RetroPie and it works as expected, however I haven't tested support for Raspberry Pi 4 RetroPie yet. Can someone test it out and confirm if it works or not?
If you already have the
rtcw.sh
scriptmodule in your RetroPie-Setup, remove the file by going into/home/pi/RetroPie-Setup/scriptmodules/ports/
and then use the download link again from this topic.Thank you all.
-
@tpo1990 said in Return to Castle Wolfenstein - IORTCW source port:
Libgles1-mesa-dev has been added to fix gles in compilation with the help from Cesarpuig.
That won't work (and just tested it and it doesn't) since
libgles1-mesa-dev
is not present in Raspbian/Debian Buster anymore. You're probably still running on Raspbian Stretch, even if you run the latest RetroPie.Package libgles1-mesa-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: libglvnd-dev E: Package 'libgles1-mesa-dev' has no installation candidate Could not install package(s): libgles1-mesa-dev.
-
I am testing it on sterch and buster.
Build failure for lack of
libgles1-mesa-dev
only appears in Raspbian strech.Rasbian buster build fine without installing that dependency.
And it is true it gives an installation error in buster because it cannot install that dependency.
That dependency should be assigned individually for raspbian sterch, it escapes my knowledge.
I actually focused on making it work on strech by helping @Zering,
I already migrated my rpi3 and rpi4 to buster, and the original script worked,
The fail has been introduced by including that dependency. -
Hi. This is the script that I am using on Raspberry pi 4, Rasbian Buster. it works for me.
I have tested it on a Raspberry Pi 3 B, with Raspbian stretch and it is necessary to add the dependency
libgles1-mesa-dev
#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="rtcw" rp_module_desc="RTCW - IORTCW source port of Return to Castle Wolfenstein." rp_module_licence="GPL3 https://raw.githubusercontent.com/iortcw/iortcw/master/SP/COPYING.txt" rp_module_help="IORTCW requires the pak files of the full game to play. Add all your singleplayer and multiplayer pak files (mp_bin.pk3, mp_pak0.pk3, mp_pak1.pk3, mp_pak2.pk3, mp_pak3.pk3, mp_pak4.pk3, mp_pak5.pk3, mp_pakmaps0.pk3, mp_pakmaps1.pk3, mp_pakmaps2.pk3, mp_pakmaps3.pk3, mp_pakmaps4.pk3, mp_pakmaps5.pk3, mp_pakmaps6.pk3, pak0.pk3, sp_pak1.pk3, sp_pak2.pk3, sp_pak3.pk3 and sp_pak4.pk3) from your RTCW installation to $romdir/ports/rtcw." rp_module_section="exp" rp_module_flags="" function depends_rtcw() { # getDepends cmake libsdl2-dev libsdl2-net-dev libsdl2-mixer-dev libsdl2-image-dev libgles1-mesa-dev timidity freepats #Uncomment for Raspbian stretch getDepends cmake libsdl2-dev libsdl2-net-dev libsdl2-mixer-dev libsdl2-image-dev timidity freepats #Uncomment for Raspbian buster } function sources_rtcw() { gitPullOrClone "$md_build" https://github.com/iortcw/iortcw.git } function build_rtcw() { cd "$md_build/SP" USE_CODEC_VORBIS=0 USE_CODEC_OPUS=0 USE_CURL=0 USE_CURL_DLOPEN=0 USE_OPENAL=1 USE_OPENAL_DLOPEN=1 USE_RENDERER_DLOPEN=0 USE_VOIP=0 \ USE_LOCAL_HEADERS=1 USE_INTERNAL_JPEG=1 USE_INTERNAL_OPUS=1 USE_INTERNAL_ZLIB=1 USE_OPENGLES=1 USE_BLOOM=0 USE_MUMBLE=0 BUILD_GAME_SO=1 \ BUILD_RENDERER_REND2=0 ARCH=armv7l PLATFORM=linux COMPILE_ARCH=arm COMPILE_PLATFORM=linux \ make cd "$md_build/MP" USE_CODEC_VORBIS=0 USE_CODEC_OPUS=0 USE_CURL=0 USE_CURL_DLOPEN=0 USE_OPENAL=1 USE_OPENAL_DLOPEN=1 USE_RENDERER_DLOPEN=0 USE_VOIP=0 \ USE_LOCAL_HEADERS=1 USE_INTERNAL_JPEG=1 USE_INTERNAL_OPUS=1 USE_INTERNAL_ZLIB=1 USE_OPENGLES=1 USE_BLOOM=0 USE_MUMBLE=0 BUILD_GAME_SO=1 \ BUILD_RENDERER_REND2=0 ARCH=armv7l PLATFORM=linux COMPILE_ARCH=arm COMPILE_PLATFORM=linux \ make md_ret_require="$md_build/SP" md_ret_require="$md_build/MP" } function install_rtcw() { md_ret_files=( 'SP/build/release-linux-armv7l/iowolfsp.armv7l' 'SP/build/release-linux-armv7l/main/cgame.sp.armv7l.so' 'SP/build/release-linux-armv7l/main/qagame.sp.armv7l.so' 'SP/build/release-linux-armv7l/main/ui.sp.armv7l.so' 'MP/build/release-linux-armv7l/iowolfded.armv7l' 'MP/build/release-linux-armv7l/iowolfmp.armv7l' 'MP/build/release-linux-armv7l/main/cgame.mp.armv7l.so' 'MP/build/release-linux-armv7l/main/qagame.mp.armv7l.so' 'MP/build/release-linux-armv7l/main/ui.mp.armv7l.so' 'MP/build/release-linux-armv7l/main/vm/' ) } function game_data_rtcw() { mkdir /opt/retropie/ports/rtcw/main mv -f /opt/retropie/ports/rtcw/*.so /opt/retropie/ports/rtcw/main mv -f /opt/retropie/ports/rtcw/vm /opt/retropie/ports/rtcw/main chown -R $user:$user "$romdir/ports/rtcw" chown -R $user:$user "$md_conf_root/rtcw-sp" } function configure_rtcw() { rm -R /home/pi/RetroPie/roms/ports/rtcw/vm #I added this line because when I updated, the content of this folder it was not overwritten addPort "rtcw-sp" "rtcw-sp" "Return to Castle Wolfenstein SP" "$md_inst/iowolfsp.armv7l" addPort "rtcw-mp" "rtcw-mp" "Return to Castle Wolfenstein MP" "$md_inst/iowolfmp.armv7l" mkRomDir "ports/rtcw" moveConfigDir "$home/.wolf" "$md_conf_root/rtcw-sp" moveConfigDir "$md_inst/main" "$romdir/ports/rtcw" [[ "$md_mode" == "install" ]] && game_data_rtcw } function remove_rtcw() { rm /home/pi/.wolf rm /home/pi/RetroPie/roms/ports/rtcw/*.so rm -R /home/pi/RetroPie/roms/ports/rtcw/vm }
-
@mitu Thanks for pointing it out. I thought I was home safe. I should probably reinstall my test environment to make sure it is fully updated to Raspbian Buster on my RPI 3B. I will need some more time to be able to continue investigating the issue.
@Cesarpuig If that is the case on Stretch that it needs the
libgles1-mesa-dev
dependency, then we must think of another way to get it to work otherwise the game will only compile and install on Raspbian Buster. -
@Cesarpuig I have followed your instructions to the letter and still no luck. I am booted back to ES after a few seconds of black screen. The only difference is now I can see the mouse cursor in the upper right corner of the screen for a split second, so it seems the game does launch in some capacity.
I've also noticed that I do not have the .wolf file. Is this a file that is generated when the game is first started? If not could that be part of the issue?
At this point, I'm concluding that the game has become self-aware and outright refuses to let me play it. ^^
-
@Zering post your log
-
@Cesarpuig That would be in dev/shm right? There's nothing there. Is it possible that it doesn't produce a log?
-
@tpo1990 Hi.
I have updated my script:
function depends_rtcw() { local depends=(cmake libsdl2-dev libsdl2-net-dev libsdl2-mixer-dev libsdl2-image-dev timidity freepats) if compareVersions "$__os_debian_ver" lt 10; then depends+=(libgles1-mesa-dev) fi getDepends "${depends[@]}" }
Now do not try to install the libgles1-mesa-dev dependency on Raspbian based on Debian 10 Buster.
I tried it on:
RPI3 Raspbian 9 stretch Retropie 4.6- Ok
RPI4 Raspbian 10 buster Retropie 4.5.20- Ok
I updated the link where I share my script in a previous post
@Zering Yesterday I lost my internet connection and today I will no longer be on my computer, we take up the subject again tomorrow, :).
/home/pi/.wolf is not a directory it is a symbolic link and is created during port installation.
-
@Cesarpuig Hi. Great to see some progress. I will try it out tomorrow and see if I can get it to work so that we can come to a solution that works for Stretch and Buster.
The reason why
/home/pi/.wolf
is a symbolic link, is that it needs to point to thertcw
port configs folder the same way that other ports does when they get installed fromRetroPie-Setup
. This is also true for themain
folder the game loads the.pk3
files from which is a symbolic link that points to the roms -> ports folder where a user will copy the.pk3
files to. -
@tpo1990 said in Return to Castle Wolfenstein - IORTCW source port:
The reason why /home/pi/.wolf is a symbolic link, is that it needs to point to the rtcw port configs folder the same way that other ports does when they get installed from RetroPie-Setup. This is also true for the main folder the game loads the .pk3files from which is a symbolic link that points to the roms -> ports folder where a user will copy the .pk3files to.
yes, I know the reason, it's just that @Zering it says that directory does not appear after installing the port, it was a comment to a previous post of yours
-
Well I am thoroughly confused lol
So is the missing /home/pi/.wolf the reason my install won't run?
-
@Zering Hi.
Well I am thoroughly confused lol
So is the missing/home/pi/.wolf
the reason my install won't run?Of course it can be, the problem is that the installation script does not create the symbolic link for you, and later when we run iortcw it does not create the
home/pi/.wolf
folder, which I think should.You might have a permission problem
1º Update the installation script to the latest one in the source I shared.
2º Assuming that you have not changed the user name and from the console, execute the following lines
sudo chown -Rh pi:pi /home/pi sudo chown -Rh pi:pi /opt/retropie/configs
If you have changed the username you have to know it
4º Reboot system
5º Run the installation script from the Retropie setup menu and uninstall the rtcw port
6º Reboot system
7º Run the installation script from the Retropie setup menu and install the rtcw port
8º Retropie will create a log of the installation at this address,
/home/pi/RetroPie-Setup/logs
, save it.9º Install the necessary data to run the game on
/home/pi/RetroPie/roms/ports/rtcw
10º Try to run.
11º Comment. If the result was not satisfactory, retropie would have created another log in
/dev/shm
, post
both of them logs
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.