[Ported Game] Widelands


Looks good so far, but it complains that it can't save replay data when you start it.


Most probably the directory is not writable.


In a PND, all directories and files that exist in a PND are read-only. To create writable directories, you need to make sure these do not exist in the PND and created on first run (just put some mkdirs if not exist into your start script).
 
Maybe i forgot to delete home folder on pnd.

Updated with some more fixes.
 
Maybe i forgot to delete home folder on pnd.
Still got the same error


Also, one thought you should not care about too much:


Maybe it is just me, but I think the competition logo should not be tied into the game in that case (this could lead to the false impression that widelands itself is related to the competition) maybe just let it appear briefly on its own before the game starts ?
 
Last edited by a moderator:
If anybody can upload file located at /tmp/pndrun_widelands.out, will be more easy to know what's happening.

Uploading new version with (i hope) fixed bug and removed unneeded libs.
 
Last edited by a moderator:
got the newest version, but the bug still remains.

Apologies for not doing this earlier:

=======================================================================================

PND : /media/mmcblk0p1/pandora/menu/widelands.pnd
PND_FSTYPE : Squashfs
APPDATADIR : /media/mmcblk0p1/pandora/appdata/widelands
APPDD_FSTYPE : vfat
PND_CPUSPEED :
EXENAME : start.sh
ARGUMENTS :
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/widelands"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/mmcblk0p1/pandora/appdata/widelands=rw+nolwh":"/mnt/pnd/widelands=rr" none "/mnt/utmp/widelands"
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application (start.sh ) ----------
Set home directory: /mnt/utmp/widelands/home/.widelands
No version file found
Adding directory:./.
No version file found
Adding directory:/usr/share/games/widelands
Adding directory:.
No version file found
Adding directory: /mnt/utmp/widelands/share/games/widelands
Version file found with id "build-17" (real "build-17" )
No version file found
Widelands executable directory: /mnt/utmp/widelands/share/games/widelands/
localedir: /mnt/utmp/widelands/share/games/widelands/locale
selected language: (system language)
using locale
SDL_VIDEODRIVER=&
Graphics: Trying Video driver: 0 x11 SDL_VIDEODRIVER=x11
Graphics: Trying FULLSCREEN
Graphics: Try to set Videomode 800x480 16Bit
Graphics: Setting video mode was successful
Graphics: FULLSCREEN ENABLED
**** GRAPHICS REPORT ****
VIDEO DRIVER x11
hw surface possible 0
window manager available 1
blitz_hw 0
blitz_hw_CC 0
blitz_hw_A 0
blitz_sw 0
blitz_sw_CC 0
blitz_sw_A 0
blitz_fill 0
video_mem 0
vfmt 0x505f10
size 800 480
**** END GRAPHICS REPORT ****
Graphics: flags: 80000000
[] Section [global], key 'EXENAME' not used (did you spell the name correctly?)
Sound_Handler: loaded song "music/intro_00.ogg"
Sound_Handler: loaded song "music/menu_00.ogg"
Registering script: (aux,coroutine)
Registering script: (aux,format_help)
Registering script: (aux,formatting)
Registering script: (aux,infrastructure)
Registering script: (aux,objective_utils)
Registering script: (aux,set)
Registering script: (aux,table)
Registering script: (aux,ui)
Registering script: (aux,win_condition_functions)
Registering script: (aux,win_condition_texts)
Registering script: (tribe_atlanteans,sc00_headquarters_medium)
Registering script: (tribe_atlanteans,sc01_castle_village)
Registering script: (aux,coroutine)
Registering script: (aux,format_help)
Registering script: (aux,formatting)
Registering script: (aux,infrastructure)
Registering script: (aux,objective_utils)
Registering script: (aux,set)
Registering script: (aux,table)
Registering script: (aux,ui)
Registering script: (aux,win_condition_functions)
Registering script: (aux,win_condition_texts)
Registering script: (tribe_barbarians,sc00_headquarters_medium)
Registering script: (tribe_barbarians,sc01_citadel_village)
Registering script: (aux,coroutine)
Registering script: (aux,format_help)
Registering script: (aux,formatting)
Registering script: (aux,infrastructure)
Registering script: (aux,objective_utils)
Registering script: (aux,set)
Registering script: (aux,table)
Registering script: (aux,ui)
Registering script: (aux,win_condition_functions)
Registering script: (aux,win_condition_texts)
Registering script: (tribe_empire,sc00_headquarters_medium)
Registering script: (tribe_empire,sc01_castle_village)
Registering script: (aux,coroutine)
Registering script: (aux,format_help)
Registering script: (aux,formatting)
Registering script: (aux,infrastructure)
Registering script: (aux,objective_utils)
Registering script: (aux,set)
Registering script: (aux,table)
Registering script: (aux,ui)
Registering script: (aux,win_condition_functions)
Registering script: (aux,win_condition_texts)
Registering script: (win_conditions,00_endless_game)
Registering script: (win_conditions,01_defeat_all)
Registering script: (win_conditions,02_collectors)
Registering script: (win_conditions,03_territorial_lord)
Registering script: (win_conditions,04_wood_gnome)
Registering script: (win_conditions,05_endless_game_fogless)
Registering script: (aux,coroutine)
Registering script: (aux,format_help)
Registering script: (aux,formatting)
Registering script: (aux,infrastructure)
Registering script: (aux,objective_utils)
Registering script: (aux,set)
Registering script: (aux,table)
Registering script: (aux,ui)
Registering script: (aux,win_condition_functions)
Registering script: (aux,win_condition_texts)
No version file found
Parsing world bobs...
Parsing global bobs in world...
Parsing map gen info...
Compatibility ware "flax"="thatchreed" loaded.
Registering script: (tribe_barbarians,sc00_headquarters_medium)
Registering script: (tribe_barbarians,sc01_citadel_village)
Reading Elemental Data ... done!
Reading Player Names And Tribe Data ... done!
Reading Heights Data ... done!
Reading Terrain Data ... done!
Reading Map Objects ... done
Reading Player Start Position Data ... done!
Reading Bob Data ... done!
Reading Resources Data ... done!
Reading Map Extra Data ... done!
Reading Allowed Worker Types Data ... done!
Reading Allowed Building Types Data ... done!
Reading Node Ownership Data ... done!
Reading Exploration Data ... done!
Reading AreaWatchers Data ... done!
Reading Flag Data ... done!
Reading Road Data ... done!
Reading Building Data ... done!
Reading Map Ware Data ... done!
Reading Flagdata Data ... done!
Reading Roaddata Data ... done!
Reading Buildingdata Data ... done!
Reading Waredata Data ... done!
Reading Bobdata Data ... done!
Second and third phase loading Map Objects ... done
Reading Players View Data ... done!
Reading Player Message Data ... done!
Reading Objective Data ... done!
Reading Scripting Data ... done!
WARNING: There are 69 unloaded objects. This is a bug, please consider committing!
Registering script: (win_conditions,00_endless_game)
Registering script: (tribe_barbarians,sc00_headquarters_medium)
Registering script: (tribe_barbarians,sc00_headquarters_medium)
Starting replay writer
Object_Manager: ouch! remaining objects
lastserial: 431

Unexpected error during the game
[/media/pandora/pandora/compilar/widelands-build17-src/src/logic/replay.cc:241] Failed to save game for replay: ZipFilesystem::MakeDirectory: problem with file/directory: /binary/

Please report this problem to help us improve Widelands. You will find related messages in the standard output (stdout.txt on Windows). You are using build build-17(Release). Please add this information to your report.

Widelands attempts to create a savegame when errors occur during the game. It is often - though not always - possible to load it and continue playing.

Sound_Handler closing times 1, freq 22050, format 32784, chan 2
SDL_AUDIODRIVER alsa
[sUCCESS]--- Starting the application (start.sh ) ----------
[ START ]--- Restoring the frame buffer status ----------
[sUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/widelands': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 4
 
It seems Widelands doesn't like fat32 formatted cards.

I will ask Widelands team if they can help with this bug.

Thx for reporting.
 
Last edited by a moderator:
Yes it seems it wants to write in folder that's inside the PND, and it won't work on fat32 SDcard. Maybe you can create a symlink to a folder you create outside the PND... The log is not quite clear on what it tries to do, but it seems it tries to reconstruct some ZIP files... Either they are already in the PND, and you should "externalize" them, or it want to create some new ZIP inside a folder that's inside the PND, and I don't think it will works on Fat32, so the solution will depend on the naming scheme and the hosting foldr of the files...
 
It seems Widelands doesn't like fat32 formatted cards.

I will ask Widelands team if they can help with this bug.

Thx for reporting.
Well, you could check whether you can fix that yourself.

Normally, there would only be two reasons why that happens:

1. It tries to use certain permissions (which don't exit in FAT32)


2. It uses characters in filenames that FAT32 doesn't allow.
 
This is a sample name replay file

2013-01-29T13:42:08 singleplayer.wrpl.wgf

It seems character ":" can be the problem.
 
Sure, fix seems simple when you know how to do it, ;)

I'm sys admin and my programming skills are very basic.

That's why i wanted to ask them, because i look at the code and i'm lost.
 
in ./src/timestring.cc :



Code:
#ifdef WIN32
 
"YYYY-MM-DDThh.mm.ss"; //  ':' is not a valid file name character under Windows

#else

"YYYY-MM-DDThh:mm:ss"; //  use proper ISO 8601 format on all other systems

#endif


 



should become :



Code:
"YYYY-MM-DDThh.mm.ss"; //  ':' is not a valid file name character for FAT FS

enjoy your fix ;)

 

 
 
Uploaded new version with this simple and effective fix.

You are my hero sebt3, ;)
 
Last edited by a moderator:
The game loads better, then crash. (1GHz unit)
 
Last edited by a moderator:
I can confirmthis.

Crash during gameplay.

No music, nothing.

Had to hard reset.
 
Last edited by a moderator:
Back
Top