Author: cazfi Date: Tue Jun 28 19:14:32 2016 New Revision: 33089 URL: http://svn.gna.org/viewcvs/freeciv?rev=33089&view=rev Log: Added lua function create_owned_extra(), and deprecated create_base()
See paych #7316 Modified: trunk/server/scripting/api_server_edit.c trunk/server/scripting/api_server_edit.h trunk/server/scripting/tolua_server.pkg Modified: trunk/server/scripting/api_server_edit.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/scripting/api_server_edit.c?rev=33089&r1=33088&r2=33089&view=diff ============================================================================== --- trunk/server/scripting/api_server_edit.c (original) +++ trunk/server/scripting/api_server_edit.c Tue Jun 28 19:14:32 2016 @@ -368,9 +368,10 @@ } /***************************************************************************** - Create a new extra. -*****************************************************************************/ -void api_edit_create_extra(lua_State *L, Tile *ptile, const char *name) + Create a new owned extra. +*****************************************************************************/ +void api_edit_create_owned_extra(lua_State *L, Tile *ptile, const char *name, + Player *pplayer) { struct extra_type *pextra; @@ -384,9 +385,17 @@ pextra = extra_type_by_rule_name(name); if (pextra) { - create_extra(ptile, pextra, NULL); + create_extra(ptile, pextra, pplayer); update_tile_knowledge(ptile); } +} + +/***************************************************************************** + Create a new extra. +*****************************************************************************/ +void api_edit_create_extra(lua_State *L, Tile *ptile, const char *name) +{ + api_edit_create_owned_extra(L, ptile, name, NULL); } /***************************************************************************** @@ -395,21 +404,7 @@ void api_edit_create_base(lua_State *L, Tile *ptile, const char *name, Player *pplayer) { - struct extra_type *pextra; - - LUASCRIPT_CHECK_STATE(L); - LUASCRIPT_CHECK_ARG_NIL(L, ptile, 2, Tile); - - if (!name) { - return; - } - - pextra = extra_type_by_rule_name(name); - - if (pextra != NULL && is_extra_caused_by(pextra, EC_BASE)) { - create_extra(ptile, pextra, pplayer); - update_tile_knowledge(ptile); - } + api_edit_create_owned_extra(L, ptile, name, pplayer); } /***************************************************************************** @@ -417,7 +412,7 @@ *****************************************************************************/ void api_edit_create_road(lua_State *L, Tile *ptile, const char *name) { - api_edit_create_extra(L, ptile, name); + api_edit_create_owned_extra(L, ptile, name, NULL); } /***************************************************************************** Modified: trunk/server/scripting/api_server_edit.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/scripting/api_server_edit.h?rev=33089&r1=33088&r2=33089&view=diff ============================================================================== --- trunk/server/scripting/api_server_edit.h (original) +++ trunk/server/scripting/api_server_edit.h Tue Jun 28 19:14:32 2016 @@ -53,6 +53,8 @@ bool api_edit_trait_mod_set(lua_State *L, Player *pplayer, const char *tname, const int mod); +void api_edit_create_owned_extra(lua_State *L, Tile *ptile, const char *name, + struct player *pplayer); void api_edit_create_extra(lua_State *L, Tile *ptile, const char *name); void api_edit_create_base(lua_State *L, Tile *ptile, const char *name, struct player *pplayer); Modified: trunk/server/scripting/tolua_server.pkg URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/scripting/tolua_server.pkg?rev=33089&r1=33088&r2=33089&view=diff ============================================================================== --- trunk/server/scripting/tolua_server.pkg (original) +++ trunk/server/scripting/tolua_server.pkg Tue Jun 28 19:14:32 2016 @@ -121,9 +121,12 @@ void api_edit_create_city @ create_city (lua_State *L, Player *pplayer, Tile *ptile, const char *name); + void api_edit_create_owned_extra + @ create_owned_extra (lua_State *L, Tile *ptile, + const char *name, Player *pplayer); void api_edit_create_extra @ create_extra (lua_State *L, Tile *ptile, const char *name); - /* Deprecated; use edit.create_extra() */ + /* Deprecated; use edit.create_owned_extra() */ void api_edit_create_base @ create_base (lua_State *L, Tile *ptile, const char *name, Player *pplayer); @@ -202,11 +205,11 @@ edit.create_city (player, tile, name) end --- Deprecated; use edit.create_extra() +-- Deprecated; use edit.create_owned_extra() function create_base(tile, name, player) -- Out-of-namespace since 2.4 - -- edit.create_base() -> edit.create_extra() since 2.6 - log.deprecation_warning("create_base()", "edit.create_extra()", + -- edit.create_base() -> edit.create_owned_extra() since 3.0 + log.deprecation_warning("create_base()", "edit.create_owned_extra()", "2.4"); edit.create_base(tile, name, player) end @@ -329,14 +332,18 @@ end -- Server functions for Tile module +function Tile:create_owned_extra(name, player) + edit.create_owned_extra(self, name, player) +end + function Tile:create_extra(name) edit.create_extra(self, name) end -- Deprecated; use Tile:create_extra() function Tile:create_base(name, player) - log.deprecation_warning("Tile:create_base()", "Tile:create_extra()", - "2.6"); + log.deprecation_warning("Tile:create_base()", "Tile:create_owned_extra()", + "3.0"); edit.create_base(self, name, player) end _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits