rendered paste bodyIndex: src/qcommon/cmodel.c===================================================================--- src/qcommon/cmodel.c (Revision 10006)+++ src/qcommon/cmodel.c (Arbeitskopie)@@ -130,9 +130,9 @@ * 0x20 0010 0000 connection to -x (height ignored?) * 0x40 0100 0000 connection to +y (height ignored?) * 0x80 1000 0000 connection to -y (height ignored?)- *+ * * See "h = map->route[z][y][x] & 0x0F;" and "if (map->route[az][ay][ax] & 0x0F) > h)" in CM_TestConnection- * 0x0F 0000 1111 some height info?+ * 0x0F 0000 1111 some height info? * * FALL * Information about how much you'll fall down from x,y position?@@ -140,7 +140,7 @@ * See "while (map->fall[ny][nx] & (1 << z)) z--;" in Grid_MoveMark * * STEP- *+ * * 0000 0000 * Each bit SEEMS (!) to represent an info about one height (z) level (at position x,y) * Access with "step[y][x] & (1 << z)"@@ -2496,7 +2496,7 @@ * @return qtrue if the field is in the forbidden list and one can't walk there, otehrwise qfalse. * @todo Extend to support 2x2 units such as UGVs. See also Grid_MoveCalc. */-static qboolean Grid_CheckForbidden (struct routing_s * map, int x, int y, int z)+static qboolean Grid_CheckForbidden (struct routing_s * map, int x, int y, int z, int size) { byte **p; int i;@@ -2519,7 +2519,7 @@ * @param[in] ol * @sa Grid_CheckForbidden */-static void Grid_MoveMark (struct routing_s *map, int x, int y, int z, int dv, int h, int ol)+static void Grid_MoveMark (struct routing_s *map, int x, int y, int z, int dv, int h, int ol, int size) { int nx, ny, sh, l; int dx, dy;@@ -2543,7 +2543,7 @@ if (dy < 0 && !(map->route[z][y][x] & 0x80)) return; if (dv > 3 && !((map->route[z][y + dy][x] & (dx > 0 ? 0x10 : 0x20)) && (map->route[z][y][x + dx] & (dy > 0 ? 0x40 : 0x80))- && !Grid_CheckForbidden(map, x, y + dy, z) && !Grid_CheckForbidden(map, x + dx, y, z)))+ && !Grid_CheckForbidden(map, x, y + dy, z, size) && !Grid_CheckForbidden(map, x + dx, y, z, size))) return; /* height checks */@@ -2557,7 +2557,7 @@ return; /* test for forbidden areas */- if (Grid_CheckForbidden(map, nx, ny, z))+ if (Grid_CheckForbidden(map, nx, ny, z, size)) return; /* store move */@@ -2572,10 +2572,10 @@ * @param[in] xl * @param[in] yl * @param[in] xh- * @param[in] xh- * @sa Grid_MoveMark+ * @param[in] xh+ * @sa Grid_MoveMark */-static void Grid_MoveMarkRoute (struct routing_s *map, int xl, int yl, int xh, int yh)+static void Grid_MoveMarkRoute (struct routing_s *map, int xl, int yl, int xh, int yh, int size) { int x, y, z, h; int dv, l;@@ -2595,7 +2595,7 @@ /* test the next connections */ for (dv = 0; dv < DIRECTIONS; dv++)- Grid_MoveMark(map, x, y, z, dv, h, l);+ Grid_MoveMark(map, x, y, z, dv, h, l, size); } }@@ -2612,7 +2612,7 @@ * @sa G_MoveCalc * @todo size is unused right now - this needs to change (2x2 units) */-void Grid_MoveCalc (struct routing_s *map, pos3_t from, int size, int distance, byte ** fb_list, int fb_length)+void Grid_MoveCalc (struct routing_s *map, pos3_t from, int size, int distance, byte ** fb_list, int fb_length, int size) { int xl, xh, yl, yh; int i;@@ -2647,7 +2647,7 @@ if (yh < WIDTH - 1) yh++;- Grid_MoveMarkRoute(map, xl, yl, xh, yh);+ Grid_MoveMarkRoute(map, xl, yl, xh, yh, size); /* swap test flag */ stf = tf;Index: src/game/game.h===================================================================--- src/game/game.h (Revision 10006)+++ src/game/game.h (Arbeitskopie)@@ -157,7 +157,7 @@ int (IMPORT *TestLine) (vec3_t start, vec3_t stop); float (IMPORT *GrenadeTarget) (vec3_t from, vec3_t at, float speed, qboolean launched, qboolean rolled, vec3_t v0);- void (IMPORT *MoveCalc) (struct routing_s * map, pos3_t from, int size, int distance, byte ** fb_list, int fb_length);+ void (IMPORT *MoveCalc) (struct routing_s * map, pos3_t from, int size, int distance, byte ** fb_list, int fb_length, int size); void (IMPORT *MoveStore) (struct routing_s * map); int (IMPORT *MoveLength) (struct routing_s * map, pos3_t to, qboolean stored); int (IMPORT *MoveNext) (struct routing_s * map, pos3_t from);Index: src/client/cl_menu.c===================================================================--- src/client/cl_menu.c (Revision 10006)+++ src/client/cl_menu.c (Arbeitskopie)@@ -2079,6 +2079,7 @@ const char* oldFont = NULL; char *cur, *tab, *end; int x1, y1; /* variable x and y position */+ const int scrollbarWidth = 20; Q_strncpyz(textCopy, text, MAX_MENUTEXTLEN); cur = textCopy;@@ -2135,7 +2136,7 @@ /*Com_Printf("tab - first part - node->textLines: %i \n", node->textLines);*/ if (node) node->textLines++;- re.FontDrawString(font, node->align, x1, y1, x, y, width, height, node->texh[0], cur, node->height, node->textScroll, &node->textLines, qfalse);+ re.FontDrawString(font, node->align, x1, y1, x, y, width - scrollbarWidth, height, node->texh[0], cur, node->height, node->textScroll, &node->textLines, qfalse); if (node) node->textLines--; /* increase the x value as given via menu definition format string */@@ -2150,7 +2151,7 @@ /*Com_Printf("until newline - node->textLines: %i\n", node->textLines);*/ /* the conditional expression at the end is a hack to draw "/n/n" as a blank line */- lineHeight = re.FontDrawString(font, node->align, x1, y1, x, y, width, height, node->texh[0], (*cur ? cur : " "), node->height, node->textScroll, &node->textLines, qtrue);+ lineHeight = re.FontDrawString(font, node->align, x1, y1, x, y, width - scrollbarWidth, height, node->texh[0], (*cur ? cur : " "), node->height, node->textScroll, &node->textLines, qtrue); if (lineHeight > 0) y1 += lineHeight;Index: src/client/cl_actor.c===================================================================--- src/client/cl_actor.c (Revision 10006)+++ src/client/cl_actor.c (Arbeitskopie)@@ -1969,7 +1969,7 @@ if (!(le->state & STATE_DEAD) && (le->type == ET_ACTOR || le->type == ET_UGV)) { /* draw blocking cursor at le->pos */- Grid_PosToVec(&clMap, le->pos, s);+ Grid_PosToVec(&clMap, le->pos, s); ptl = CL_ParticleSpawn("cross", 0, s, NULL, NULL); ptl->rounds = 2; ptl->roundsCnt = 2;