don't pointlessly use Random_Range with 0 min, use Random_Next instead

This commit is contained in:
UnknownShadow200 2019-08-02 22:15:03 +10:00
parent 15079ee79f
commit aa345a5c5f
6 changed files with 31 additions and 13 deletions

View File

@ -569,7 +569,7 @@ static struct Sound* Soundboard_PickRandom(struct Soundboard* board, uint8_t typ
group = Soundboard_Find(board, &name);
if (!group) return NULL;
idx = Random_Range(&board->Rnd, 0, group->Count);
idx = Random_Next(&board->Rnd, group->Count);
return &group->Sounds[idx];
}
@ -840,7 +840,7 @@ static void Music_RunLoop(void) {
Audio_Open(&music_out, AUDIO_MAX_BUFFERS);
while (!music_pendingStop && count) {
idx = Random_Range(&rnd, 0, count);
idx = Random_Next(&rnd, count);
file = StringsBuffer_UNSAFE_Get(&files, musicFiles[idx]);
String_InitArray(path, pathBuffer);
@ -860,7 +860,7 @@ static void Music_RunLoop(void) {
if (res) { Logger_Warn2(res, "closing", &path); break; }
if (music_pendingStop) break;
delay = 1000 * 120 + Random_Range(&rnd, 0, 1000 * 300);
delay = 120 * 1000 + Random_Next(&rnd, 300 * 1000);
Waitable_WaitFor(music_waitable, delay);
}

View File

@ -977,6 +977,9 @@ void Http_UrlEncodeUtf8(String* dst, const String* src) {
*-----------------------------------------------------Http component------------------------------------------------------*
*#########################################################################################################################*/
static void Http_Init(void) {
#ifdef CC_BUILD_ANDROID
if (workerThread) return;
#endif
ScheduledTask_Add(30, Http_CleanCacheTask);
RequestList_Init(&pendingReqs);
RequestList_Init(&processedReqs);

View File

@ -419,7 +419,7 @@ void Particles_BreakBlockEffect(IVec3 coords, BlockID old, BlockID now) {
p->rec = rec;
p->texLoc = loc;
p->block = old;
type = Random_Range(&rnd, 0, 30);
type = Random_Next(&rnd, 30);
p->base.size = (uint8_t)(type >= 28 ? 12 : (type >= 25 ? 10 : 8));
}
}
@ -447,7 +447,7 @@ void Particles_RainSnowEffect(Vec3 pos) {
Vec3_Add(&pos, &origin, &offset);
Particle_Reset(&p->base, pos, velocity, 40.0f);
type = Random_Range(&rnd, 0, 30);
type = Random_Next(&rnd, 30);
p->base.size = (uint8_t)(type >= 28 ? 2 : (type >= 25 ? 4 : 3));
}
}

View File

@ -1126,7 +1126,7 @@ static void Font_DirCallback(const String* path, void* obj) {
/* Completely skip windows .FON files */
if (String_CaselessEnds(path, &fonExt)) return;
/* If font is already known good, skip it */
/* If font is already known, skip it */
for (i = 0; i < font_list.entries.count; i++) {
entry = StringsBuffer_UNSAFE_Get(&font_list.entries, i);
String_UNSAFE_Separate(&entry, font_list.separator, &name, &value);

View File

@ -2274,7 +2274,7 @@ static int TextGroupWidget_NextUrl(char* chars, int charsLen, int i) {
return charsLen;
}
static int TextGroupWidget_UrlEnd(char* chars, int charsLen, int32_t* begs, int begsLen, int i) {
static int TextGroupWidget_UrlEnd(char* chars, int charsLen, int* begs, int begsLen, int i) {
int start = i, j;
int next, left;
bool isBeg;

View File

@ -2772,7 +2772,7 @@ static void Window_RefreshBounds(void) {
Event_RaiseVoid(&WindowEvents.Resized);
}
static Key Window_MapKey(int32_t code) {
static Key Window_MapKey(int code) {
if (code >= AKEYCODE_0 && code <= AKEYCODE_9) return (code - AKEYCODE_0) + '0';
if (code >= AKEYCODE_A && code <= AKEYCODE_Z) return (code - AKEYCODE_A) + 'A';
if (code >= AKEYCODE_F1 && code <= AKEYCODE_F12) return (code - AKEYCODE_F1) + KEY_F1;
@ -3056,7 +3056,7 @@ void Window_DrawFramebuffer(Rect2D r) {
uint32_t* src;
uint32_t* dst;
ARect b;
int32_t y, res, size;
int y, res, size;
Platform_LogConst("DRAW_RAW");
/* window not created yet */
@ -3070,9 +3070,9 @@ void Window_DrawFramebuffer(Rect2D r) {
if (res) Logger_Abort2(res, "Locking window pixels");
Platform_Log4("ADJUS: %i,%i - %i,%i", &b.left, &b.top, &b.right, &b.bottom);
int32_t width = ANativeWindow_getWidth(win_handle);
int32_t height = ANativeWindow_getHeight(win_handle);
int32_t format = ANativeWindow_getFormat(win_handle);
int width = ANativeWindow_getWidth(win_handle);
int height = ANativeWindow_getHeight(win_handle);
int format = ANativeWindow_getFormat(win_handle);
Platform_Log3("WIN SIZE: %i,%i %i", &width, &height, &format);
Platform_Log4("BUF SIZE: %i,%i %i/%i", &buffer.width, &buffer.height, &buffer.format, &buffer.stride);
@ -3562,10 +3562,13 @@ static EGLint ctx_numConfig;
static void GLContext_InitSurface(void) {
if (!win_handle) return; /* window not created or lost */
ctx_surface = eglCreateWindowSurface(ctx_display, ctx_config, win_handle, NULL);
if (!ctx_surface) return;
eglMakeCurrent(ctx_display, ctx_surface, ctx_surface, ctx_context);
}
static void GLContext_FreeSurface(void) {
if (!ctx_surface) return;
eglMakeCurrent(ctx_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
eglDestroySurface(ctx_display, ctx_surface);
ctx_surface = NULL;
@ -3602,6 +3605,7 @@ void GLContext_Update(void) {
}
bool GLContext_TryRestore(void) {
GLContext_FreeSurface();
GLContext_InitSurface();
return ctx_surface != NULL;
}
@ -3617,8 +3621,19 @@ void* GLContext_GetAddress(const char* function) {
}
bool GLContext_SwapBuffers(void) {
EGLint err;
if (!ctx_surface) return false;
eglSwapBuffers(ctx_display, ctx_surface);
if (eglSwapBuffers(ctx_display, ctx_surface)) return true;
err = eglGetError();
/* We get EGL_BAD_SURFACE if the window surface is destroyed on android */
/* TODO: Maybe detect from the SurfaceDestroyed event handler instead */
if (err == EGL_BAD_SURFACE) {
GLContext_FreeSurface(); return false;
}
/* TODO: figure out how to handle other errors */
Logger_Abort2(err, "Failed to swap buffers");
return true;
}