Server: CircleMUD 3.0, bpl 17
Add-ons: OasisOLC, Races, Classes
OS: Windows NT 4.0 Server
Hardware: Dell Precision 210 Workstation, Dual Processor
Compiler: Microsoft Developer Studio 97, C++ 5.0
Regarding: Aedit patch
Hello,
I have recently hand patched in the Aedit_16.patch that can be found on the
Circle FTP. One problem occured after I had finished patching and compiled,
it couldn't find OLC_STORAGE.
I also got similar errors from aedit.c...
My oasis_olc_data (oasis.h) looks like this:
struct oasis_olc_data {
int mode;
int zone_num;
int number;
int value;
int total_mprogs;
struct char_data *mob;
struct room_data *room;
struct obj_data *obj;
struct zone_data *zone;
struct shop_data *shop;
struct social_messg *action;
struct extra_descr_data *desc;
#if CONFIG_OASIS_MPROG
struct mob_prog_data *mprog;
struct mob_prog_data *mprogl;
#endif
};
And the macro defines in oasis.h look like this:
#define OLC(d) ((struct oasis_olc_data *)(d)->olc)
#define OLC_MODE(d) (OLC(d)->mode) /* Parse input mode. */
#define OLC_NUM(d) (OLC(d)->number) /* Room/Obj VNUM. */
#define OLC_VAL(d) (OLC(d)->value) /* Scratch variable. */
#define OLC_ZNUM(d) (OLC(d)->zone_num) /* Real zone number. */
#define OLC_ROOM(d) (OLC(d)->room) /* Room structure. */
#define OLC_OBJ(d) (OLC(d)->obj) /* Object structure. */
#define OLC_ZONE(d) (OLC(d)->zone) /* Zone structure. */
#define OLC_MOB(d) (OLC(d)->mob) /* Mob structure. */
#define OLC_SHOP(d) (OLC(d)->shop) /* Shop structure. */
#define OLC_DESC(d) (OLC(d)->desc) /* Extra description. */
#define OLC_STORAGE(d) (OLC(d)->storage) /* For command storage */
#define OLC_ACTION(d) (OLC(d)->action) /* Action structure */
#if CONFIG_OASIS_MPROG
#define OLC_MPROG(d) (OLC(d)->mprog) /* Temporary MobProg. */
#define OLC_MPROGL(d) (OLC(d)->mprogl) /* MobProg list. */
#define OLC_MTOTAL(d) (OLC(d)->total_mprogs) /* Total mprog number. */
#endif
It would be great if someone could help me out here... :)
Kind regards,
Torgny Bjers (Artovil)
==[compiler response]================================================
oasis.c
oasis.c(231) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(233) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(233) : error C2198: 'is_abbrev' : too few actual parameters
oasis.c(237) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(237) : error C2198: 'find_command' : too few actual parameters
oasis.c(242) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(335) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(336) : error C2039: 'storage' : is not a member of 'oasis_olc_data'
oasis.c(336) : error C2198: 'free' : too few actual parameters
==[actual code for line 231-242]=====================================
else {
OLC_NUM(d) = 0;
OLC_STORAGE(d) = str_dup(buf1);
for (OLC_ZNUM(d) = 0; (OLC_ZNUM(d) <= top_of_socialt); OLC_ZNUM(d)++) {
if (is_abbrev(OLC_STORAGE(d), soc_mess_list[OLC_ZNUM(d)].command))
break;
}
if (OLC_ZNUM(d) > top_of_socialt) {
if (find_command(OLC_STORAGE(d)) > NOTHING) {
cleanup_olc(d, CLEANUP_ALL);
send_to_char("That command already exists.\r\n", ch);
return;
}
sprintf(buf, "Do you wish to add the '%s' action? ", OLC_STORAGE(d));
send_to_char(buf, ch);
OLC_MODE(d) = AEDIT_CONFIRM_ADD;
}
else {
sprintf(buf, "Do you wish to edit the '%s' action? ",
soc_mess_list[OLC_ZNUM(d)].command);
send_to_char(buf, ch);
OLC_MODE(d) = AEDIT_CONFIRM_EDIT;
}
}
==[actual code for line 335-336]=====================================
/*. Check for storage -- aedit patch -- M. Scott .*/
if (OLC_STORAGE(d))
free(OLC_STORAGE(d));
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT