tuturto, congratulations, you discovered the first bug in the new release of the engine.
Took me quite some minutes to diagnose, because the code in question is obfuscated by my efforts to remain backward-compatible. Also, you didn't get the line number of the failure, because optimized libraries don't provide that (use 'cabal install LambdaHack -f-release' to get libs for development).
I'm afraid you have to put
, mfreq = [("campaign", 1), ("starting", 1)]
in GameDefinition/Content/ModeKind.hs. The good part is I'm now able to remove the backward-compatibility cruft, by assuming there's always a "starting" game mode defined in the content.
If you instead insert
screensaver = campaign
{ mname = "campaign screensaver"
, mfreq = [ ("starting", 1)]
, mroster = rosterCampaign
{ rosterList = (head (rosterList rosterCampaign))
{fleaderMode = LeaderAI $ AutoLeader False False }
: tail (rosterList rosterCampaign)
}
}
and add "screensaver" to the 2 lists where currently only "campaign" stands, the executable will by default run in screensaver mode (AI vs AI, you need to remove your save files to see it initially). See if you like it better.
Edit: actually, that you needed 'cabal install LambdaHack -f-release' was a bug. I've just fixed it. But in this case what would really help was a stack trace. For that you need `make install-debug` and then `make xcplay`.