/* ** Command & Conquer Red Alert(tm) ** Copyright 2025 Electronic Arts Inc. ** ** 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 3 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, see . */ /*************************************************************************** ** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S ** *************************************************************************** * * * Project Name : LIBRARY * * * * File Name : IRANDOM.C * * * * Programmer : Barry W. Green * * * * Last Update : 10 Feb, 1995 [BWG] * * * *-------------------------------------------------------------------------* * Functions: * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #include #include #include "misc.h" /* IRANDOM ---------------------------------------------------------- IRandom returns a random value between min and max inclusive. INPUTS: int min and int max RETURNS: int random number */ int IRandom(int minval, int maxval) { int num,mask; // Keep minval and maxval straight. if (minval > maxval) { minval ^= maxval; maxval ^= minval; minval ^= maxval; } mask = Get_Random_Mask(maxval - minval); while( (num = (rand() & mask) + minval) > maxval ) ; return(num); }