DREAMWEB: Simplify some uses of randomNumber()

Our random number generator isn't restricted to producing numbers
between 0 and 255. We can just ask it for the desired range.
This commit is contained in:
Torbjörn Andersson 2012-03-03 13:55:04 +01:00
parent 1098e6b79a
commit 261fc2f4be
4 changed files with 8 additions and 16 deletions

View file

@ -320,7 +320,7 @@ void DreamWebEngine::randomAccess(uint16 count) {
for (uint16 i = 0; i < count; ++i) {
vSync();
vSync();
uint16 v = randomNumber() & 15;
uint16 v = _rnd.getRandomNumber(15);
if (v < 10)
accessLightOff();
else

View file

@ -262,7 +262,7 @@ void DreamWebEngine::gamer(ReelRoutine &routine) {
if (checkSpeed(routine)) {
uint8 v;
do {
v = 20 + randomNumber() % 5;
v = _rnd.getRandomNumberRng(20, 24);
} while (v == routine.reelPointer());
routine.setReelPointer(v);
}

View file

@ -104,8 +104,8 @@ void DreamWebEngine::splitIntoLines(uint8 x, uint8 y) {
}
rain.size = length;
rain.w3 = (randomNumber() << 8) | randomNumber();
rain.b5 = (randomNumber() & 3) + 4;
rain.w3 = _rnd.getRandomNumber(65535);
rain.b5 = _rnd.getRandomNumberRng(4, 7);
_rainList.push_back(rain);
} while (x > 0 && y < _mapYSize);
}
@ -170,11 +170,7 @@ void DreamWebEngine::initRain() {
// start lines of rain from top of screen
uint8 x = 4;
do {
uint8 delta;
do {
delta = (randomNumber() & 31) + 3;
} while (delta >= rainSpacing);
uint8 delta = _rnd.getRandomNumberRng(3, rainSpacing - 1);
x += delta;
if (x >= _mapXSize)
break;
@ -185,11 +181,7 @@ void DreamWebEngine::initRain() {
// start lines of rain from side of screen
uint8 y = 0;
do {
uint8 delta;
do {
delta = (randomNumber() & 31) + 3;
} while (delta >= rainSpacing);
uint8 delta = _rnd.getRandomNumberRng(3, rainSpacing - 1);
y += delta;
if (y >= _mapYSize)
break;

View file

@ -263,8 +263,8 @@ void DreamWebEngine::constant(Sprite *sprite, SetObject *objData) {
}
void DreamWebEngine::randomSprite(Sprite *sprite, SetObject *objData) {
uint8 r = randomNumber();
sprite->frameNumber = objData->frames[r&7];
uint8 r = _rnd.getRandomNumber(7);
sprite->frameNumber = objData->frames[r];
}
void DreamWebEngine::doorway(Sprite *sprite, SetObject *objData) {