Hi, When toying with a malloc debugger I found the following: in castle.c the following macro is used: #define C_MOB_SPEC(zone,mob) \ (mob_index[real_mobile(((zone)*100)+(mob))].func) It doesn't check on real_mobile returning -1.... so it writes happily outside the array (in minimud mode). The fix: Get rid of the above macro and add this one in stead: #define MOB_NUM(zone,mob) ( ((zone)*100)+(mob) ) And replace assign_kings_castle with this: void assign_kings_castle(void) { ASSIGNMOB( MOB_NUM(Z_KINGS_C, 0), CastleGuard ); /* Gwydion */ /* Added the previous line -- Furry */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 1), king_welmar ); /* Our dear friend, the King */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 3), CastleGuard); /* Jim */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 4), CastleGuard); /* Brian */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 5), CastleGuard); /* Mick */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 6), CastleGuard); /* Matt */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 7), CastleGuard); /* Jochem */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 8), CastleGuard); /* Anne */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 9), CastleGuard); /* Andrew */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 10), CastleGuard); /* Bertram */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 11), CastleGuard); /* Jeanette */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 12), peter); /* Peter */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 13), training_master); /* The training master */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 16), James); /* James the Butler */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 17), cleaning); /* Ze Cleaning Fomen */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 20), tim); /* Tim, Tom's twin */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 21), tom); /* Tom, Tim's twin */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 24), DicknDavid); /* Dick, guard of the * Treasury */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 25), DicknDavid); /* David, Dicks brother */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 26), jerry); /* Jerry, the Gambler */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 27), CastleGuard); /* Michael */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 28), CastleGuard); /* Hans */ ASSIGNMOB( MOB_NUM(Z_KINGS_C, 29), CastleGuard); /* Boris */ } Don't forget the prototype for ASSIGNMOB..... Greets and enjoy GrimReaper of Realms of Frustration (beta testing at 130.89.230.13) -----+++++*****************************************************+++++++++------- - Ric Klaren - j.klaren@student.utwente.nl - ia_ric@cs.utwente.nl ------------- -----+++++*****************************************************+++++++++------- ``Why don't we just invite them to dinner and massacre them all when they're drunk?'' ``You heard the man. There's seven hundred thousand of them.'' ``Ah? So it'd have to be something simple with pasta, then.'' ------------------------------------------------------------------------------- From: Interesting Times by Terry Pratchet -----+++++*****************************************************+++++++++------- +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/07/00 PST