#ifdef RNG_DEVICE
FILE *fp = fopen(RNG_DEVICE, "r");
+ int n;
do {
- fread(Rand_state, sizeof(Rand_state[0]), 4, fp);
- } while ((Rand_state[0] | Rand_state[1] | Rand_state[2] | Rand_state[3]) == 0);
+ n = fread(Rand_state, sizeof(Rand_state[0]), 4, fp);
+ } while (n != 4 || (Rand_state[0] | Rand_state[1] | Rand_state[2] | Rand_state[3]) == 0);
fclose(fp);
/*
* Generates damage for "2d6" style dice rolls
*/
-s16b damroll(int num, int sides)
+s16b damroll(DICE_NUMBER num, DICE_SID sides)
{
int i, sum = 0;
for (i = 0; i < num; i++) sum += randint1(sides);
/*
* Same as above, but always maximal
*/
-s16b maxroll(int num, int sides)
+s16b maxroll(DICE_NUMBER num, DICE_SID sides)
{
return (num * sides);
}
* "external" program parts like the main-*.c files. It preserves
* the current RNG state to prevent influences on game-play.
*
- * Could also use rand() from <stdlib.h> directly. XXX XXX XXX
+ * Could also use rand() from <stdlib.h> directly.
*/
s32b Rand_external(s32b m)
{