Fedora Account System
Red Hat Associate
Red Hat Customer
Several levels: 0a770ba9bf9430b7d726aac35032c35el1584.blv (Aroundtheworld) 1295de159978a1b5ee763212c68761ael439.blv 2b9ee12d9f0c983878071da6aca23d00l3348.blv 2b9ee12d9f0c983878071da6aca23d00l3348.blv 2e5239815cd7144063e25bd2a05ed2bdl184.blv 2e5239815cd7144063e25bd2a05ed2bdl184.blv 369abc0096183e7af4ed74694661795bl9055.blv 369abc0096183e7af4ed74694661795bl9055.blv 6f4542e872149d7764db0198627c42bdl409.blv 74c293ec8adb95a575dbf318cc93c88el631.blv 79ac0f2d7444b86b7beeaab42b8b4589l1423.blv b579c4f066795018279bf8ccc9c5a477l7545.blv (timzescemetery) Use 'math.mod()' in their scripts. Since math.mod() is no longer supported in Lua 5.2, these levels are unplayable in Fedora with Lua 5.2. The replacement is maybe math.fmod() (unclear to me, I am unfamiliar with Lua). Suggest: Automatically translating scripts? Or adding a compatibility mod() function to math module in xmoto (not sure if Lua can do this)? Tried to file this upstream, but got a 500 error from their bug tracker.
Semi-unrelated, I'm also seeing: failed to load level encapsulated script: [string ""]:4: attempt to index global 'math' (a nil value) which is coming from xmscene/Scene.cpp: 592 try { 593 m_luaGame->loadScript(m_pLevelSrc->scriptSource(), m_pLevelSrc->scriptFileName()); 594 } catch(Exception &e) { 595 std::string error_msg = m_luaGame->getErrorMsg(); 596 throw Exception("failed to load level encapsulated script :\n" + error_msg); 597 } Given loadScript looks like this: 214 215 nRet = luaL_loadbuffer(m_pL, i_scriptCode.c_str(), i_scriptCode.length(), 216 i_scriptFilename.c_str()) || lua_pcall(m_pL, 0, 0, 0); 217 218 /* Returned WHAT? */ 219 if(nRet != 0) { 220 throw Exception("failed to load level script"); 221 } The exception is likely coming from luaL_loadbuffer() -- I wonder if the 'math' module is available at load time (regression?).
Oh, I misread. The message goes from m_luaGame::getErrorMsg(), not the exception. My mistake.
Here's a problematic level: "the Curse Of the Twelwe Stonemen" (yes that is how it is spelled). "failed to invoke (bool) OnLoad(): [string ""]:35: attempt to index global 'math' (a nil value)" Another one: "Magic_Bunny - Scripted" (similar error message, but line/col ":3:"). Some of are failures which list the level name. The level "memoryingame" doesn't even do that (I attached with gdb and break on LuaLibGame::getErrorMsg; go up two frames and look at this->m_idlevel). From "memoryingame" (l8023): "[string ""]:89: attempt to index global 'table' (a nil value) From memoryingame's level file[0]: function OnLoad() ... --randomize! for i=1,100,1 do sprites=table.shuffle(sprites) end --random arrange! ... return true end This used to work... [0]: https://github.com/MichaelHoste/xmoto/blob/master/data/Levels/l8023.lvl
I'm trying to build this against compat-lua-devel, which is 5.1, and I get this: states/../LuaLibGame.h:113:31: error: 'lua_State' has not been declared static int L_Game_StopTimer(lua_State *pL); I'll file an upstream bug to support 5.2.
https://sourceforge.net/p/xmoto/bugs/64/
I've got this working now, and it works on 'the Curse Of the Twelwe Stonemen'. Update coming.
It built for me but not in koji. . .working on it. :(
Thanks for working on this. I know it's a *sooper* important bug ;)
xmoto-0.5.10-9.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/xmoto-0.5.10-9.fc20
Package xmoto-0.5.10-9.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing xmoto-0.5.10-9.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-4512/xmoto-0.5.10-9.fc20 then log in and leave karma (feedback).
Looks good to me, I left karma on bodhi. Thanks, Jon.
Package xmoto-0.5.11-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing xmoto-0.5.11-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-4512/xmoto-0.5.11-1.fc20 then log in and leave karma (feedback).
xmoto-0.5.11-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.