From f35b9406373706bf78dce088a8cc9c659be1eb2a Mon Sep 17 00:00:00 2001 From: n00b Date: Fri, 15 Nov 2024 23:07:53 -0500 Subject: [PATCH] Replaced loop to read numbers from code/data segments with a single cast --- rcbasic_runtime/main.cpp | 22 ++++++++-------------- rcbasic_runtime/rc_os_defines.h | 2 +- rcbasic_runtime/rcbasic_runtime.depend | 10 +++++----- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/rcbasic_runtime/main.cpp b/rcbasic_runtime/main.cpp index 890abcd..65fa59c 100755 --- a/rcbasic_runtime/main.cpp +++ b/rcbasic_runtime/main.cpp @@ -661,23 +661,17 @@ bool rcbasic_load(std::string filename) } uint64_t readInt() -{ - for(int i = 0; i < sizeof(uint64_t); i++) - { - readint_val.data[i] = segment[current_segment][current_address]; - current_address++; - } - return readint_val.i; +{ + readint_val.i = ((uint64_t*)&segment[current_segment][current_address] )[0]; + current_address += sizeof(uint64_t); + return readint_val.i; } double readDouble() -{ - for(int i = 0; i < sizeof(double); i++) - { - readdouble_val.data[i] = segment[current_segment][current_address]; - current_address++; - } - return readdouble_val.f; +{ + readdouble_val.f = ((double*)&segment[current_segment][current_address] )[0]; + current_address += sizeof(double); + return readdouble_val.f; } void dbg_1(uint32_t dbg_fn, uint64_t arg1, uint64_t arg2) diff --git a/rcbasic_runtime/rc_os_defines.h b/rcbasic_runtime/rc_os_defines.h index b73a342..c4814d6 100755 --- a/rcbasic_runtime/rc_os_defines.h +++ b/rcbasic_runtime/rc_os_defines.h @@ -2,7 +2,7 @@ #define RC_OS_DEFINES_H_INCLUDED //USED FOR TESTING ONLY -//#define RC_TESTING +#define RC_TESTING //I am checking Android first since I think it also defines __linux__ diff --git a/rcbasic_runtime/rcbasic_runtime.depend b/rcbasic_runtime/rcbasic_runtime.depend index a715949..02fb142 100755 --- a/rcbasic_runtime/rcbasic_runtime.depend +++ b/rcbasic_runtime/rcbasic_runtime.depend @@ -1,5 +1,5 @@ # depslib dependency file v1.0 -1731722537 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp +1731729523 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp "rc_os_defines.h" @@ -32,7 +32,7 @@ "rc_func130_cases.h" -1731726964 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h +1731728855 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h 1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h @@ -1247,7 +1247,7 @@ 1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h -1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h +1731729912 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h "SDL.h" @@ -1271,7 +1271,7 @@ "rc_joints.h" -1731727042 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h +1731727404 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h "SDL.h" "btBulletDynamicsCommon.h" "BulletSoftBody/btSoftRigidDynamicsWorld.h" @@ -2517,7 +2517,7 @@ 1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h "rc_gfx_core.h" -1731725236 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h +1731727404 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h 1731710840 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h