mirror of
https://github.com/tbamud/tbamud.git
synced 2025-09-21 21:40:49 +02:00
[Dec 29 2007] - Rumble
Fixed top_of_helpt bug being off by one. (thanks Jamdog) Fixed trigedit copy bug where it used real_room and not real_trigger. (thanks Jamdog) [Dec 21 2007] - Rumble Fixed dg_affect crash caused by a typo on my part. Renamed shit again! No really in zmalloc.c unsigned char * shit. [Dec 15 2007] - Rumble Showvnums shows [T#] for a single attached trig or [TRIGS] for multiple attached trigs (except for rooms since there is plenty of room to list all attached trigs). Fixed bug where showvnums would not show if attached. (thanks Sryth)
This commit is contained in:
parent
b93379190f
commit
9336b21d40
12 changed files with 12293 additions and 12258 deletions
13
changelog
13
changelog
|
@ -4,11 +4,21 @@ Rumble
|
|||
The Builder Academy
|
||||
builderacademy.net 9091
|
||||
|
||||
tbaMUD 3.55
|
||||
[Dec 29 2007] - Rumble
|
||||
Fixed top_of_helpt bug being off by one. (thanks Jamdog)
|
||||
Fixed trigedit copy bug where it used real_room and not real_trigger. (thanks Jamdog)
|
||||
[Dec 21 2007] - Rumble
|
||||
Fixed dg_affect crash caused by a typo on my part.
|
||||
Renamed shit again! No really in zmalloc.c unsigned char * shit.
|
||||
[Dec 15 2007] - Rumble
|
||||
Showvnums shows [T#] for a single attached trig or [TRIGS] for multiple attached trigs (except for rooms since there is plenty of room to list all attached trigs).
|
||||
Fixed bug where showvnums would not show if attached. (thanks Sryth)
|
||||
tbaMUD 3.54
|
||||
[Nov 12 2007] - Rumble
|
||||
Updated users command to fix GET_INVIS_LEV bug.
|
||||
Updated the drink command to work in rooms where the sector type should logically allow it.
|
||||
[Oct 04 2007] - Rumble
|
||||
[Nov 04 2007] - Rumble
|
||||
Increased the size of a mail message from 4k to 8k.
|
||||
Updated remove_player so that the players command would not show phantom users when someone self-deletes.
|
||||
Updated sedit_rooms_menu to prevent a crash bug when trying to display a shop with rooms that have been removed.
|
||||
|
@ -439,6 +449,7 @@ CircleMUD 3.5
|
|||
- Added buildwalk and dig.
|
||||
|
||||
Release history:
|
||||
Version 3.54 release: December, 2007
|
||||
Version 3.53 release: July, 2007
|
||||
Version 3.52 release: April, 2007
|
||||
Version 3.51 release: February, 2007
|
||||
|
|
24417
lib/text/help/help.hlp
24417
lib/text/help/help.hlp
File diff suppressed because it is too large
Load diff
|
@ -4,9 +4,11 @@
|
|||
|
||||
Implementors
|
||||
~~~~~~~~~~~~
|
||||
Detta Rumble
|
||||
|
||||
Greater Gods
|
||||
~~~~~~~~~~~~
|
||||
Zizazat
|
||||
|
||||
Gods
|
||||
~~~~
|
||||
|
|
|
@ -133,8 +133,12 @@ void show_obj_to_char(struct obj_data *obj, struct char_data *ch, int mode)
|
|||
|
||||
if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_SHOWVNUMS)) {
|
||||
send_to_char(ch, "[%d] ", GET_OBJ_VNUM(obj));
|
||||
if (SCRIPT(obj))
|
||||
send_to_char(ch, "[T%d] ", obj->proto_script->vnum);
|
||||
if (SCRIPT(obj)) {
|
||||
if (!TRIGGERS(SCRIPT(obj))->next)
|
||||
send_to_char(ch, "[T%d] ", GET_TRIG_VNUM(TRIGGERS(SCRIPT(obj))));
|
||||
else
|
||||
send_to_char(ch, "[TRIGS] ");
|
||||
}
|
||||
}
|
||||
send_to_char(ch, "%s", CCGRN(ch, C_NRM));
|
||||
send_to_char(ch, "%s", obj->description);
|
||||
|
@ -143,8 +147,12 @@ void show_obj_to_char(struct obj_data *obj, struct char_data *ch, int mode)
|
|||
case SHOW_OBJ_SHORT:
|
||||
if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_SHOWVNUMS)) {
|
||||
send_to_char(ch, "[%d] ", GET_OBJ_VNUM(obj));
|
||||
if (SCRIPT(obj))
|
||||
send_to_char(ch, "[T%d] ", obj->proto_script->vnum);
|
||||
if (SCRIPT(obj)) {
|
||||
if (!TRIGGERS(SCRIPT(obj))->next)
|
||||
send_to_char(ch, "[T%d] ", GET_TRIG_VNUM(TRIGGERS(SCRIPT(obj))));
|
||||
else
|
||||
send_to_char(ch, "[TRIGS] ");
|
||||
}
|
||||
}
|
||||
send_to_char(ch, "%s", obj->short_description);
|
||||
break;
|
||||
|
@ -325,10 +333,14 @@ void list_one_char(struct char_data *i, struct char_data *ch)
|
|||
" is standing here."
|
||||
};
|
||||
|
||||
if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_SHOWVNUMS) && IS_NPC(i)) {
|
||||
send_to_char(ch, "[%d] ", GET_MOB_VNUM(i));
|
||||
if (SCRIPT(i))
|
||||
send_to_char(ch, "[T%d] ", i->proto_script->vnum);
|
||||
if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_SHOWVNUMS) && IS_NPC(i)) {
|
||||
send_to_char(ch, "[%d] ", GET_MOB_VNUM(i));
|
||||
if SCRIPT(i) {
|
||||
if (!TRIGGERS(SCRIPT(i))->next)
|
||||
send_to_char(ch, "[T%d] ", GET_TRIG_VNUM(TRIGGERS(SCRIPT(i))));
|
||||
else
|
||||
send_to_char(ch, "[TRIGS] ");
|
||||
}
|
||||
}
|
||||
|
||||
if (IS_NPC(i) && i->player.long_descr && GET_POS(i) == GET_DEFAULT_POS(i)) {
|
||||
|
@ -483,7 +495,9 @@ ACMD(do_exits)
|
|||
|
||||
void look_at_room(struct char_data *ch, int ignore_brief)
|
||||
{
|
||||
trig_data *t;
|
||||
struct room_data *rm = &world[IN_ROOM(ch)];
|
||||
|
||||
if (!ch->desc)
|
||||
return;
|
||||
|
||||
|
@ -500,14 +514,17 @@ void look_at_room(struct char_data *ch, int ignore_brief)
|
|||
|
||||
sprintbitarray(ROOM_FLAGS(IN_ROOM(ch)), room_bits, RF_ARRAY_MAX, buf);
|
||||
send_to_char(ch, "[%5d] ", GET_ROOM_VNUM(IN_ROOM(ch)));
|
||||
|
||||
if (rm->proto_script)
|
||||
send_to_char(ch, "[T%d] ", rm->proto_script->vnum);
|
||||
|
||||
send_to_char(ch, "%s [ %s]", world[IN_ROOM(ch)].name, buf);
|
||||
} else
|
||||
send_to_char(ch, "%s [ %s] ", world[IN_ROOM(ch)].name, buf);
|
||||
|
||||
if (SCRIPT(rm)) {
|
||||
send_to_char(ch, "[T");
|
||||
for (t = TRIGGERS(SCRIPT(rm)); t; t = t->next)
|
||||
send_to_char(ch, " %d", GET_TRIG_VNUM(t));
|
||||
send_to_char(ch, "]");
|
||||
}
|
||||
}
|
||||
else
|
||||
send_to_char(ch, "%s", world[IN_ROOM(ch)].name);
|
||||
|
||||
send_to_char(ch, "%s\r\n", CCNRM(ch, C_NRM));
|
||||
|
||||
if ((!IS_NPC(ch) && !PRF_FLAGGED(ch, PRF_BRIEF)) || ignore_brief ||
|
||||
|
@ -1066,7 +1083,7 @@ ACMD(do_help)
|
|||
send_to_char(ch, "There is no help on that word.\r\n");
|
||||
mudlog(NRM, MAX(LVL_IMPL, GET_INVIS_LEV(ch)), TRUE,
|
||||
"%s tried to get help on %s", GET_NAME(ch), argument);
|
||||
for (i = 0; i <= top_of_helpt; i++) {
|
||||
for (i = 0; i < top_of_helpt; i++) {
|
||||
if (help_table[i].min_level > GET_LEVEL(ch))
|
||||
continue;
|
||||
/* To help narrow down results, if they don't start with the same letters, move on. */
|
||||
|
@ -1567,8 +1584,12 @@ void print_object_location(int num, struct obj_data *obj, struct char_data *ch,
|
|||
else
|
||||
send_to_char(ch, "%33s", " - ");
|
||||
|
||||
if (obj->proto_script)
|
||||
send_to_char(ch, "[T%d]", obj->proto_script->vnum);
|
||||
if (SCRIPT(obj)) {
|
||||
if (!TRIGGERS(SCRIPT(obj))->next)
|
||||
send_to_char(ch, "[T%d] ", GET_TRIG_VNUM(TRIGGERS(SCRIPT(obj))));
|
||||
else
|
||||
send_to_char(ch, "[TRIGS] ");
|
||||
}
|
||||
|
||||
if (IN_ROOM(obj) != NOWHERE)
|
||||
send_to_char(ch, "[%5d] %s%s\r\n", GET_ROOM_VNUM(IN_ROOM(obj)), world[IN_ROOM(obj)].name, QNRM);
|
||||
|
@ -1611,9 +1632,13 @@ void perform_immort_where(struct char_data *ch, char *arg)
|
|||
found = 1;
|
||||
send_to_char(ch, "M%3d. %-25s%s - [%5d] %-25s%s", ++num, GET_NAME(i), QNRM,
|
||||
GET_ROOM_VNUM(IN_ROOM(i)), world[IN_ROOM(i)].name, QNRM);
|
||||
if (SCRIPT(i))
|
||||
send_to_char(ch, "[T%5d] ", i->proto_script->vnum);
|
||||
send_to_char(ch, "%s\r\n", QNRM);
|
||||
if (IS_NPC(i) && SCRIPT(i)) {
|
||||
if (!TRIGGERS(SCRIPT(i))->next)
|
||||
send_to_char(ch, "[T%d] ", GET_TRIG_VNUM(TRIGGERS(SCRIPT(i))));
|
||||
else
|
||||
send_to_char(ch, "[TRIGS] ");
|
||||
}
|
||||
send_to_char(ch, "%s\r\n", QNRM);
|
||||
}
|
||||
for (num = 0, k = object_list; k; k = k->next)
|
||||
if (CAN_SEE_OBJ(ch, k) && isname(arg, k->name)) {
|
||||
|
|
|
@ -299,6 +299,6 @@ int use_autowiz = YES;
|
|||
* levels below the level you specify will go on the immlist instead.) */
|
||||
int min_wizlist_lev = LVL_GOD;
|
||||
|
||||
/* To mimic stack behavior set to NO. To allow mortals to see doors in exits
|
||||
/* To mimic stock behavior set to NO. To allow mortals to see doors in exits
|
||||
* set to YES. */
|
||||
int display_closed_doors = YES;
|
||||
|
|
|
@ -238,7 +238,7 @@ void do_dg_affect(void *go, struct script_data *sc, trig_data *trig,
|
|||
af.bitvector = 0;
|
||||
} else {
|
||||
af.location = 0;
|
||||
af.bitvector = (i);
|
||||
af.bitvector = i;
|
||||
}
|
||||
|
||||
affect_to_char(ch, &af);
|
||||
|
|
|
@ -375,7 +375,7 @@ void trigedit_parse(struct descriptor_data *d, char *arg)
|
|||
return;
|
||||
|
||||
case TRIGEDIT_COPY:
|
||||
if ((i = real_room(atoi(arg))) != NOWHERE) {
|
||||
if ((i = real_trigger(atoi(arg))) != NOWHERE) {
|
||||
trigedit_setup_existing(d, i);
|
||||
} else
|
||||
write_to_output(d, "That trigger does not exist.\r\n");
|
||||
|
|
|
@ -143,7 +143,7 @@ void hedit_save_internally(struct descriptor_data *d)
|
|||
|
||||
for (i = 0; i < top_of_helpt; i++)
|
||||
new_help_table[i] = help_table[i];
|
||||
new_help_table[++top_of_helpt] = *OLC_HELP(d);
|
||||
new_help_table[top_of_helpt++] = *OLC_HELP(d);
|
||||
free(help_table);
|
||||
help_table = new_help_table;
|
||||
} else
|
||||
|
|
|
@ -1183,7 +1183,7 @@ void oedit_parse(struct descriptor_data *d, char *arg)
|
|||
break;
|
||||
|
||||
case OEDIT_COPY:
|
||||
if ((number = real_object(atoi(arg))) != NOWHERE) {
|
||||
if ((number = real_object(atoi(arg))) != NOTHING) {
|
||||
oedit_setup_existing(d, number);
|
||||
} else
|
||||
write_to_output(d, "That object does not exist.\r\n");
|
||||
|
|
|
@ -819,8 +819,7 @@ void load_HMVS(struct char_data *ch, const char *line, int mode)
|
|||
}
|
||||
}
|
||||
|
||||
/* until further notice, the alias->pfiles save and load functions will
|
||||
* * function along side the old seperate alias file load, for compatibility. */
|
||||
/* Aliases are now saved in pfiles only. */
|
||||
void write_aliases_ascii(FILE *file, struct char_data *ch)
|
||||
{
|
||||
struct alias_data *temp;
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#define MAX_PWD_LENGTH 30 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define MAX_TITLE_LENGTH 80 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define HOST_LENGTH 40 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define PLR_DESC_LENGTH 512 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define MAX_TONGUE 3 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define MAX_SKILLS 200 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
#define MAX_AFFECT 32 /* Used in char_file_u *DO*NOT*CHANGE* */
|
||||
|
|
|
@ -358,41 +358,41 @@ void pad_check(meminfo *m)
|
|||
|
||||
int main()
|
||||
{
|
||||
unsigned char * shit;
|
||||
unsigned char * tmp;
|
||||
|
||||
zmalloc_init();
|
||||
|
||||
/* You should see no error here. */
|
||||
shit = (unsigned char*)malloc(200);
|
||||
free(shit);
|
||||
tmp = (unsigned char*)malloc(200);
|
||||
free(tmp);
|
||||
|
||||
/* Multiple frees test */
|
||||
shit = (unsigned char*)malloc(200);
|
||||
strcpy(shit, "This should show up in the dump but truncated to MAX_ZDUMP_SIZE chars");
|
||||
free(shit);
|
||||
free(shit);
|
||||
tmp = (unsigned char*)malloc(200);
|
||||
strcpy(tmp, "This should show up in the dump but truncated to MAX_ZDUMP_SIZE chars");
|
||||
free(tmp);
|
||||
free(tmp);
|
||||
|
||||
/* Free unallocated mem test */
|
||||
shit += 4;
|
||||
free(shit);
|
||||
tmp += 4;
|
||||
free(tmp);
|
||||
|
||||
/* Unfreed mem test... You should see "UNfreed mem at line 370" (at end) because of this */
|
||||
shit = (unsigned char*)malloc(200);
|
||||
strcpy(shit, "This is unfreed memory!");
|
||||
tmp = (unsigned char*)malloc(200);
|
||||
strcpy(tmp, "This is unfreed memory!");
|
||||
|
||||
/* Buffer overrun test... You should see an ERR:endPad here */
|
||||
shit = (unsigned char*)malloc(200);
|
||||
shit[202] = 0xbb;
|
||||
free(shit);
|
||||
tmp = (unsigned char*)malloc(200);
|
||||
tmp[202] = 0xbb;
|
||||
free(tmp);
|
||||
|
||||
/* Buffer underrun test... You should see an ERR:beginPad here */
|
||||
shit = (unsigned char*)malloc(200);
|
||||
shit[-3] = 0x0f;
|
||||
free(shit);
|
||||
tmp = (unsigned char*)malloc(200);
|
||||
tmp[-3] = 0x0f;
|
||||
free(tmp);
|
||||
|
||||
/* Free NULL pointer test... */
|
||||
shit = NULL;
|
||||
free(shit);
|
||||
tmp = NULL;
|
||||
free(tmp);
|
||||
|
||||
printf("Test completed. See zmalloc.log for the messages.\n");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue