Author Topic: SMW on the Raspberry Pi  (Read 8180 times)

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
SMW on the Raspberry Pi
« on: April 07, 2015, 04:42:23 PM »
Hello all,

Long time smw lover here. Recently got a raspberry pi 2, and have been setting it up as a retro gaming machine. I came across a thread talking about SMW and if it could be run on the pi.

Good news is it can! It's a fairly straightforward linux compile.
The bad news is the maps are all messed up! It's almost like the tilesets and backgrounds aren't loading, but I have confirmed they are present. Only a select few maps work properly.

I followed this guide that I dug up to complie:
http://www.philtopia.com/?p=1698

It shows screenshots of how the maps turn out.  If anyone might be able to offer some advice on how to fix this it would be wonderful!

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #1 on: April 26, 2015, 12:23:10 AM »
Any Possible ideas on these graphical glitches? Even if it means digging in to source and fixing/compiling myself I'm okay with that. I just need to have an idea of where to look because I'm still a complete noob at such things.

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #2 on: April 26, 2015, 09:56:05 AM »
I can also confirm this on my first-gen RPi. The problem is in the map loading code, it tries to draw even when there's no tile, which may also cause crash.
I didn't have time yet to properly debug this, but after a quick backtrace, it seems that CTileset::Draw gets called with incorrect values, which happens when tile->iID >= 0 (it should be negative to not draw tiles).

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #3 on: April 26, 2015, 01:39:19 PM »
That's something that needs fixed at source or is it in a config file somewhere after install that can be fixed?

It would be amazing if it was really that easy.

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #4 on: April 26, 2015, 03:40:20 PM »
Unfortunately, that's something thT has to be fixed in the source. I think I'll have some time next weekend to take a look on this, but if you'd like to fix it, the bug might be somewhere in map.cpp. I'd start looking around in loadMap(). Oh, and prepare for some monster code :)
« Last Edit: April 26, 2015, 03:51:43 PM by fluffypillow »

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #5 on: April 26, 2015, 11:24:01 PM »
Gotta learn sometime! I'll try to take a look at it tonight or tomorrow. Thanks for the info!

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #6 on: April 30, 2015, 02:06:28 AM »
Yeah, I have no clue what I'm getting into with this code lol. I am interested and want to learn though! Just gotta start smaller than this.

I know you have a ton on your todo list for this project in general already, so know I'm in no hurry for a fix on this (I have so much other stuff to work on with making my raspi a gaming monstrosity). I just ask that you let me know via this thread if you get the chance to check it out!

Thanks!

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #7 on: May 01, 2015, 07:00:06 PM »
I've managed to fix the issue, it turned out that some data types have different signedness on ARM devices. After fixing this, everything works fine. I've pushed a commit to my repository, and put up a patch for v1.8 here. You might want to clear the thumbnail cache for best results. Have fun!

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #8 on: May 03, 2015, 04:55:19 PM »
The readme says ENet is optional, but cmake gives an error because I do not have it (I don't need it so I don't really want it). Because of this cmake does not finish so I have no makefile to use make.  I'm sure there's an easy fix here, and I will continue googling to try and find an answer while I wait for a reply.  Thanks for being patient and quickly finding the issue and pushing a fix. And sorry I'm still a noob with Linux lol.


EDIT: I went into the Cmakelsits.txt and commented out the sections that required ENet.
New issue now though when making:

Code: [Select]
Makefile:133: recipie for target 'all' failed
make: *** [all] Error 2
« Last Edit: May 03, 2015, 05:15:18 PM by Ronoh55 »

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #9 on: May 03, 2015, 05:18:05 PM »
Ah yes, the repo might contain some suprises :) Just add -DNO_NETWORK=1 to your cmake command (eg. cmake .. -DNO_NETWORK=1), it should work then.

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #10 on: May 03, 2015, 07:08:09 PM »
That make cmake work wonderfully! Now I'm having issues with make. The entire output from using make is in the spoiler tag, I put a line of space between the first and second time I used the make command. After the second time it gives the same errors.  If it helps any I really only need the game proper on the pi. Any level edits I'll do on my mac and just transfer the file over. Thanks again!

Spoiler
[  3%] [  3%] [  5%] Building CXX object src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o
Building CXX object src/server/CMakeFiles/smw-server.dir/Player.cpp.o
Building CXX object src/server/CMakeFiles/smw-server.dir/Log.cpp.o
[  6%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/dirlist.cpp.o
In file included from /home/pi/supermariowar-master/src/server/NetworkLayerENet.cpp:1:0:
/home/pi/supermariowar-master/src/server/NetworkLayerENet.h:6:23: fatal error: enet/enet.h: No such file or directory
compilation terminated.
[  8%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/eyecandy.cpp.o
src/server/CMakeFiles/smw-server.dir/build.make:77: recipe for target 'src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o' failed
make[2]: *** [src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 10%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/FileIO.cpp.o
[ 11%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/FileList.cpp.o
CMakeFiles/Makefile2:275: recipe for target 'src/server/CMakeFiles/smw-server.dir/all' failed
make[1]: *** [src/server/CMakeFiles/smw-server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 13%] [ 15%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/Game.cpp.o
Building CXX object src/common/CMakeFiles/CommonFiles.dir/GameModeSettings.cpp.o
[ 16%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/GameValues.cpp.o
[ 18%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/gfx.cpp.o
[ 20%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/global.cpp.o
/home/pi/supermariowar-master/src/common/global.cpp:27:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
[ 22%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/input.cpp.o
[ 23%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/linfunc.cpp.o
[ 25%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/map.cpp.o
[ 27%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/MapList.cpp.o
[ 28%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/ObjectBase.cpp.o
[ 30%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/path.cpp.o
[ 32%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/RandomNumberGenerator.cpp.o
[ 33%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/ResourceManager.cpp.o
[ 35%] Building C object src/common/CMakeFiles/CommonFiles.dir/SFont.c.o
[ 37%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/sfx.cpp.o
[ 38%] Building CXX object src/common/CMakeFiles/CommonFiles.dir/TilesetManager.cpp.o
Linking CXX static library libCommonFiles.a
[ 38%] Built target CommonFiles
Makefile:133: recipe for target 'all' failed
make: *** [all] Error 2

pi@retropie ~/supermariowar-master/Build $ sudo make -j4
[  3%] [  3%] [  5%] Building CXX object src/server/CMakeFiles/smw-server.dir/Room.cpp.o
Building CXX object src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o
Building CXX object src/server/CMakeFiles/smw-server.dir/server.cpp.o
[ 38%] Built target CommonFiles
Scanning dependencies of target smw
In file included from /home/pi/supermariowar-master/src/server/NetworkLayerENet.cpp:1:0:
/home/pi/supermariowar-master/src/server/NetworkLayerENet.h:6:23: fatal error: enet/enet.h: No such file or directory
compilation terminated.
In file included from /home/pi/supermariowar-master/src/server/server.cpp:10:0:
/home/pi/supermariowar-master/src/server/NetworkLayerENet.h:6:23: fatal error: enet/enet.h: No such file or directory
compilation terminated.
[ 40%] Building CXX object src/smw/CMakeFiles/smw.dir/__/common/movingplatform.cpp.o
src/server/CMakeFiles/smw-server.dir/build.make:77: recipe for target 'src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o' failed
make[2]: *** [src/server/CMakeFiles/smw-server.dir/NetworkLayerENet.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 42%] Building CXX object src/smw/CMakeFiles/smw.dir/__/common/uicontrol.cpp.o
src/server/CMakeFiles/smw-server.dir/build.make:146: recipe for target 'src/server/CMakeFiles/smw-server.dir/server.cpp.o' failed
make[2]: *** [src/server/CMakeFiles/smw-server.dir/server.cpp.o] Error 1
[ 44%] Building CXX object src/smw/CMakeFiles/smw.dir/__/common/uimenu.cpp.o
CMakeFiles/Makefile2:275: recipe for target 'src/server/CMakeFiles/smw-server.dir/all' failed
make[1]: *** [src/server/CMakeFiles/smw-server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 45%] Building CXX object src/smw/CMakeFiles/smw.dir/ai.cpp.o
[ 47%] Building CXX object src/smw/CMakeFiles/smw.dir/gamemodes.cpp.o
[ 49%] Building CXX object src/smw/CMakeFiles/smw.dir/GSMenu.cpp.o
[ 50%] Building CXX object src/smw/CMakeFiles/smw.dir/object.cpp.o
[ 52%] Building CXX object src/smw/CMakeFiles/smw.dir/player.cpp.o
[ 54%] Building CXX object src/smw/CMakeFiles/smw.dir/world.cpp.o
[ 55%] Building CXX object src/smw/CMakeFiles/smw.dir/uicustomcontrol.cpp.o
[ 57%] Building CXX object src/smw/CMakeFiles/smw.dir/objectgame.cpp.o
[ 59%] Building CXX object src/smw/CMakeFiles/smw.dir/modeoptionsmenu.cpp.o
[ 61%] Building CXX object src/smw/CMakeFiles/smw.dir/objecthazard.cpp.o
[ 62%] Building CXX object src/smw/CMakeFiles/smw.dir/net.cpp.o
[ 64%] Building CXX object src/smw/CMakeFiles/smw.dir/FPSLimiter.cpp.o
[ 66%] Building CXX object src/smw/CMakeFiles/smw.dir/GSSplashScreen.cpp.o
[ 67%] Building CXX object src/smw/CMakeFiles/smw.dir/GSGameplay.cpp.o
[ 69%] Building CXX object src/smw/CMakeFiles/smw.dir/ObjectContainer.cpp.o
[ 71%] Building CXX object src/smw/CMakeFiles/smw.dir/main.cpp.o
[ 72%] Building CXX object src/smw/CMakeFiles/smw.dir/objects/blocks/PowerupBlock.cpp.o
[ 74%] Building CXX object src/smw/CMakeFiles/smw.dir/objects/blocks/BreakableBlock.cpp.o
Linking CXX executable ../../Binaries/Release/smw
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/__/common/movingplatform.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/__/common/movingplatform.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/__/common/uicontrol.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/__/common/uicontrol.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/__/common/uimenu.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/__/common/uimenu.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/ai.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/ai.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/gamemodes.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/gamemodes.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/GSMenu.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/GSMenu.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/object.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/object.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/player.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/player.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/world.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/world.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/uicustomcontrol.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/uicustomcontrol.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/objectgame.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/objectgame.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/modeoptionsmenu.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/modeoptionsmenu.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/objecthazard.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/objecthazard.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/net.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/net.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/FPSLimiter.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/FPSLimiter.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/GSSplashScreen.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/GSSplashScreen.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/GSGameplay.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/GSGameplay.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/ObjectContainer.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/ObjectContainer.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/main.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/main.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/objects/blocks/PowerupBlock.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/objects/blocks/PowerupBlock.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, CMakeFiles/smw.dir/objects/blocks/BreakableBlock.cpp.o does not
/usr/bin/ld: failed to merge target specific data of file CMakeFiles/smw.dir/objects/blocks/BreakableBlock.cpp.o
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(eyecandy.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(eyecandy.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(FileIO.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(FileIO.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(FileList.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(FileList.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(Game.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(Game.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(GameModeSettings.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(GameModeSettings.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(GameValues.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(GameValues.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(gfx.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(gfx.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(global.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(global.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(input.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(input.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(linfunc.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(linfunc.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(map.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(map.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(MapList.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(MapList.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(ObjectBase.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(ObjectBase.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(path.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(path.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(RandomNumberGenerator.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(RandomNumberGenerator.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(ResourceManager.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(ResourceManager.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(SFont.c.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(SFont.c.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(sfx.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(sfx.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(TilesetManager.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(TilesetManager.cpp.o)
/usr/bin/ld: error: ../../Binaries/Release/smw uses VFP register arguments, ../common/libCommonFiles.a(dirlist.cpp.o) does not
/usr/bin/ld: failed to merge target specific data of file ../common/libCommonFiles.a(dirlist.cpp.o)
collect2: error: ld returned 1 exit status
src/smw/CMakeFiles/smw.dir/build.make:594: recipe for target 'Binaries/Release/smw' failed
make[2]: *** [Binaries/Release/smw] Error 1
CMakeFiles/Makefile2:125: recipe for target 'src/smw/CMakeFiles/smw.dir/all' failed
make[1]: *** [src/smw/CMakeFiles/smw.dir/all] Error 2
Makefile:133: recipe for target 'all' failed
make: *** [all] Error 2

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #11 on: May 04, 2015, 06:53:15 AM »
The first issue seems like a cmake cache related problem, try running 'make clean', or just delete everything in your build directory.
The second is caused by mixed FPU-related compiler flags. Commenting out line #98 in CMakeLists.txt should solve this.

If you just want to play though, you might have better luck with the original repo, it's more stable and "release-ready". Following the blogpost, you have to run something like 'patch -Np0 < ../smw_fileio.patch' before ./configure.

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #12 on: May 04, 2015, 03:41:20 PM »
For some reason I had to manually make the edits from the patch, but now everything works perfectly! Thank you so much for all the help!

Offline Ronoh55

  • Newbie
  • *
  • Posts: 18
Re: SMW on the Raspberry Pi
« Reply #13 on: July 30, 2015, 02:52:37 AM »
Sorry to drum up this old topic, but I thought this would be a better place than starting a new topic.

I've come across an issue with SMW freezing on the pi. HerbFargus at the retropie forums (SMW thread there: http://blog.petrockblock.com/forums/topic/super-mario-war/#post-102693) has created a fork of smw incorporating the patches mentioned above in this thread (Fork found here: https://github.com/HerbFargus/smw).

Back to the freezing. We seem to have narrowed it down to the bots causing it. HerbFargus also found a thread for the Wii port of SMW having the same issue (https://github.com/dborth/smw-wii/issues/29). Neither of us are great coders, so we are again asking for some help with getting this working as intended. Herb believes the issue may be in ai.cpp or ai.h, but I'm not sure if he has any proof to it, other than the obvious of it being linked to bots.

Thank you yet again if you can steer us in the right directions.

Offline fluffypillow

  • Regular
  • *****
  • Posts: 140
    • smwstuff.net
Re: SMW on the Raspberry Pi
« Reply #14 on: July 30, 2015, 04:01:26 PM »
Thanks for the detailed bug report! Indeed, there was a bug in ai.cpp, but luckily someone already fixed it. I've just opened a pull request here: https://github.com/HerbFargus/smw/pull/5, or the patch itself: https://patch-diff.githubusercontent.com/raw/HerbFargus/smw/pull/5.diff
Tested it on desktop Linux, 4 bots are hunting Yoshi eggs for about an hour now, without problems.