From b5fe2118c22f3908e9c0ac8c6e3298e024f4bc19 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 17 Aug 2024 10:26:42 +1000 Subject: [PATCH] Add success notify for PS1/saturn builds --- .github/workflows/build_ps1.yml | 7 +++++++ .github/workflows/build_saturn.yml | 7 +++++++ readme.md | 8 ++++---- src/Graphics.h | 24 ++++++++++++------------ src/Window.h | 25 ------------------------- src/Window_Win.c | 25 +++++++++++++++++++++++++ src/Window_X11.c | 25 +++++++++++++++++++++++++ 7 files changed, 80 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build_ps1.yml b/.github/workflows/build_ps1.yml index 95b2c6d3b..862195692 100644 --- a/.github/workflows/build_ps1.yml +++ b/.github/workflows/build_ps1.yml @@ -59,3 +59,10 @@ jobs: with: SOURCE_FILE: 'misc/ps1/build/ClassiCube-PS1.cue' DEST_NAME: 'ClassiCube-PS1.cue' + + + - uses: ./.github/actions/notify_success + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' + WORKFLOW_NAME: 'ps1' diff --git a/.github/workflows/build_saturn.yml b/.github/workflows/build_saturn.yml index 6143e9c8d..f3003ffa4 100644 --- a/.github/workflows/build_saturn.yml +++ b/.github/workflows/build_saturn.yml @@ -49,3 +49,10 @@ jobs: with: SOURCE_FILE: 'ClassiCube-saturn.cue' DEST_NAME: 'ClassiCube-saturn.cue' + + + - uses: ./.github/actions/notify_success + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' + WORKFLOW_NAME: 'saturn' diff --git a/readme.md b/readme.md index b0ea5b5e8..b1f5c10e8 100644 --- a/readme.md +++ b/readme.md @@ -74,9 +74,9 @@ And also runs on: * SerenityOS - needs SDL2 * Classic Mac OS (System 7 and later) * Dreamcast - unfinished, but usable (can [download from here](https://www.classicube.net/download/dreamcast)) -* Saturn - unfinished, major rendering and **stability issues** (if you have a GitHub account, can [download from here](https://github.com/ClassiCube/ClassiCube/actions/workflows/build_saturn.yml)) +* Saturn - unfinished, major rendering and **stability issues** (can [download from here](https://www.classicube.net/download/saturn)) * Switch - unfinished, but usable (can [download from here](https://www.classicube.net/download/switch)) -* Wii U - unfinished, major issues (if you have a GitHub account, can [download from here](https://github.com/ClassiCube/ClassiCube/actions/workflows/build_wiiu.yml)), **untested on real hardware**) +* Wii U - unfinished, major issues, **broken on real hardware** (can [download from here](https://www.classicube.net/download/wiiu)) * Wii - unfinished, but usable (can [download from here](https://www.classicube.net/download/wii)) * GameCube - unfinished, but usable (can [download from here](https://www.classicube.net/download/gamecube)) * Nintendo 64 - unfinished, moderate rendering issues (can [download from here](https://www.classicube.net/download/n64)) @@ -86,8 +86,8 @@ And also runs on: * PSP - unfinished, rendering issues (can [download from here](https://www.classicube.net/download/psp)) * PS3 - unfinished, rendering issues (can [download from here](https://www.classicube.net/download/ps3)) * PS2 - unfinished, major rendering and **stability issues** (can [download from here](https://www.classicube.net/download/ps2)) -* PS1 - unfinished, major rendering and **stability issues** (if you have a GitHub account, can [download from here](https://github.com/ClassiCube/ClassiCube/actions/workflows/build_ps1.yml)) -* Xbox 360 - completely unfinished (if you have a GitHub account, can [download from here](https://github.com/ClassiCube/ClassiCube/actions/workflows/build_xbox360.yml)), **untested on real hardware**) +* PS1 - unfinished, major rendering and **stability issues** (can [download from here](https://www.classicube.net/download/ps1)) +* Xbox 360 - completely unfinished, **broken on real hardware** (can [download from here](https://www.classicube.net/download/360)) * Xbox - unfinished, major rendering issues (can [download from here](https://www.classicube.net/download/xbox)) # Compiling diff --git a/src/Graphics.h b/src/Graphics.h index cd1d50cc2..ed0202d0f 100644 --- a/src/Graphics.h +++ b/src/Graphics.h @@ -6,18 +6,18 @@ CC_BEGIN_HEADER /* SUMMARY: -- Provides a low level abstraction a 3D graphics rendering API. -- Because of the numerous possible rendering backends, only a small number of +- Provides a low level abstraction over a 3D graphics rendering API. +- Because of the numerous possible graphics backends, only a small number of functions are provided so that the available functionality behaves the same - regardless of the rendering backend being used. (as much as reasonably possible) -- Most code using Graphics.h therefore doesn' need to care about the rendering backend being used + regardless of the graphics backend being used. (as much as reasonably possible) +- Most code using Graphics.h therefore doesn't need to care about the graphics backend being used IMPLEMENTATION NOTES: -- By default, a reasonable rendering backend is automatically selected in Core.h -- The selected rendering backend can be altered in two ways: +- By default, a reasonable graphics backend is automatically selected in Core.h +- The selected graphics backend can be altered in two ways: * explicitly defining CC_GFX_BACKEND in the compilation flags (recommended) * altering DEFAULT_GFX_BACKEND for the platform in Core.h -- Rendering backends are implemented in Graphics_GL1.c, Graphics_D3D9.c etc +- graphics backends are implemented in Graphics_GL1.c, Graphics_D3D9.c etc Copyright 2014-2023 ClassiCube | Licensed under BSD-3 */ @@ -56,7 +56,7 @@ CC_VAR extern struct _GfxData { /* Maximum total size in pixels a texture can consist of */ /* NOTE: Not all graphics backends specify a value for this */ int MaxTexSize; - /* Whether context graphics has been lost (all creation/render calls fail) */ + /* Whether graphics context has been lost (all creation/render calls fail) */ cc_bool LostContext; /* Whether some textures are created with mipmaps */ cc_bool Mipmaps; @@ -305,7 +305,7 @@ void Gfx_LoadMVP(const struct Matrix* view, const struct Matrix* proj, struct Ma void Gfx_CalcOrthoMatrix(struct Matrix* matrix, float width, float height, float zNear, float zFar); /* Calculates a perspective projection matrix suitable with this backend. (usually for 3D) */ void Gfx_CalcPerspectiveMatrix(struct Matrix* matrix, float fov, float aspect, float zFar); -/* NOTE: Projection matrix calculation is here because it can depend the graphics backend */ +/* NOTE: The projection matrix calculation can slightly vary depending on the graphics backend */ /* (e.g. OpenGL uses a Z clip space range of [-1, 1], whereas Direct3D9 uses [0, 1]) */ /* Sets the region where transformed vertices are drawn in */ @@ -323,12 +323,12 @@ CC_API void Gfx_SetScissor (int x, int y, int w, int h); *#########################################################################################################################*/ /* Outputs a .png screenshot of the backbuffer */ cc_result Gfx_TakeScreenshot(struct Stream* output); -/* Warns in chat if the backend has problems with the user's GPU */ +/* Warns in chat if the graphics backend has problems with the user's GPU */ /* Returns whether legacy rendering mode for borders/sky/clouds is needed */ cc_bool Gfx_WarnIfNecessary(void); cc_bool Gfx_GetUIOptions(struct MenuOptionsScreen* s); -/* Gets information about the user's GPU and current backend state */ -/* Backend state may include depth buffer bits, free memory, etc */ +/* Gets information about the user's GPU and graphics backend state */ +/* Backend state may include depth buffer bits, total free memory, etc */ /* NOTE: Each line is separated by \n */ void Gfx_GetApiInfo(cc_string* info); diff --git a/src/Window.h b/src/Window.h index 0785ba51e..6bcbe070e 100644 --- a/src/Window.h +++ b/src/Window.h @@ -8,31 +8,6 @@ Abstracts interaction with a windowing system (creating window, moving cursor, e Copyright 2014-2023 ClassiCube | Licensed under BSD-3 */ -/* - The Open Toolkit Library License - - Copyright (c) 2006 - 2009 the Open Toolkit library. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - struct Bitmap; struct DynamicLibSym; /* The states the window can be in. */ diff --git a/src/Window_Win.c b/src/Window_Win.c index b55b973d7..13673563e 100644 --- a/src/Window_Win.c +++ b/src/Window_Win.c @@ -1,5 +1,30 @@ #include "Core.h" #if CC_WIN_BACKEND == CC_WIN_BACKEND_WIN32 +/* + The Open Toolkit Library License + + Copyright (c) 2006 - 2009 the Open Toolkit library. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +*/ + #include "_WindowBase.h" #include "String.h" #include "Funcs.h" diff --git a/src/Window_X11.c b/src/Window_X11.c index bc8cc44be..e5c2788f3 100644 --- a/src/Window_X11.c +++ b/src/Window_X11.c @@ -1,5 +1,30 @@ #include "Core.h" #if CC_WIN_BACKEND == CC_WIN_BACKEND_X11 +/* + The Open Toolkit Library License + + Copyright (c) 2006 - 2009 the Open Toolkit library. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +*/ + #include "_WindowBase.h" #include "String.h" #include "Funcs.h"