mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-28 23:13:02 +00:00
Fixed more border-related code and fixes to N64 build removal
This commit is contained in:
parent
31f0d68ca2
commit
829c1f29a8
4 changed files with 27 additions and 32 deletions
38
Makefile
38
Makefile
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
# Makefile to rebuild SM64 split image
|
# Makefile to rebuild SM64 split image
|
||||||
|
|
||||||
### Default target ###
|
### Default target ###
|
||||||
|
@ -23,7 +24,7 @@ TARGET_N64 = 0
|
||||||
# Build and optimize for Raspberry Pi(s)
|
# Build and optimize for Raspberry Pi(s)
|
||||||
TARGET_RPI ?= 0
|
TARGET_RPI ?= 0
|
||||||
# Compiler to use (ido or gcc)
|
# Compiler to use (ido or gcc)
|
||||||
COMPILER ?= ido
|
# COMPILER ?= ido // Old Default
|
||||||
|
|
||||||
# Disable better camera by default
|
# Disable better camera by default
|
||||||
BETTERCAMERA ?= 0
|
BETTERCAMERA ?= 0
|
||||||
|
@ -224,10 +225,6 @@ GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists
|
||||||
MIPSISET := -mips2
|
MIPSISET := -mips2
|
||||||
MIPSBIT := -32
|
MIPSBIT := -32
|
||||||
|
|
||||||
ifeq ($(COMPILER),gcc)
|
|
||||||
MIPSISET := -mips3
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(VERSION),eu)
|
ifeq ($(VERSION),eu)
|
||||||
OPT_FLAGS := -O2
|
OPT_FLAGS := -O2
|
||||||
else
|
else
|
||||||
|
@ -246,9 +243,8 @@ ifeq ($(TARGET_WEB),1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Use a default opt flag for gcc, then override if RPi
|
# Use a default opt flag for gcc, then override if RPi
|
||||||
ifeq ($(COMPILER),gcc)
|
|
||||||
OPT_FLAGS := -O2 # Breaks sound on x86?
|
# OPT_FLAGS := -O2 # "Whole-compile optimization flag" Breaks sound on x86.
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGET_RPI),1)
|
ifeq ($(TARGET_RPI),1)
|
||||||
machine = $(shell sh -c 'uname -m 2>/dev/null || echo unknown')
|
machine = $(shell sh -c 'uname -m 2>/dev/null || echo unknown')
|
||||||
|
@ -424,14 +420,15 @@ else
|
||||||
LD := $(CC)
|
LD := $(CC)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CPP := cpp -P
|
CPP := $(CROSS)cpp -P
|
||||||
OBJDUMP := objdump
|
OBJDUMP := $(CROSS)objdump
|
||||||
OBJCOPY := objcopy
|
OBJCOPY := $(CROSS)objcopy
|
||||||
PYTHON := python3
|
PYTHON := python3
|
||||||
|
SDLCONFIG := $(CROSS)sdl2-config
|
||||||
|
|
||||||
ifeq ($(WINDOWS_BUILD),1)
|
ifeq ($(WINDOWS_BUILD),1)
|
||||||
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) `$(CROSS)sdl2-config --cflags`
|
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) `$(SDLCONFIG) --cflags`
|
||||||
CFLAGS := $(OPT_FLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -fno-strict-aliasing -fwrapv `$(CROSS)sdl2-config --cflags`
|
CFLAGS := $(OPT_FLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -fno-strict-aliasing -fwrapv `$(SDLCONFIG) --cflags`
|
||||||
|
|
||||||
else ifeq ($(TARGET_WEB),1)
|
else ifeq ($(TARGET_WEB),1)
|
||||||
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -s USE_SDL=2
|
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -s USE_SDL=2
|
||||||
|
@ -439,8 +436,8 @@ CFLAGS := $(OPT_FLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -fn
|
||||||
|
|
||||||
# Linux / Other builds below
|
# Linux / Other builds below
|
||||||
else
|
else
|
||||||
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) `$(CROSS)sdl2-config --cflags`
|
CC_CHECK := $(CC) -fsyntax-only -fsigned-char $(INCLUDE_CFLAGS) -Wall -Wextra -Wno-format-security $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) `$(SDLCONFIG) --cflags`
|
||||||
CFLAGS := $(OPT_FLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -fno-strict-aliasing -fwrapv `$(CROSS)sdl2-config --cflags`
|
CFLAGS := $(OPT_FLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -fno-strict-aliasing -fwrapv `$(SDLCONFIG) --cflags`
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Check for better camera option
|
# Check for better camera option
|
||||||
|
@ -456,14 +453,17 @@ LDFLAGS := -lm -lGL -lSDL2 -no-pie -s TOTAL_MEMORY=20MB -g4 --source-map-base ht
|
||||||
else
|
else
|
||||||
|
|
||||||
ifeq ($(WINDOWS_BUILD),1)
|
ifeq ($(WINDOWS_BUILD),1)
|
||||||
LDFLAGS := $(BITS) -march=$(TARGET_ARCH) -Llib -lpthread -lglew32 `$(CROSS)sdl2-config --static-libs` -lm -lglu32 -lsetupapi -ldinput8 -luser32 -lgdi32 -limm32 -lole32 -loleaut32 -lshell32 -lwinmm -lversion -luuid -lopengl32 -no-pie -static
|
LDFLAGS := $(BITS) -march=$(TARGET_ARCH) -Llib -lpthread -lglew32 `$(SDLCONFIG) --static-libs` -lm -lglu32 -lsetupapi -ldinput8 -luser32 -lgdi32 -limm32 -lole32 -loleaut32 -lshell32 -lwinmm -lversion -luuid -lopengl32 -no-pie -static
|
||||||
|
ifeq ($(WINDOWS_CONSOLE),1)
|
||||||
|
LDFLAGS += -mconsole
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
|
|
||||||
# Linux / Other builds below
|
# Linux / Other builds below
|
||||||
ifeq ($(TARGET_RPI),1)
|
ifeq ($(TARGET_RPI),1)
|
||||||
LDFLAGS := $(OPT_FLAGS) -lm -lGLESv2 `$(CROSS)sdl2-config --libs` -no-pie
|
LDFLAGS := $(OPT_FLAGS) -lm -lGLESv2 `$(SDLCONFIG) --libs` -no-pie
|
||||||
else
|
else
|
||||||
LDFLAGS := $(BITS) -march=$(TARGET_ARCH) -lm -lGL `$(CROSS)sdl2-config --libs` -no-pie -lpthread
|
LDFLAGS := $(BITS) -march=$(TARGET_ARCH) -lm -lGL `$(SDLCONFIG) --libs` -no-pie -lpthread
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif #Added for Pi ifeq
|
endif #Added for Pi ifeq
|
||||||
|
@ -676,7 +676,6 @@ $(BUILD_DIR)/assets/mario_anim_data.c: $(wildcard assets/anims/*.inc.c)
|
||||||
$(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*.bin)
|
$(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*.bin)
|
||||||
$(PYTHON) tools/demo_data_converter.py assets/demo_data.json $(VERSION_CFLAGS) > $@
|
$(PYTHON) tools/demo_data_converter.py assets/demo_data.json $(VERSION_CFLAGS) > $@
|
||||||
|
|
||||||
ifeq ($(COMPILER),ido)
|
|
||||||
# Source code
|
# Source code
|
||||||
$(BUILD_DIR)/levels/%/leveldata.o: OPT_FLAGS := -g
|
$(BUILD_DIR)/levels/%/leveldata.o: OPT_FLAGS := -g
|
||||||
$(BUILD_DIR)/actors/%.o: OPT_FLAGS := -g
|
$(BUILD_DIR)/actors/%.o: OPT_FLAGS := -g
|
||||||
|
@ -718,7 +717,6 @@ $(BUILD_DIR)/src/audio/%.acpp: src/audio/%.c
|
||||||
$(BUILD_DIR)/src/audio/%.copt: $(BUILD_DIR)/src/audio/%.acpp
|
$(BUILD_DIR)/src/audio/%.copt: $(BUILD_DIR)/src/audio/%.acpp
|
||||||
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt -signed -I=$< -CMP=$@ -cp=i -scalaroptimize=1
|
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt -signed -I=$< -CMP=$@ -cp=i -scalaroptimize=1
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# Rebuild files with 'GLOBAL_ASM' if the NON_MATCHING flag changes.
|
# Rebuild files with 'GLOBAL_ASM' if the NON_MATCHING flag changes.
|
||||||
|
|
|
@ -28,12 +28,7 @@
|
||||||
#define SCREEN_WIDTH 320
|
#define SCREEN_WIDTH 320
|
||||||
#define SCREEN_HEIGHT 240
|
#define SCREEN_HEIGHT 240
|
||||||
|
|
||||||
// Border Height Define for NTSC Versions
|
// What's the point of having a border if we're not an N64?
|
||||||
|
#define BORDER_HEIGHT 0 // Never use a border as not-N64
|
||||||
#define BORDER_HEIGHT 1
|
|
||||||
|
|
||||||
#else
|
|
||||||
// What's the point of having a border?
|
|
||||||
#define BORDER_HEIGHT 0
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
#include "pc/gfx/gfx_pc.h"
|
#include "pc/gfx/gfx_pc.h"
|
||||||
#define GFX_DIMENSIONS_FROM_LEFT_EDGE(v) (SCREEN_WIDTH / 2 - SCREEN_HEIGHT / 2 * gfx_current_dimensions.aspect_ratio + (v))
|
#define GFX_DIMENSIONS_FROM_LEFT_EDGE(v) (SCREEN_WIDTH / 2 - SCREEN_HEIGHT / 2 * gfx_current_dimensions.aspect_ratio + (v))
|
||||||
#define GFX_DIMENSIONS_FROM_RIGHT_EDGE(v) (SCREEN_WIDTH / 2 + SCREEN_HEIGHT / 2 * gfx_current_dimensions.aspect_ratio - (v))
|
#define GFX_DIMENSIONS_FROM_RIGHT_EDGE(v) (SCREEN_WIDTH / 2 + SCREEN_HEIGHT / 2 * gfx_current_dimensions.aspect_ratio - (v))
|
||||||
#define GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(v) floorf(GFX_DIMENSIONS_FROM_LEFT_EDGE(v))
|
#define GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(v) ((int)floorf(GFX_DIMENSIONS_FROM_LEFT_EDGE(v)))
|
||||||
#define GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(v) ceilf(GFX_DIMENSIONS_FROM_RIGHT_EDGE(v))
|
#define GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(v) ((int)ceilf(GFX_DIMENSIONS_FROM_RIGHT_EDGE(v)))
|
||||||
#define GFX_DIMENSIONS_ASPECT_RATIO (gfx_current_dimensions.aspect_ratio)
|
#define GFX_DIMENSIONS_ASPECT_RATIO (gfx_current_dimensions.aspect_ratio)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "sm64.h"
|
#include "sm64.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
#include "buffers/buffers.h"
|
#include "buffers/buffers.h"
|
||||||
|
#include "gfx_dimensions.h"
|
||||||
#include "buffers/gfx_output_buffer.h"
|
#include "buffers/gfx_output_buffer.h"
|
||||||
#include "buffers/framebuffers.h"
|
#include "buffers/framebuffers.h"
|
||||||
#include "buffers/zbuffer.h"
|
#include "buffers/zbuffer.h"
|
||||||
|
@ -152,8 +153,9 @@ void clear_frame_buffer(s32 a) {
|
||||||
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL);
|
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL);
|
||||||
|
|
||||||
gDPSetFillColor(gDisplayListHead++, a);
|
gDPSetFillColor(gDisplayListHead++, a);
|
||||||
gDPFillRectangle(gDisplayListHead++, 0, BORDER_HEIGHT, SCREEN_WIDTH - 1,
|
|
||||||
SCREEN_HEIGHT - 1 - BORDER_HEIGHT);
|
// Ratio-correct borderfill
|
||||||
|
gDPFillRectangle(gDisplayListHead++, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), BORDER_HEIGHT, GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - BORDER_HEIGHT - 1);
|
||||||
|
|
||||||
gDPPipeSync(gDisplayListHead++);
|
gDPPipeSync(gDisplayListHead++);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue