summaryrefslogtreecommitdiffstats
path: root/src/jake2/qcommon/CM.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jake2/qcommon/CM.java')
-rw-r--r--src/jake2/qcommon/CM.java157
1 files changed, 43 insertions, 114 deletions
diff --git a/src/jake2/qcommon/CM.java b/src/jake2/qcommon/CM.java
index 907098c..4635351 100644
--- a/src/jake2/qcommon/CM.java
+++ b/src/jake2/qcommon/CM.java
@@ -19,7 +19,9 @@
*/
// Created on 02.01.2004 by RST.
-// $Id: CM.java,v 1.10 2005-02-06 19:25:14 salomo Exp $
+
+// $Id: CM.java,v 1.11 2005-12-03 19:44:40 salomo Exp $
+
package jake2.qcommon;
import jake2.Defines;
@@ -101,7 +103,7 @@ public class CM {
static int numplanes;
- // extra for box hull ( +6)
+ /** Extra for box hull ( +6) */
static cplane_t map_planes[] = new cplane_t[Defines.MAX_MAP_PLANES + 6];
static {
@@ -111,7 +113,7 @@ public class CM {
static int numnodes;
- // extra for box hull ( +6)
+ /** Extra for box hull ( +6) */
static cnode_t map_nodes[] = new cnode_t[Defines.MAX_MAP_NODES + 6];
static {
@@ -131,7 +133,6 @@ public class CM {
static int numleafbrushes;
- //static unsigned short map_leafbrushes[Defines.MAX_MAP_LEAFBRUSHES];
public static int map_leafbrushes[] = new int[Defines.MAX_MAP_LEAFBRUSHES];
public static int numcmodels;
@@ -156,8 +157,7 @@ public class CM {
public static byte map_visibility[] = new byte[Defines.MAX_MAP_VISIBILITY];
- // main visibility data. rst
- // was: static dvis_t *map_vis = (dvis_t *)map_visibility;
+ /** Main visibility data. */
public static qfiles.dvis_t map_vis = new qfiles.dvis_t(ByteBuffer
.wrap(map_visibility));
@@ -194,25 +194,14 @@ public class CM {
public static cvar_t map_noareas;
- /*
- * ===============================================================================
- *
- * MAP LOADING
- *
- * ===============================================================================
- */
-
public static byte cmod_base[];
- // is that right (rst) ?
public static int checksum;
public static int last_checksum;
- /*
- * ================== CM_LoadMap
- *
- * Loads in the map and all submodels ==================
+ /**
+ * Loads in the map and all submodels.
*/
public static cmodel_t CM_LoadMap(String name, boolean clientload,
int checksum[]) {
@@ -303,20 +292,10 @@ public class CM {
map_name = name;
- // debug (rst)
- /*
- * Com.p("Testing pointleafes:"); for (int n = 0; n < 20; n++) { float
- * pos[] = new float[] {(float) (Math.random() * 1000), (float)
- * (Math.random() * 1000), 0 }; int x = CM_PointLeafnum(pos);
- * Com.p(Lib.vtofsbeaty(pos) + " ---> leaf=" + x + " area = "
- * +map_leafs[x].area); }
- */
return map_cmodels[0];
}
- /*
- * ================= CMod_LoadSubmodels =================
- */
+ /** Loads Submodels. */
public static void CMod_LoadSubmodels(lump_t l) {
Com.DPrintf("CMod_LoadSubmodels()\n");
qfiles.dmodel_t in;
@@ -366,9 +345,7 @@ public class CM {
static boolean debugloadmap = false;
- /*
- * ================= CMod_LoadSurfaces =================
- */
+ /** Loads surfaces. */
public static void CMod_LoadSurfaces(lump_t l) {
Com.DPrintf("CMod_LoadSurfaces()\n");
texinfo_t in;
@@ -408,11 +385,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadNodes
- *
- * =================
- */
+ /** Loads nodes. */
public static void CMod_LoadNodes(lump_t l) {
Com.DPrintf("CMod_LoadNodes()\n");
qfiles.dnode_t in;
@@ -454,11 +427,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadBrushes
- *
- * =================
- */
+ /** Loads brushes.*/
public static void CMod_LoadBrushes(lump_t l) {
Com.DPrintf("CMod_LoadBrushes()\n");
qfiles.dbrush_t in;
@@ -495,9 +464,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadLeafs =================
- */
+ /** Loads leafs. */
public static void CMod_LoadLeafs(lump_t l) {
Com.DPrintf("CMod_LoadLeafs()\n");
int i;
@@ -565,9 +532,7 @@ public class CM {
Com.Error(Defines.ERR_DROP, "Map does not have an empty leaf");
}
- /*
- * ================= CMod_LoadPlanes =================
- */
+ /** Loads planes. */
public static void CMod_LoadPlanes(lump_t l) {
Com.DPrintf("CMod_LoadPlanes()\n");
int i, j;
@@ -623,9 +588,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadLeafBrushes =================
- */
+ /** Loads leaf brushes. */
public static void CMod_LoadLeafBrushes(lump_t l) {
Com.DPrintf("CMod_LoadLeafBrushes()\n");
int i;
@@ -665,9 +628,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadBrushSides =================
- */
+ /** Loads brush sides. */
public static void CMod_LoadBrushSides(lump_t l) {
Com.DPrintf("CMod_LoadBrushSides()\n");
int i, j;
@@ -708,9 +669,7 @@ public class CM {
if (j >= numtexinfo)
Com.Error(Defines.ERR_DROP, "Bad brushside texinfo");
- // rst: some mysterious happens here, even in the original code ???,
- // texinfo is -1!!!
- // hoz: checked against c version: ok.
+ // java specific handling of -1
if (j == -1)
out.surface = new mapsurface_t(); // just for safety
else
@@ -722,9 +681,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadAreas =================
- */
+ /** Loads areas. */
public static void CMod_LoadAreas(lump_t l) {
Com.DPrintf("CMod_LoadAreas()\n");
int i;
@@ -764,9 +721,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadAreaPortals =================
- */
+ /** Loads area portals. */
public static void CMod_LoadAreaPortals(lump_t l) {
Com.DPrintf("CMod_LoadAreaPortals()\n");
int i;
@@ -803,9 +758,7 @@ public class CM {
}
}
- /*
- * ================= CMod_LoadVisibility =================
- */
+ /** Loads visibility data. */
public static void CMod_LoadVisibility(lump_t l) {
Com.DPrintf("CMod_LoadVisibility()\n");
int i;
@@ -826,9 +779,7 @@ public class CM {
}
- /*
- * ================= CMod_LoadEntityString =================
- */
+ /** Loads entity strings. */
public static void CMod_LoadEntityString(lump_t l) {
Com.DPrintf("CMod_LoadEntityString()\n");
@@ -846,11 +797,7 @@ public class CM {
map_entitystring.length(), 15)) + "...]" );
}
- /*
- * ================== CM_InlineModel ==================
- */
-
- // works fine
+ /** Returns the model with a given id "*" + <number> */
public static cmodel_t InlineModel(String name) {
int num;
@@ -895,8 +842,6 @@ public class CM {
return map_leafs[leafnum].area;
}
- //=======================================================================
-
static cplane_t box_planes[];
static int box_headnode;
@@ -905,12 +850,8 @@ public class CM {
static cleaf_t box_leaf;
- /*
- * =================== CM_InitBoxHull
- *
- * Set up the planes and nodes so that the six floats of a bounding box can
+ /** Set up the planes and nodes so that the six floats of a bounding box can
* just be stored out and get a proper clipping hull structure.
- * ===================
*/
public static void CM_InitBoxHull() {
int i;
@@ -919,7 +860,7 @@ public class CM {
cplane_t p;
cbrushside_t s;
- box_headnode = numnodes; // noch platz f?r 6 brushes
+ box_headnode = numnodes; //rst: still room for 6 brushes left?
box_planes = new cplane_t[] { map_planes[numplanes],
map_planes[numplanes + 1], map_planes[numplanes + 2],
@@ -980,12 +921,8 @@ public class CM {
}
}
- /*
- * =================== CM_HeadnodeForBox
- *
- * To keep everything totally uniform, bounding boxes are turned into small
- * BSP trees instead of being compared directly. ===================
- */
+ /** To keep everything totally uniform, bounding boxes are turned into small
+ * BSP trees instead of being compared directly. */
public static int HeadnodeForBox(float[] mins, float[] maxs) {
box_planes[0].dist = maxs[0];
box_planes[1].dist = -maxs[0];
@@ -1003,10 +940,8 @@ public class CM {
return box_headnode;
}
- /*
- * ================== CM_PointLeafnum_r ==================
- */
- public static int CM_PointLeafnum_r(float[] p, int num) {
+ /** Recursively searches the leaf number that contains the 3d point. */
+ private static int CM_PointLeafnum_r(float[] p, int num) {
float d;
cnode_t node;
cplane_t plane;
@@ -1030,26 +965,25 @@ public class CM {
return -1 - num;
}
+ /** Searches the leaf number that contains the 3d point. */
public static int CM_PointLeafnum(float[] p) {
+ // sound may call this without map loaded
if (numplanes == 0)
- return 0; // sound may call this without map loaded
+ return 0;
return CM_PointLeafnum_r(p, 0);
}
- /*
- * ============= CM_BoxLeafnums
- *
- * Fills in a list of all the leafs touched =============
- */
- static int leaf_count, leaf_maxcount;
- static int leaf_list[];
+ private static int leaf_count, leaf_maxcount;
- static float leaf_mins[], leaf_maxs[];
+ private static int leaf_list[];
- static int leaf_topnode;
+ private static float leaf_mins[], leaf_maxs[];
- public static void CM_BoxLeafnums_r(int nodenum) {
+ private static int leaf_topnode;
+
+ /** Recursively fills in a list of all the leafs touched. */
+ private static void CM_BoxLeafnums_r(int nodenum) {
cplane_t plane;
cnode_t node;
int s;
@@ -1057,8 +991,7 @@ public class CM {
while (true) {
if (nodenum < 0) {
if (leaf_count >= leaf_maxcount) {
- //TODO: here is still an error.
- //Com.DPrintf("CM_BoxLeafnums_r: overflow\n");
+ Com.DPrintf("CM_BoxLeafnums_r: overflow\n");
return;
}
leaf_list[leaf_count++] = -1 - nodenum;
@@ -1084,7 +1017,8 @@ public class CM {
}
}
- public static int CM_BoxLeafnums_headnode(float[] mins, float[] maxs,
+ /** Fills in a list of all the leafs touched and starts with the head node. */
+ private static int CM_BoxLeafnums_headnode(float[] mins, float[] maxs,
int list[], int listsize, int headnode, int topnode[]) {
leaf_list = list;
leaf_count = 0;
@@ -1102,19 +1036,14 @@ public class CM {
return leaf_count;
}
+ /** Fills in a list of all the leafs touched. */
public static int CM_BoxLeafnums(float[] mins, float[] maxs, int list[],
int listsize, int topnode[]) {
return CM_BoxLeafnums_headnode(mins, maxs, list, listsize,
map_cmodels[0].headnode, topnode);
}
- /*
- * public static class intwrap1 { public intwrap(int i) { this.i = i; }
- * public int i; }
- */
- /*
- * ================== CM_PointContents ==================
- */
+ /** Returns a tag that describes the content of the point. */
public static int PointContents(float[] p, int headnode) {
int l;