diff --git a/games/devtest/mods/unittests/misc.lua b/games/devtest/mods/unittests/misc.lua index 10af80585..fd6c0a058 100644 --- a/games/devtest/mods/unittests/misc.lua +++ b/games/devtest/mods/unittests/misc.lua @@ -1,8 +1,11 @@ local function test_random() - -- Try out PseudoRandom - local pseudo = PseudoRandom(13) - assert(pseudo:next() == 22290) - assert(pseudo:next() == 13854) + -- We have comprehensive unit tests in C++, this is just to make sure the API code isn't messing up + local pr = PseudoRandom(13) + assert(pr:next() == 22290) + assert(pr:next() == 13854) + + local pr2 = PseudoRandom(-101) + assert(pr2:next(0, 100) == 35) end unittests.register("test_random", test_random) diff --git a/src/script/lua_api/l_noise.cpp b/src/script/lua_api/l_noise.cpp index 997b82b8a..16eb1de43 100644 --- a/src/script/lua_api/l_noise.cpp +++ b/src/script/lua_api/l_noise.cpp @@ -433,7 +433,7 @@ int LuaPseudoRandom::create_object(lua_State *L) { NO_MAP_LOCK_REQUIRED; - u64 seed = luaL_checknumber(L, 1); + s32 seed = luaL_checkinteger(L, 1); LuaPseudoRandom *o = new LuaPseudoRandom(seed); *(void **)(lua_newuserdata(L, sizeof(void *))) = o; luaL_getmetatable(L, className);