ScummVM API documentation
qd_rnd.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef QDENGINE_QDCORE_QD_RND_H
23#define QDENGINE_QDCORE_QD_RND_H
24
25#include "qdengine/qdengine.h"
26
27namespace QDEngine {
28
30inline uint32 qd_rnd(uint32 m) {
31 if (!m)
32 return 0;
33
34 return g_engine->getRandomNumber(m - 1);
35}
37inline float qd_frnd(float x) {
38 return (float)(qd_rnd(0x7fff) * 2 - 0x7fff) * x / (float)0x7fff;
39}
41inline float qd_fabs_rnd(float x) {
42 return (float)qd_rnd(0x7fff) * x / (float)0x7fff;
43}
44
45inline void qd_rnd_init(int seed = 83) {
46 g_engine->setSeed(seed);
47}
48
49
50} // namespace QDEngine
51
52#endif // QDENGINE_QDCORE_QD_RND_H
Базовый класс для игровых ресурсов.
Definition: console.h:28
float qd_fabs_rnd(float x)
Возвращает случайное значение в интервале [0, x].
Definition: qd_rnd.h:41
float qd_frnd(float x)
Возвращает случайное значение в интервале [-x, x].
Definition: qd_rnd.h:37
uint32 qd_rnd(uint32 m)
Возвращает случайное значение в интервале [0, m-1].
Definition: qd_rnd.h:30