[ScryMUD] SVN Commit Info r769 - branches/people/eroper/automapper/mud/grrmud/server
scrymud at wanfear.com
scrymud at wanfear.com
Fri Dec 17 02:42:14 PST 2004
Author: eroper
Date: 2004-12-17 02:42:14 -0800 (Fri, 17 Dec 2004)
New Revision: 769
Modified:
branches/people/eroper/automapper/mud/grrmud/server/mapper.h
branches/people/eroper/automapper/mud/grrmud/server/zone.cc
Log:
Any rooms which caused collisions are now flagged for easy identification.
Modified: branches/people/eroper/automapper/mud/grrmud/server/mapper.h
===================================================================
--- branches/people/eroper/automapper/mud/grrmud/server/mapper.h 2004-12-17 10:26:36 UTC (rev 768)
+++ branches/people/eroper/automapper/mud/grrmud/server/mapper.h 2004-12-17 10:42:14 UTC (rev 769)
@@ -37,6 +37,7 @@
bool iswater;
bool isdeepwater;
bool isplaceholder;
+ bool cause_of_collision;
public:
maproom() {
@@ -48,6 +49,7 @@
iswater = false;
isdeepwater = false;
isplaceholder = false;
+ cause_of_collision = false;
}
int num(void) { return room_num; }
@@ -68,6 +70,9 @@
bool placeholder(void) { return isplaceholder; }
bool placeholder(bool newval) { isplaceholder = newval; return
isplaceholder; }
+ bool collided(void) { return cause_of_collision; }
+ bool collided(bool newval) { cause_of_collision = newval; return
+ cause_of_collision; }
};
class maprooms {
@@ -113,7 +118,7 @@
int dist;
bool hidden;
public:
- path() { start_room = -1; end_room = -1; hidden = false; }
+ path() { start_room = -1; end_room = -1; dist = 1; hidden = false; }
int start(void) { return start_room; }
int end(void) { return end_room; }
int start(int s) { start_room = s; return start_room; }
Modified: branches/people/eroper/automapper/mud/grrmud/server/zone.cc
===================================================================
--- branches/people/eroper/automapper/mud/grrmud/server/zone.cc 2004-12-17 10:26:36 UTC (rev 768)
+++ branches/people/eroper/automapper/mud/grrmud/server/zone.cc 2004-12-17 10:42:14 UTC (rev 769)
@@ -682,6 +682,7 @@
distance, *cur_maproom)) ) {
my_rlist.shift_sw(cur_maproom->x(),
cur_maproom->y(), shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x()+distance;
y = cur_maproom->y()-distance;
@@ -694,6 +695,7 @@
distance, *cur_maproom)) ) {
my_rlist.shift_nw(cur_maproom->x(), cur_maproom->y(),
shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x()+distance;
y = cur_maproom->y()+distance;
@@ -706,6 +708,7 @@
distance, *cur_maproom)) ) {
my_rlist.shift_ne(cur_maproom->x(), cur_maproom->y(),
shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x()-distance;
y = cur_maproom->y()+distance;
@@ -721,6 +724,7 @@
distance, *cur_maproom)) ) {
my_rlist.shift_se(cur_maproom->x(), cur_maproom->y(),
shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x()-distance;
y = cur_maproom->y()-distance;
@@ -732,6 +736,7 @@
if ( (shift_by = my_rlist.collision(maprooms::NORTH,
distance, *cur_maproom)) ) {
my_rlist.shift_s(cur_maproom->y(), shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x();
y = cur_maproom->y()-distance;
@@ -743,6 +748,7 @@
if ( (shift_by = my_rlist.collision(maprooms::SOUTH,
distance, *cur_maproom)) ) {
my_rlist.shift_n(cur_maproom->y(), shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x();
y = cur_maproom->y()+distance;
@@ -754,6 +760,7 @@
if ( (shift_by = my_rlist.collision(maprooms::EAST,
distance, *cur_maproom)) ) {
my_rlist.shift_w(cur_maproom->x(), shift_by);
+ new_maproom.collided(true);
}
x = cur_maproom->x()+distance;
y = cur_maproom->y();
@@ -765,6 +772,7 @@
if ( (shift_by = my_rlist.collision(maprooms::WEST,
distance, *cur_maproom)) ) {
my_rlist.shift_e(cur_maproom->x(), shift_by );
+ new_maproom.collided(true);
}
x = cur_maproom->x()-distance;
y = cur_maproom->y();
@@ -786,6 +794,13 @@
tmp_buf.clear();
+ //note any interesting characteristics about this new room.
+ if ( room_list[new_maproom.num()].isSmallWater() ) {
+ new_maproom.water(true);
+ }
+ if ( room_list[new_maproom.num()].isBigWater() ) {
+ new_maproom.deepwater(true);
+ }
if (
(new_maproom.zone() == zone) ||
@@ -815,13 +830,17 @@
if ( cur_maproom->placeholder() ) {
continue;
}
- Sprintf(tmp_buf, "room %d %d %d %d\n",
+ Sprintf(tmp_buf, "room %d %d %d %d",
cur_maproom->num(),
cur_maproom->x(),
cur_maproom->y(),
cur_maproom->z());
retval.append(tmp_buf);
- }
+ if ( cur_maproom->collided() ) {
+ retval.append(" collided");
+ }
+ retval.append("\n");
+ }//while
maproom *start_rm;
maproom *end_rm;
More information about the ScryMUD
mailing list