diff --git a/.github/workflows/build_n64.yml b/.github/workflows/build_n64.yml new file mode 100644 index 000000000..4be7d6ac3 --- /dev/null +++ b/.github/workflows/build_n64.yml @@ -0,0 +1,38 @@ +name: Build latest (N64) +on: [push] + +concurrency: + group: ${{ github.ref }}-n64 + cancel-in-progress: true + +jobs: + build: + if: github.ref_name == github.event.repository.default_branch + runs-on: ubuntu-latest + container: + image: ghcr.io/dragonminded/libdragon:latest + steps: + - uses: actions/checkout@v3 + - name: Compile N64 build + id: compile + run: | + REAL_DIR=`pwd` + cd /tmp + git clone -b opengl https://github.com/DragonMinded/libdragon.git --depth=1 + cd libdragon + make install + make tools-install + cd $REAL_DIR + make n64 + + - uses: ./.github/actions/notify_failure + if: ${{ always() && steps.compile.outcome == 'failure' }} + with: + NOTIFY_MESSAGE: 'Failed to compile N64 build' + WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' + + - uses: ./.github/actions/upload_build + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + SOURCE_FILE: 'ClassiCube-n64.z64' + DEST_NAME: 'ClassiCube-n64.z64' \ No newline at end of file diff --git a/misc/n64/Makefile b/misc/n64/Makefile index 0e96108c0..442edf0bc 100644 --- a/misc/n64/Makefile +++ b/misc/n64/Makefile @@ -8,7 +8,7 @@ N64_ROM_RTC = true CFILES := $(notdir $(wildcard src/*.c)) OFILES := $(CFILES:.c=.o) OBJS := $(addprefix $(BUILD_DIR)/,$(OFILES)) -CFLAGS := "-Wno-error=missing-braces" +CFLAGS := -Wno-error=missing-braces -Wno-error=strict-aliasing -Wno-error=incompatible-pointer-types -Wno-error=maybe-uninitialized include $(N64_INST)/include/n64.mk diff --git a/src/Graphics_N64.c b/src/Graphics_N64.c index 8aee1d829..d08480978 100644 --- a/src/Graphics_N64.c +++ b/src/Graphics_N64.c @@ -88,6 +88,7 @@ void Gfx_BeginFrame(void) { Platform_LogConst("GFX ctx beg"); } +extern void __rdpq_autosync_change(int mode); static color_t gfx_clearColor; void Gfx_Clear(void) { __rdpq_autosync_change(AUTOSYNC_PIPE);