/** * @brief Sets a jump's known state. * * @usage j:setKnown( false ) -- Makes jump unknown. * @luaparam j Jump to set known. * @luaparam b Whether or not to set as known (defaults to true). * @luafunc setKnown( j, b ) */ static int jumpL_setKnown( lua_State *L ) { int b, offset, changed; JumpPoint *jp; jp = luaL_validjumpSystem(L, 1, &offset, NULL); /* True if boolean isn't supplied. */ if (lua_gettop(L) > offset) b = lua_toboolean(L, 1 + offset); else b = 1; changed = (b != (int)jp_isKnown(jp)); if (b) jp_setFlag( jp, JP_KNOWN ); else jp_rmFlag( jp, JP_KNOWN ); /* Update outfits image array. */ if (changed) outfits_updateEquipmentOutfits(); return 0; }
/** * @brief Sets a system's known state. * * @usage s:setKnown( false ) -- Makes system unknown. * @luaparam s System to set known. * @luaparam b Whether or not to set as known (defaults to false). * @luaparam r Whether or not to iterate over the system's assets and jump points (defaults to false). * @luafunc setKnown( s, b ) */ static int systemL_setknown( lua_State *L ) { int b, r, i; StarSystem *sys; r = 0; sys = luaL_validsystem(L, 1); b = lua_toboolean(L, 2); if (lua_gettop(L) > 2) r = lua_toboolean(L, 3); if (b) sys_setFlag( sys, SYSTEM_KNOWN ); else sys_rmFlag( sys, SYSTEM_KNOWN ); if (r) { if (b) { for (i=0; i < sys->nplanets; i++) planet_setKnown( sys->planets[i] ); for (i=0; i < sys->njumps; i++) jp_setFlag( &sys->jumps[i], JP_KNOWN ); } else { for (i=0; i < sys->nplanets; i++) planet_rmFlag( sys->planets[i], PLANET_KNOWN ); for (i=0; i < sys->njumps; i++) jp_rmFlag( &sys->jumps[i], JP_KNOWN ); } } return 0; }
/** * @brief Sets a jump's known state. * * @usage j:setKnown( false ) -- Makes jump unknown. * @luaparam j Jump to set known. * @luaparam b Whether or not to set as known (defaults to true). * @luafunc setKnown( j, b ) */ static int jumpL_setKnown( lua_State *L ) { int b, offset; JumpPoint *jp; jp = luaL_validjumpSystem(L, 1, &offset, NULL); /* True is boolean isn't supplied. */ if (lua_gettop(L) > offset ) b = lua_toboolean(L, 1 + offset); else b = 1; if (b) jp_setFlag( jp, JP_KNOWN ); else jp_rmFlag( jp, JP_KNOWN ); return 0; }
/** * @brief Sets a system's known state. * * @usage s:setKnown( false ) -- Makes system unknown. * @luatparam System s System to set known. * @luatparam[opt=false] boolean b Whether or not to set as known. * @luatparam[opt=false] boolean r Whether or not to iterate over the system's assets and jump points. * @luafunc setKnown( s, b, r ) */ static int systemL_setknown( lua_State *L ) { int b, r, i; StarSystem *sys; NLUA_CHECKRW(L); r = 0; sys = luaL_validsystem(L, 1); b = lua_toboolean(L, 2); if (lua_gettop(L) > 2) r = lua_toboolean(L, 3); if (b) sys_setFlag( sys, SYSTEM_KNOWN ); else sys_rmFlag( sys, SYSTEM_KNOWN ); if (r) { if (b) { for (i=0; i < sys->nplanets; i++) planet_setKnown( sys->planets[i] ); for (i=0; i < sys->njumps; i++) jp_setFlag( &sys->jumps[i], JP_KNOWN ); } else { for (i=0; i < sys->nplanets; i++) planet_rmFlag( sys->planets[i], PLANET_KNOWN ); for (i=0; i < sys->njumps; i++) jp_rmFlag( &sys->jumps[i], JP_KNOWN ); } } /* Update outfits image array. */ outfits_updateEquipmentOutfits(); return 0; }