From 2f6230e3669438d6a18655f26bf6dfcb58d783f3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 12 Jan 2025 18:02:36 +0100 Subject: [PATCH] Formatting review and examples review --- examples/Makefile | 5 +- examples/Makefile.Web | 5 +- examples/core/core_2d_camera_mouse_zoom.png | Bin 16175 -> 16637 bytes examples/core/core_basic_screen_manager.c | 2 +- examples/core/core_input_gamepad_info.c | 83 ------------------ examples/core/core_input_multitouch.c | 2 +- examples/core/core_input_virtual_controls.c | 24 +---- examples/core/core_random_sequence.c | 1 - examples/models/models_gpu_skinning.png | Bin 0 -> 49846 bytes examples/models/models_mesh_generation.c | 2 +- examples/models/models_point_rendering.c | 12 +-- examples/models/models_tesseract_view.c | 4 +- examples/others/raymath_vector_angle.c | 2 +- examples/shaders/shaders_deferred_render.c | 2 +- examples/textures/textures_image_channel.c | 9 +- examples/textures/textures_image_generation.c | 2 +- 16 files changed, 30 insertions(+), 125 deletions(-) delete mode 100644 examples/core/core_input_gamepad_info.c create mode 100644 examples/models/models_gpu_skinning.png diff --git a/examples/Makefile b/examples/Makefile index f8c26f340..6c9ec1ad1 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -344,11 +344,12 @@ ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),PLATFORM_WEB PLATFORM_WEB_R # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map # --shell-file shell.html # define a custom shell .html and output extension + LDFLAGS += -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sMINIFY_HTML=0 + + # Using GLFW3 library (instead of RGFW) ifeq ($(TARGET_PLATFORM),PLATFORM_WEB) LDFLAGS += -sUSE_GLFW=3 endif - - LDFLAGS += -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 # Build using asyncify ifeq ($(BUILD_WEB_ASYNCIFY),TRUE) diff --git a/examples/Makefile.Web b/examples/Makefile.Web index d44b99dde..3de6eaf8b 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -280,12 +280,13 @@ ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_WEB PLATFORM_WEB_RGFW)) # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map # --shell-file shell.html # define a custom shell .html and output extension + LDFLAGS += -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sEXPORTED_RUNTIME_METHODS=ccall -sMINIFY_HTML=0 + + # Using GLFW3 library (instead of RGFW) ifeq ($(PLATFORM),PLATFORM_WEB) LDFLAGS += -sUSE_GLFW=3 endif - LDFLAGS += -sEXPORTED_RUNTIME_METHODS=ccall -s - # Build using asyncify ifeq ($(BUILD_WEB_ASYNCIFY),TRUE) LDFLAGS += -sASYNCIFY diff --git a/examples/core/core_2d_camera_mouse_zoom.png b/examples/core/core_2d_camera_mouse_zoom.png index b920d5c7bd471f7ec062394d8eefae4f634f1ef1..1c8ab1f2dd75488d55fee42813080d4573694974 100644 GIT binary patch literal 16637 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

u#*bf+LE(~P~ zLy62h1q{@L846X_a1uruqKPHP)g79E)^9|c%3BDjmDJg3b`B#fd4#hf<=?2w*nnQ$-777!fth zGZ+TepjVNQG!(7hhPnZVhwhDHy;{v71gV(tOOGRHJT76C#SlcNqzo`UB0#I^qK;2l*0*qQy&vrTt z61uRH!cw3jUJ4F-T!M_H&&O(}rn;t@s_&6P_h|x9D@ogm)YXH<6a_Qhmen0B`j5*k3~TD=%j% z7zfhFX7KXf>R=^=r(+1#7|>@ZHq1;MZWOCXAv`$wSNuLmmpzNG1d@m_AfS=O&`v-F zCZdVa?QA%7Fnol&LpthtoO~B)L#<|g9|)=?_0~FtmT*vnqx(x4oT$vZ??QTyQskhG zdSrPRy`n!(8Yef4vV&69k}XF7vK;KHKONZ#)gB^!7NS}grS{544|vknV@>o_#z6C- z4*OO>lsY~vX7uB}mc5O#*Ti1C(er1w>-^>3GN3co)LqU1zoNk!j^nT3vrU-erPz|k ze*2XJjRMDhWZJ5tTR0VT?91S$( zu12$z%msqm(AA$>-f?a{uQ zOi}&e3~sHPsP()IFYYVyMymX81Kn2`DBn9K(FyE|I}TM~@hllnx#E zevuPz`XG^03ZeEZCA$9#-PgRPk@0tIpgUBK)*F!2ewN%_qP^#m>A9X{t+x{sd2Le7 zaAv93UF8|VF2r2Li~A-EEmc?3)vPUn*ihu4n9#MUg!M`7snE96dK^@5iI{F!ADd*` zQ)>?H^Nnht?wn&i2`Fe5e`%7`Z?U0x;zB%6FZllNUeE8JcKf)^{*n3m=X= zJq8LHx-H~_n?e>HG~k&;cNSIcn-D_WpDPC{sn$YYV(($pN#A60LzJqzp{tve0#8idDsj@o2Lcrkkf-ygLLpKejs!2rxCHwm7TH@PmO_U?7V3c0{O(LU9RIU*?A(T6Sb zhG9<~6g7-2)KldVj$psISAj?F7Ol!_0nfDYe>E}=&oeE1$iP0GVtNSlbV3+uSyb2% zlb9lWEyHzaCDv|mW%eVb=V)yGG{t2Gs9;t14*h5X&=haBWzH(39L;&jSl@Yyr)$uU zT7i4zy4mE*OKym7GW${32BOd<`cc@qqL3DwL-=$-*-ZxaP^#8-0PJ$;M{D)(`cDx| z!l3QGC`l|_0D0NAE)-zU(k$Jc@u(L;wD%Q zuLWRIEZ70-9ZpIQKz56fUS;7FGLQ+lB6#a=8R1L}C1cFFK@~kz9FcMf9u>8U9CepAT0F(|wn2C?C4wXEZwGBD!R-;&<-OfTOc{-k$~ee9Kc zfl^^_(3xixDu3C${`aqW5MlbidI3xA42ZVc88~WZAOjI`_}AUr_X$nv%s?iCt^+Q0 zX82Do0II~svjb)y=r7LjSQ~|GuA8G!>mgetG|+w1)YRlr6de(9!j?}QjUP|MvjuwN zeGf!*AC2RG8fz8Bi@%c}^lAO%4Ej MAX_TOUCH_POINTS) tCount = MAX_TOUCH_POINTS; + if (tCount > MAX_TOUCH_POINTS) tCount = MAX_TOUCH_POINTS; // Get touch points positions for (int i = 0; i < tCount; ++i) touchPositions[i] = GetTouchPosition(i); //---------------------------------------------------------------------------------- diff --git a/examples/core/core_input_virtual_controls.c b/examples/core/core_input_virtual_controls.c index 76eeafee4..799c927c0 100644 --- a/examples/core/core_input_virtual_controls.c +++ b/examples/core/core_input_virtual_controls.c @@ -115,26 +115,10 @@ int main(void) // Move player according to pressed button switch (pressedButton) { - case BUTTON_UP: - { - playerPosition.y -= playerSpeed*GetFrameTime(); - break; - } - case BUTTON_LEFT: - { - playerPosition.x -= playerSpeed*GetFrameTime(); - break; - } - case BUTTON_RIGHT: - { - playerPosition.x += playerSpeed*GetFrameTime(); - break; - } - case BUTTON_DOWN: - { - playerPosition.y += playerSpeed*GetFrameTime(); - break; - } + case BUTTON_UP: playerPosition.y -= playerSpeed*GetFrameTime(); break; + case BUTTON_LEFT: playerPosition.x -= playerSpeed*GetFrameTime(); break; + case BUTTON_RIGHT: playerPosition.x += playerSpeed*GetFrameTime(); break; + case BUTTON_DOWN: playerPosition.y += playerSpeed*GetFrameTime(); break; default: break; }; diff --git a/examples/core/core_random_sequence.c b/examples/core/core_random_sequence.c index 417440449..2cb067db4 100644 --- a/examples/core/core_random_sequence.c +++ b/examples/core/core_random_sequence.c @@ -174,7 +174,6 @@ static void DrawTextCenterKeyHelp(const char *key, const char *text, int posX, i int pressSize = MeasureText("Press", fontSize); int keySize = MeasureText(key, fontSize); int textSize = MeasureText(text, fontSize); - int totalSize = pressSize + 2*spaceSize + keySize + 2*spaceSize + textSize; int textSizeCurrent = 0; DrawText("Press", posX, posY, fontSize, color); diff --git a/examples/models/models_gpu_skinning.png b/examples/models/models_gpu_skinning.png new file mode 100644 index 0000000000000000000000000000000000000000..8003c16effa5a8c60f4867b23c3b51b9da258eed GIT binary patch literal 49846 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 HR>uDTmGoo_ literal 0 HcmV?d00001 diff --git a/examples/models/models_mesh_generation.c b/examples/models/models_mesh_generation.c index 59aebe7c9..03dc2b067 100644 --- a/examples/models/models_mesh_generation.c +++ b/examples/models/models_mesh_generation.c @@ -112,7 +112,7 @@ int main(void) DrawRectangleLines(30, 400, 310, 30, Fade(DARKBLUE, 0.5f)); DrawText("MOUSE LEFT BUTTON to CYCLE PROCEDURAL MODELS", 40, 410, 10, BLUE); - switch(currentModel) + switch (currentModel) { case 0: DrawText("PLANE", 680, 10, 20, DARKBLUE); break; case 1: DrawText("CUBE", 680, 10, 20, DARKBLUE); break; diff --git a/examples/models/models_point_rendering.c b/examples/models/models_point_rendering.c index 68d498453..d33cbdda8 100644 --- a/examples/models/models_point_rendering.c +++ b/examples/models/models_point_rendering.c @@ -22,7 +22,7 @@ #define MIN_POINTS 1000 // 1 thousand // Generate mesh using points -Mesh GenMeshPoints(int numPoints); +static Mesh GenMeshPoints(int numPoints); //------------------------------------------------------------------------------------ // Program main entry point @@ -56,7 +56,7 @@ int main() //-------------------------------------------------------------------------------------- // Main game loop - while(!WindowShouldClose()) + while (!WindowShouldClose()) { // Update //---------------------------------------------------------------------------------- @@ -147,7 +147,7 @@ int main() } // Generate a spherical point cloud -Mesh GenMeshPoints(int numPoints) +static Mesh GenMeshPoints(int numPoints) { Mesh mesh = { .triangleCount = 1, @@ -159,9 +159,9 @@ Mesh GenMeshPoints(int numPoints) // https://en.wikipedia.org/wiki/Spherical_coordinate_system for (int i = 0; i < numPoints; i++) { - float theta = PI*rand()/RAND_MAX; - float phi = 2.0f*PI*rand()/RAND_MAX; - float r = 10.0f*rand()/RAND_MAX; + float theta = ((float)PI*rand())/RAND_MAX; + float phi = (2.0f*PI*rand())/RAND_MAX; + float r = (10.0f*rand())/RAND_MAX; mesh.vertices[i*3 + 0] = r*sin(theta)*cos(phi); mesh.vertices[i*3 + 1] = r*sin(theta)*sin(phi); diff --git a/examples/models/models_tesseract_view.c b/examples/models/models_tesseract_view.c index 411b59497..495e9af9c 100644 --- a/examples/models/models_tesseract_view.c +++ b/examples/models/models_tesseract_view.c @@ -74,7 +74,7 @@ int main(void) // Projection from XYZW to XYZ from perspective point (0, 0, 0, 3) // NOTE: Trace a ray from (0, 0, 0, 3) > p and continue until W = 0 - float c = 3/(3 - p.w); + float c = 3.0f/(3.0f - p.w); p.x = c * p.x; p.y = c * p.y; p.z = c * p.z; @@ -95,7 +95,7 @@ int main(void) for (int i = 0; i < 16; i++) { // Draw spheres to indicate the W value - DrawSphere(transformed[i], fabsf(wValues[i]*0.1), RED); + DrawSphere(transformed[i], fabsf(wValues[i]*0.1f), RED); for (int j = 0; j < 16; j++) { diff --git a/examples/others/raymath_vector_angle.c b/examples/others/raymath_vector_angle.c index d0f81548c..5a69345b4 100644 --- a/examples/others/raymath_vector_angle.c +++ b/examples/others/raymath_vector_angle.c @@ -51,7 +51,7 @@ int main(void) if (IsKeyPressed(KEY_SPACE)) angleMode = !angleMode; - if(angleMode == 0 && IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) v1 = GetMousePosition(); + if ((angleMode == 0) && IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) v1 = GetMousePosition(); if (angleMode == 0) { diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_render.c index e5c549e5a..e03ad6009 100644 --- a/examples/shaders/shaders_deferred_render.c +++ b/examples/shaders/shaders_deferred_render.c @@ -273,7 +273,7 @@ int main(void) // that represent light positions in default forward rendering BeginMode3D(camera); rlEnableShader(rlGetShaderIdDefault()); - for(int i = 0; i < MAX_LIGHTS; i++) + for (int i = 0; i < MAX_LIGHTS; i++) { if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, lights[i].color); else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(lights[i].color, 0.3f)); diff --git a/examples/textures/textures_image_channel.c b/examples/textures/textures_image_channel.c index 39618c5f4..9afcda638 100644 --- a/examples/textures/textures_image_channel.c +++ b/examples/textures/textures_image_channel.c @@ -24,7 +24,6 @@ int main(void) { // Initialization //-------------------------------------------------------------------------------------- - const int screenWidth = 800; const int screenHeight = 450; @@ -60,8 +59,6 @@ int main(void) UnloadImage(imageBlue); UnloadImage(backgroundImage); - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - Rectangle fudesumiRec = {0, 0, fudesumiImage.width, fudesumiImage.height}; Rectangle fudesumiPos = {50, 10, fudesumiImage.width*0.8f, fudesumiImage.height*0.8f}; @@ -70,11 +67,17 @@ int main(void) Rectangle bluePos = { 410, 230, fudesumiPos.width / 2, fudesumiPos.height / 2 }; Rectangle alphaPos = { 600, 230, fudesumiPos.width / 2, fudesumiPos.height / 2 }; + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { + // Draw + //---------------------------------------------------------------------------------- + // TODO... + //---------------------------------------------------------------------------------- + // Draw //---------------------------------------------------------------------------------- BeginDrawing(); diff --git a/examples/textures/textures_image_generation.c b/examples/textures/textures_image_generation.c index 97e43f007..47f9a9eb0 100644 --- a/examples/textures/textures_image_generation.c +++ b/examples/textures/textures_image_generation.c @@ -88,7 +88,7 @@ int main(void) DrawRectangleLines(30, 400, 325, 30, Fade(WHITE, 0.5f)); DrawText("MOUSE LEFT BUTTON to CYCLE PROCEDURAL TEXTURES", 40, 410, 10, WHITE); - switch(currentTexture) + switch (currentTexture) { case 0: DrawText("VERTICAL GRADIENT", 560, 10, 20, RAYWHITE); break; case 1: DrawText("HORIZONTAL GRADIENT", 540, 10, 20, RAYWHITE); break;