Adding this core dumps the program:
structs.h 259:
Code:
#define PRF_RELTURN 34 /**< Turn then walk */
#define PRF_RELWALK 35 /**< Walk and turn */
#define PRF_RELSEE 36 /**< See relative north movements */
/** Total number of available PRF flags */
#define NUM_PRF_FLAGS 37
constants.c 235:
Code:
"RELTURN",
"RELWALK",
"RELSEE",
interpreter.c 260:
Code:
{ "relturn" , "relt" , POS_DEAD , do_gen_tog , 0, SCMD_RELTURN },
{ "relwalk" , "relw" , POS_DEAD , do_gen_tog , 0, SCMD_RELWALK },
{ "relsee" , "rels" , POS_DEAD , do_gen_tog , 0, SCMD_RELSEE },
act.h 230:
Code:
#define SCMD_RELTURN 33
#define SCMD_RELWALK 34
#define SCMD_RELSEE 35
act.other.c 750:
Code:
{"Relturn disabled.\r\n",
"Relturn enabled.\r\n"},
{"Relwalk disabled.\r\n",
"Relwalk enabled.\r\n"},
{"Relsee disabled.\r\n",
"Relsee enabled.\r\n"}
act.other.c 857:
Code:
case SCMD_RELTURN:
result = PRF_TOG_CHK(ch, PRF_RELTURN);
break;
case SCMD_RELWALK:
result = PRF_TOG_CHK(ch, PRF_RELWALK);
break;
case SCMD_RELSEE:
result = PRF_TOG_CHK(ch, PRF_RELSEE);
break;[code]
[/code]
It works temporarily piggybacking on AUTOSPLIT, AUTODOOR and AUTOEXIT. I'll try tracking down the areas where autoexit is defined. Simply copying it and naming it RELTURN, or some other toggle, should work.