… | |
… | |
201 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |
201 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |
202 | inline void sv_to (SV *sv, signed int &v) { v = SvIV (sv); } |
202 | inline void sv_to (SV *sv, signed int &v) { v = SvIV (sv); } |
203 | inline void sv_to (SV *sv, unsigned int &v) { v = SvUV (sv); } |
203 | inline void sv_to (SV *sv, unsigned int &v) { v = SvUV (sv); } |
204 | inline void sv_to (SV *sv, signed long &v) { v = SvIV (sv); } |
204 | inline void sv_to (SV *sv, signed long &v) { v = SvIV (sv); } |
205 | inline void sv_to (SV *sv, unsigned long &v) { v = SvUV (sv); } |
205 | inline void sv_to (SV *sv, unsigned long &v) { v = SvUV (sv); } |
206 | inline void sv_to (SV *sv, signed long long &v) { v = SvVAL64 (sv); } |
206 | inline void sv_to (SV *sv, signed long long &v) { v = ( signed long long)SvVAL64 (sv); } |
207 | inline void sv_to (SV *sv, unsigned long long &v) { v = SvVAL64 (sv); } |
207 | inline void sv_to (SV *sv, unsigned long long &v) { v = (unsigned long long)SvVAL64 (sv); } |
208 | inline void sv_to (SV *sv, float &v) { v = SvNV (sv); } |
208 | inline void sv_to (SV *sv, float &v) { v = SvNV (sv); } |
209 | inline void sv_to (SV *sv, double &v) { v = SvNV (sv); } |
209 | inline void sv_to (SV *sv, double &v) { v = SvNV (sv); } |
210 | inline void sv_to (SV *sv, player * &v) { v = (player *)SvPTR_ornull (sv, "cf::player"); } |
210 | inline void sv_to (SV *sv, player * &v) { v = (player *)SvPTR_ornull (sv, "cf::player"); } |
211 | inline void sv_to (SV *sv, object * &v) { v = (object *)SvPTR_ornull (sv, "cf::object"); } |
211 | inline void sv_to (SV *sv, object * &v) { v = (object *)SvPTR_ornull (sv, "cf::object"); } |
212 | inline void sv_to (SV *sv, archetype * &v) { v = (archetype *)SvPTR_ornull (sv, "cf::arch"); } |
212 | inline void sv_to (SV *sv, archetype * &v) { v = (archetype *)SvPTR_ornull (sv, "cf::arch"); } |
… | |
… | |
216 | inline void sv_to (SV *sv, living * &v) { v = (living *)SvPTR_ornull (sv, "cf::living"); } |
216 | inline void sv_to (SV *sv, living * &v) { v = (living *)SvPTR_ornull (sv, "cf::living"); } |
217 | |
217 | |
218 | inline void sv_to (SV *sv, New_Face * &v) { v = &new_faces[FindFace (SvPV_nolen (sv), 0)]; } //TODO |
218 | inline void sv_to (SV *sv, New_Face * &v) { v = &new_faces[FindFace (SvPV_nolen (sv), 0)]; } //TODO |
219 | inline void sv_to (SV *sv, treasurelist * &v) { v = find_treasurelist (SvPV_nolen (sv)); } // TODO |
219 | inline void sv_to (SV *sv, treasurelist * &v) { v = find_treasurelist (SvPV_nolen (sv)); } // TODO |
220 | |
220 | |
|
|
221 | template<class T> |
|
|
222 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
|
|
223 | |
221 | template<int N> |
224 | template<int N> |
222 | inline void sv_to (SV *sv, char (&v)[N]) { snprintf (v, N, "%s", SvPV_nolen (sv)); } |
225 | inline void sv_to (SV *sv, char (&v)[N]) { assign (v, SvPV_nolen (sv)); } |
223 | |
226 | |
224 | static SV * |
227 | static SV * |
225 | newSVdt_va (va_list &ap, data_type type) |
228 | newSVdt_va (va_list &ap, data_type type) |
226 | { |
229 | { |
227 | SV *sv; |
230 | SV *sv; |
… | |
… | |
1258 | const_iv (AT_BLIND) |
1261 | const_iv (AT_BLIND) |
1259 | const_iv (AT_INTERNAL) |
1262 | const_iv (AT_INTERNAL) |
1260 | const_iv (AT_LIFE_STEALING) |
1263 | const_iv (AT_LIFE_STEALING) |
1261 | const_iv (AT_DISEASE) |
1264 | const_iv (AT_DISEASE) |
1262 | |
1265 | |
1263 | const_iv (QUEST_IN_PROGRESS) |
|
|
1264 | const_iv (QUEST_DONE_QUEST) |
|
|
1265 | const_iv (QUEST_DONE_TASK) |
|
|
1266 | const_iv (QUEST_START_QUEST) |
|
|
1267 | const_iv (QUEST_END_QUEST) |
|
|
1268 | const_iv (QUEST_START_TASK) |
|
|
1269 | const_iv (QUEST_END_TASK) |
|
|
1270 | const_iv (QUEST_OVERRIDE) |
|
|
1271 | const_iv (QUEST_ON_ACTIVATE) |
|
|
1272 | |
|
|
1273 | const_iv (WEAP_HIT) |
1266 | const_iv (WEAP_HIT) |
1274 | const_iv (WEAP_SLASH) |
1267 | const_iv (WEAP_SLASH) |
1275 | const_iv (WEAP_PIERCE) |
1268 | const_iv (WEAP_PIERCE) |
1276 | const_iv (WEAP_CLEAVE) |
1269 | const_iv (WEAP_CLEAVE) |
1277 | const_iv (WEAP_SLICE) |
1270 | const_iv (WEAP_SLICE) |
… | |
… | |
1774 | SET_FLAG (op, flag); |
1767 | SET_FLAG (op, flag); |
1775 | else |
1768 | else |
1776 | CLEAR_FLAG (op, flag); |
1769 | CLEAR_FLAG (op, flag); |
1777 | OUTPUT: RETVAL |
1770 | OUTPUT: RETVAL |
1778 | |
1771 | |
|
|
1772 | object *head (object *op) |
|
|
1773 | PROTOTYPE: $ |
|
|
1774 | CODE: |
|
|
1775 | RETVAL = op->head ? op->head : op; |
|
|
1776 | OUTPUT: RETVAL |
|
|
1777 | |
|
|
1778 | int is_head (object *op) |
|
|
1779 | PROTOTYPE: $ |
|
|
1780 | CODE: |
|
|
1781 | RETVAL = !op->head; |
|
|
1782 | OUTPUT: RETVAL |
|
|
1783 | |
1779 | void |
1784 | void |
1780 | inv (object *obj) |
1785 | inv (object *obj) |
1781 | PROTOTYPE: $ |
1786 | PROTOTYPE: $ |
1782 | PPCODE: |
1787 | PPCODE: |
1783 | { |
1788 | { |