Commit 669f3410 authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:moecube/ygopro-core into develop

parents dc4501ae 16c1bc32
......@@ -550,6 +550,7 @@ const std::map<uint64_t, uint64_t> category_checklist{
#define EFFECT_XYZ_MIN_COUNT 372
#define EFFECT_SYNCHRO_LEVEL_EX 373
#define EFFECT_RITUAL_LEVEL_EX 374
#define EFFECT_DOUBLE_XMATERIAL 375
//#define EVENT_STARTUP 1000
#define EVENT_FLIP 1001
......
......@@ -59,24 +59,25 @@ public:
return l + (int)(x % range);
}
// N % k == (N - k) % k, discard the leftmost numbers
// N % k = (N - k) % k = (-k) % k
// discard (N % range) numbers from the left end so that it is a multiple of range
#pragma warning(disable:4146)
int get_random_integer_v2(int l, int h) {
uint32_t range = (h - l + 1);
#pragma warning(disable:4146)
uint32_t bound = -range % range;
#pragma warning(default:4146)
auto x = rng();
while (x < bound) {
x = rng();
}
return l + (int)(x % range);
}
#pragma warning(default:4146)
// Fisher-Yates shuffle [first, last)
template<typename T>
void shuffle_vector(std::vector<T>& v, int first = 0, int last = INT32_MAX, int version = 2) {
if ((size_t)last > v.size())
last = v.size();
last = (int)v.size();
auto distribution = &mtrandom::get_random_integer_v2;
if (version == 1)
distribution = &mtrandom::get_random_integer_v1;
......
......@@ -80,7 +80,6 @@ include(LUA_DIR)
project "ocgcore"
kind "SharedLib"
cppdialect "C++14"
files { "*.cpp", "*.h" }
links { "lua" }
......
project "ocgcore"
kind "StaticLib"
cppdialect "C++14"
files { "*.cpp", "*.h" }
......@@ -10,6 +9,9 @@ project "ocgcore"
includedirs { LUA_INCLUDE_DIR }
end
filter "not action:vs*"
cppdialect "C++14"
filter "system:bsd"
defines { "LUA_USE_POSIX" }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment