code change - oextra
move oattached and oname and other things that vary the size of the obj structure into a separate non-adjacent oextra structure, similar to what has already been done for mextra. The obj structure itself becomes a fixed size. New macros: #define ONAME(o) ((o)->oextra->oname) #define OMID(o) ((o)->oextra->omid) #define OMONST(o) ((o)->oextra->omonst) #define OLONG(o) ((o)->oextra->olong) #define OMAILCMD(o) ((o)->oextra->omailcmd) #define has_oname(o) ((o)->oextra && ONAME(o)) #define has_omid(o) ((o)->oextra && OMID(o)) #define has_omonst(o) ((o)->oextra && OMONST(o)) #define has_olong(o) ((o)->oextra && OLONG(o)) #define has_omailcmd(o) ((o)->oextra && OMAILCMD(o)) changed macros: has_name(mon) becomes has_mname(mon) to correspond. The CVS repository was tagged with NETHACK_PRE_OEXTRA before commiting these, and tagged with NETHACK_POST_OEXTRA immediately after. The diff between those two tags is this oextra patch. The associated mail daemon changes to use an oextra structure instead of a hidden command located in the name after the terminating NUL, have not been tried or tested.
This commit is contained in:
@@ -233,3 +233,6 @@ change region player_flags to more appropriate unsigned int instead of boolean
|
||||
remove remains of sync_hunger, which has been ifdef'd out for years
|
||||
new mextra structure housing pointers to mname, egd, epri, eshk, emin, edog
|
||||
consolidate vault.h, epri.h, eshk.h, emin.h and edog.h into new mextra.h
|
||||
new oextra structure housing pointers to oname, omonst, omid, olong, and omailcmd
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user