summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Howard2008-09-20 21:57:49 +0000
committerSimon Howard2008-09-20 21:57:49 +0000
commit5a32ee7e78697f4b3d94a435c21f6b08a0ae839a (patch)
tree6b55bac17df678ebd164f9861f0501120c2e5a2d /src
parent871d3b3da6c84be394963d1f5a41de12bfc5a2bc (diff)
downloadchocolate-doom-5a32ee7e78697f4b3d94a435c21f6b08a0ae839a.tar.gz
chocolate-doom-5a32ee7e78697f4b3d94a435c21f6b08a0ae839a.tar.bz2
chocolate-doom-5a32ee7e78697f4b3d94a435c21f6b08a0ae839a.zip
Move m_random.[ch] to doom/ (as Hexen uses a different random number
table). Split RNG code out of heretic/m_misc.c to a separate m_random.c. Subversion-branch: /branches/raven-branch Subversion-revision: 1256
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am1
-rw-r--r--src/doom/Makefile.am1
-rw-r--r--src/doom/m_random.c (renamed from src/m_random.c)0
-rw-r--r--src/doom/m_random.h (renamed from src/m_random.h)0
-rw-r--r--src/heretic/Makefile.am1
-rw-r--r--src/heretic/doomdef.h12
-rw-r--r--src/heretic/g_game.c1
-rw-r--r--src/heretic/m_misc.c52
-rw-r--r--src/heretic/m_random.c77
-rw-r--r--src/heretic/m_random.h41
-rw-r--r--src/heretic/p_enemy.c1
-rw-r--r--src/heretic/p_inter.c1
-rw-r--r--src/heretic/p_lights.c1
-rw-r--r--src/heretic/p_map.c1
-rw-r--r--src/heretic/p_mobj.c1
-rw-r--r--src/heretic/p_plats.c1
-rw-r--r--src/heretic/p_pspr.c1
-rw-r--r--src/heretic/p_spec.c1
-rw-r--r--src/heretic/p_user.c1
-rw-r--r--src/heretic/s_sound.c1
-rw-r--r--src/heretic/sb_bar.c1
21 files changed, 132 insertions, 65 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 2c732985..d9dfc326 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,7 +51,6 @@ m_fixed.c m_fixed.h \
m_misc.c m_misc.h \
md5.c md5.h \
memio.c memio.h \
-m_random.c m_random.h \
tables.c tables.h \
v_video.c v_video.h \
v_patch.h \
diff --git a/src/doom/Makefile.am b/src/doom/Makefile.am
index 44162e48..5982721f 100644
--- a/src/doom/Makefile.am
+++ b/src/doom/Makefile.am
@@ -23,6 +23,7 @@ hu_lib.c hu_lib.h \
hu_stuff.c hu_stuff.h \
info.c info.h \
m_menu.c m_menu.h \
+m_random.c m_random.h \
p_ceilng.c \
p_doors.c \
p_enemy.c \
diff --git a/src/m_random.c b/src/doom/m_random.c
index 31cdf1b2..31cdf1b2 100644
--- a/src/m_random.c
+++ b/src/doom/m_random.c
diff --git a/src/m_random.h b/src/doom/m_random.h
index be778362..be778362 100644
--- a/src/m_random.h
+++ b/src/doom/m_random.h
diff --git a/src/heretic/Makefile.am b/src/heretic/Makefile.am
index fa9d2a6f..f5e620b6 100644
--- a/src/heretic/Makefile.am
+++ b/src/heretic/Makefile.am
@@ -17,6 +17,7 @@ g_game.c \
info.c info.h \
in_lude.c \
m_misc.c \
+m_random.c m_random.h \
mn_menu.c \
p_ceilng.c \
p_doors.c \
diff --git a/src/heretic/doomdef.h b/src/heretic/doomdef.h
index dcb208f7..02185536 100644
--- a/src/heretic/doomdef.h
+++ b/src/heretic/doomdef.h
@@ -213,9 +213,6 @@ typedef struct
fixed_t x, y, z;
} degenmobj_t;
-// Most damage defined using HITDICE
-#define HITDICE(a) ((1+(P_Random()&7))*a)
-
//
// frame flags
//
@@ -625,7 +622,6 @@ extern int ticdup;
#define MAXNETNODES 8
extern ticcmd_t localcmds[BACKUPTICS];
-extern int rndindex;
extern int gametic, maketic;
extern int nettics[MAXNETNODES];
@@ -918,14 +914,6 @@ boolean M_ValidEpisodeMap(int episode, int map);
void M_ForceUppercase(char *text);
// Changes a string to uppercase
-int M_Random(void);
-// returns a number from 0 to 255
-int P_Random(void);
-// as M_Random, but used only by the play simulation
-
-void M_ClearRandom(void);
-// fix randoms for demos
-
void M_ClearBox(fixed_t * box);
void M_AddToBox(fixed_t * box, fixed_t x, fixed_t y);
// bounding box functions
diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c
index 1441855b..630f0619 100644
--- a/src/heretic/g_game.c
+++ b/src/heretic/g_game.c
@@ -28,6 +28,7 @@
#include "doomdef.h"
#include "doomkeys.h"
#include "m_misc.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
#include "v_video.h"
diff --git a/src/heretic/m_misc.c b/src/heretic/m_misc.c
index 64ad555f..cd08d8d9 100644
--- a/src/heretic/m_misc.c
+++ b/src/heretic/m_misc.c
@@ -86,58 +86,6 @@ boolean M_ValidEpisodeMap(int episode, int map)
return true;
}
-/*
-===============
-=
-= M_Random
-=
-= Returns a 0-255 number
-=
-===============
-*/
-
-unsigned char rndtable[256] = {
- 0, 8, 109, 220, 222, 241, 149, 107, 75, 248, 254, 140, 16, 66,
- 74, 21, 211, 47, 80, 242, 154, 27, 205, 128, 161, 89, 77, 36,
- 95, 110, 85, 48, 212, 140, 211, 249, 22, 79, 200, 50, 28, 188,
- 52, 140, 202, 120, 68, 145, 62, 70, 184, 190, 91, 197, 152, 224,
- 149, 104, 25, 178, 252, 182, 202, 182, 141, 197, 4, 81, 181, 242,
- 145, 42, 39, 227, 156, 198, 225, 193, 219, 93, 122, 175, 249, 0,
- 175, 143, 70, 239, 46, 246, 163, 53, 163, 109, 168, 135, 2, 235,
- 25, 92, 20, 145, 138, 77, 69, 166, 78, 176, 173, 212, 166, 113,
- 94, 161, 41, 50, 239, 49, 111, 164, 70, 60, 2, 37, 171, 75,
- 136, 156, 11, 56, 42, 146, 138, 229, 73, 146, 77, 61, 98, 196,
- 135, 106, 63, 197, 195, 86, 96, 203, 113, 101, 170, 247, 181, 113,
- 80, 250, 108, 7, 255, 237, 129, 226, 79, 107, 112, 166, 103, 241,
- 24, 223, 239, 120, 198, 58, 60, 82, 128, 3, 184, 66, 143, 224,
- 145, 224, 81, 206, 163, 45, 63, 90, 168, 114, 59, 33, 159, 95,
- 28, 139, 123, 98, 125, 196, 15, 70, 194, 253, 54, 14, 109, 226,
- 71, 17, 161, 93, 186, 87, 244, 138, 20, 52, 123, 251, 26, 36,
- 17, 46, 52, 231, 232, 76, 31, 221, 84, 37, 216, 165, 212, 106,
- 197, 242, 98, 43, 39, 175, 254, 145, 190, 84, 118, 222, 187, 136,
- 120, 163, 236, 249
-};
-int rndindex = 0;
-int prndindex = 0;
-
-int P_Random(void)
-{
- prndindex = (prndindex + 1) & 0xff;
- return rndtable[prndindex];
-}
-
-int M_Random(void)
-{
- rndindex = (rndindex + 1) & 0xff;
- return rndtable[rndindex];
-}
-
-void M_ClearRandom(void)
-{
- rndindex = prndindex = 0;
-}
-
-
void M_ClearBox(fixed_t * box)
{
box[BOXTOP] = box[BOXRIGHT] = INT_MIN;
diff --git a/src/heretic/m_random.c b/src/heretic/m_random.c
new file mode 100644
index 00000000..74dbc2d8
--- /dev/null
+++ b/src/heretic/m_random.c
@@ -0,0 +1,77 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// Copyright(C) 1993-1996 Id Software, Inc.
+// Copyright(C) 1993-2008 Raven Software
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+// 02111-1307, USA.
+//
+//-----------------------------------------------------------------------------
+
+#include "m_random.h"
+
+/*
+===============
+=
+= M_Random
+=
+= Returns a 0-255 number
+=
+===============
+*/
+
+const unsigned int rndtable[256] = {
+ 0, 8, 109, 220, 222, 241, 149, 107, 75, 248, 254, 140, 16, 66,
+ 74, 21, 211, 47, 80, 242, 154, 27, 205, 128, 161, 89, 77, 36,
+ 95, 110, 85, 48, 212, 140, 211, 249, 22, 79, 200, 50, 28, 188,
+ 52, 140, 202, 120, 68, 145, 62, 70, 184, 190, 91, 197, 152, 224,
+ 149, 104, 25, 178, 252, 182, 202, 182, 141, 197, 4, 81, 181, 242,
+ 145, 42, 39, 227, 156, 198, 225, 193, 219, 93, 122, 175, 249, 0,
+ 175, 143, 70, 239, 46, 246, 163, 53, 163, 109, 168, 135, 2, 235,
+ 25, 92, 20, 145, 138, 77, 69, 166, 78, 176, 173, 212, 166, 113,
+ 94, 161, 41, 50, 239, 49, 111, 164, 70, 60, 2, 37, 171, 75,
+ 136, 156, 11, 56, 42, 146, 138, 229, 73, 146, 77, 61, 98, 196,
+ 135, 106, 63, 197, 195, 86, 96, 203, 113, 101, 170, 247, 181, 113,
+ 80, 250, 108, 7, 255, 237, 129, 226, 79, 107, 112, 166, 103, 241,
+ 24, 223, 239, 120, 198, 58, 60, 82, 128, 3, 184, 66, 143, 224,
+ 145, 224, 81, 206, 163, 45, 63, 90, 168, 114, 59, 33, 159, 95,
+ 28, 139, 123, 98, 125, 196, 15, 70, 194, 253, 54, 14, 109, 226,
+ 71, 17, 161, 93, 186, 87, 244, 138, 20, 52, 123, 251, 26, 36,
+ 17, 46, 52, 231, 232, 76, 31, 221, 84, 37, 216, 165, 212, 106,
+ 197, 242, 98, 43, 39, 175, 254, 145, 190, 84, 118, 222, 187, 136,
+ 120, 163, 236, 249
+};
+
+int rndindex = 0;
+int prndindex = 0;
+
+int P_Random(void)
+{
+ prndindex = (prndindex + 1) & 0xff;
+ return rndtable[prndindex];
+}
+
+int M_Random(void)
+{
+ rndindex = (rndindex + 1) & 0xff;
+ return rndtable[rndindex];
+}
+
+void M_ClearRandom(void)
+{
+ rndindex = prndindex = 0;
+}
+
diff --git a/src/heretic/m_random.h b/src/heretic/m_random.h
new file mode 100644
index 00000000..66fad6cb
--- /dev/null
+++ b/src/heretic/m_random.h
@@ -0,0 +1,41 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// Copyright(C) 1993-1996 Id Software, Inc.
+// Copyright(C) 1993-2008 Raven Software
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+// 02111-1307, USA.
+//
+//-----------------------------------------------------------------------------
+
+#ifndef HERETIC_M_RANDOM_H
+#define HERETIC_M_RANDOM_H
+
+// Most damage defined using HITDICE
+#define HITDICE(a) ((1+(P_Random()&7))*a)
+
+int M_Random(void);
+// returns a number from 0 to 255
+int P_Random(void);
+// as M_Random, but used only by the play simulation
+
+void M_ClearRandom(void);
+// fix randoms for demos
+
+extern int rndindex;
+
+#endif // HERETIC_M_RANDOM_H
+
diff --git a/src/heretic/p_enemy.c b/src/heretic/p_enemy.c
index f6782d05..59c5a981 100644
--- a/src/heretic/p_enemy.c
+++ b/src/heretic/p_enemy.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
#include "v_video.h"
diff --git a/src/heretic/p_inter.c b/src/heretic/p_inter.c
index 82225c7c..f935ecea 100644
--- a/src/heretic/p_inter.c
+++ b/src/heretic/p_inter.c
@@ -24,6 +24,7 @@
// P_inter.c
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
diff --git a/src/heretic/p_lights.c b/src/heretic/p_lights.c
index fb5942d6..2c3dc695 100644
--- a/src/heretic/p_lights.c
+++ b/src/heretic/p_lights.c
@@ -21,6 +21,7 @@
//
//-----------------------------------------------------------------------------
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "v_video.h"
diff --git a/src/heretic/p_map.c b/src/heretic/p_map.c
index 4a61beae..6e98830e 100644
--- a/src/heretic/p_map.c
+++ b/src/heretic/p_map.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
diff --git a/src/heretic/p_mobj.c b/src/heretic/p_mobj.c
index 6daef71b..427a6238 100644
--- a/src/heretic/p_mobj.c
+++ b/src/heretic/p_mobj.c
@@ -24,6 +24,7 @@
// P_mobj.c
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "sounds.h"
#include "s_sound.h"
diff --git a/src/heretic/p_plats.c b/src/heretic/p_plats.c
index 9d3b99e6..2cd706d8 100644
--- a/src/heretic/p_plats.c
+++ b/src/heretic/p_plats.c
@@ -24,6 +24,7 @@
// P_plats.c
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
#include "v_video.h"
diff --git a/src/heretic/p_pspr.c b/src/heretic/p_pspr.c
index 7ded5b26..10666ff3 100644
--- a/src/heretic/p_pspr.c
+++ b/src/heretic/p_pspr.c
@@ -24,6 +24,7 @@
// P_pspr.c
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
diff --git a/src/heretic/p_spec.c b/src/heretic/p_spec.c
index 469937c1..9ccd7b17 100644
--- a/src/heretic/p_spec.c
+++ b/src/heretic/p_spec.c
@@ -24,6 +24,7 @@
// P_Spec.c
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
#include "v_video.h"
diff --git a/src/heretic/p_user.c b/src/heretic/p_user.c
index 3c880b88..676b67a7 100644
--- a/src/heretic/p_user.c
+++ b/src/heretic/p_user.c
@@ -26,6 +26,7 @@
#include <stdlib.h>
#include "doomdef.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
diff --git a/src/heretic/s_sound.c b/src/heretic/s_sound.c
index 2a53c314..baed0dde 100644
--- a/src/heretic/s_sound.c
+++ b/src/heretic/s_sound.c
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include "doomdef.h"
+#include "m_random.h"
#include "sounds.h"
#include "s_sound.h"
#include "i_sound.h"
diff --git a/src/heretic/sb_bar.c b/src/heretic/sb_bar.c
index 02608ae7..09fd82c5 100644
--- a/src/heretic/sb_bar.c
+++ b/src/heretic/sb_bar.c
@@ -25,6 +25,7 @@
#include "doomdef.h"
#include "i_video.h"
+#include "m_random.h"
#include "p_local.h"
#include "s_sound.h"
#include "v_video.h"