sm64ex-alo/defines.mk
AloXado320 5717a8c092 Better mouse handling plus DXGI support (from sm64coopdx)
Set DXGI mouse visibility (from HM64)

Proper mouse relative mode and buttons in DXGI (from sm64coopdx)

Ensure mouse doesn't escape window and simplify visible state
2024-11-21 23:19:32 -05:00

208 lines
4.5 KiB
Makefile

# --------------------------------------
# General Defines
# --------------------------------------
# Build debug version (1 simple debug compile, 2 max debug compile)
DEBUG ?= 0
# Enable extended options menu by default
EXT_OPTIONS_MENU ?= 1
# Enable debug options menu (Enabled if DEBUG is not 0)
EXT_DEBUG_MENU ?= 0
# Enable better camera (Puppycam 2)
BETTERCAMERA ?= 1
# Enable cheats
CHEATS_ACTIONS ?= 1
# Enable rumble functions (Originally in Shindou)
RUMBLE_FEEDBACK ?= 1
# Disable no drawing distance by default
NODRAWINGDISTANCE ?= 0
# Enable Goddard (Mario Face)
GODDARD_MFACE ?= 1
# Kaze MOP Objects Port, disabled by default
PORT_MOP_OBJS ?= 0
# Enable level vanilla checks
VANILLA_CHECKS ?= 1
# Enable extended bounds
EXTENDED_BOUNDS ?= 0
# Enable Mouse support
MOUSE_ACTIONS ?= 1
# Accept RM2C level folder output
RM2C ?= 0
# --------------------------------------
# General QoL Defines (see include/qol_defines.h)
# --------------------------------------
# Quality of life fixes
QOL_FIXES ?= 1
# Quality of life features
QOL_FEATURES ?= 1
# Quality of life redone files
QOL_REDONE ?= 1
# --------------------------------------
# Port Only Defines
# --------------------------------------
# Enable 60 fps interpolation
HIGH_FPS_PC ?= 0
# Disable text-based save-files by default
TEXTSAVES ?= 0
# Load resources from external files
EXTERNAL_DATA ?= 0
# Enable Discord Rich Presence
DISCORDRPC ?= 0
# Enable Command Line Options
COMMAND_LINE_OPTIONS ?= 1
# --------------------------------------
# Custom Defines
# --------------------------------------
CUSTOM_C_DEFINES :=
ifeq ($(TARGET_N64),0)
# Check for PC Port Defines
ifeq ($(PC_PORT_DEFINES),1)
CUSTOM_C_DEFINES += -DNO_SEGMENTED_MEMORY -DWIDESCREEN -DUSE_SYSTEM_MALLOC
endif
# Use Console exclusive defines
ifeq ($(TARGET_PORT_CONSOLE),1)
CUSTOM_C_DEFINES += -DTARGET_PORT_CONSOLE
endif
# Check for 60 fps interpolation
ifeq ($(HIGH_FPS_PC),1)
CUSTOM_C_DEFINES += -DHIGH_FPS_PC
endif
# Check for text save format
ifeq ($(TEXTSAVES),1)
CUSTOM_C_DEFINES += -DTEXTSAVES
endif
# Check for external data
ifeq ($(EXTERNAL_DATA),1)
CUSTOM_C_DEFINES += -DEXTERNAL_DATA
ifeq ($(TARGET_N64),1)
$(error External data is not usable on N64)
endif
endif
ifeq ($(WINDOW_API),SDL2)
# Check for touch controls
ifeq ($(TOUCH_CONTROLS),1)
CUSTOM_C_DEFINES += -DTOUCH_CONTROLS
endif
endif
# Use PC-only exclusive defines
ifeq ($(TARGET_PORT_CONSOLE),0)
# Check for Mouse Option
ifeq ($(MOUSE_ACTIONS),1)
CUSTOM_C_DEFINES += -DMOUSE_ACTIONS
endif
# Check for Discord Rich Presence option
ifeq ($(DISCORDRPC),1)
CUSTOM_C_DEFINES += -DDISCORDRPC
endif
# Check for Command Line Options
ifeq ($(COMMAND_LINE_OPTIONS),1)
CUSTOM_C_DEFINES += -DCOMMAND_LINE_OPTIONS
endif
endif # !TARGET_PORT_CONSOLE
endif # !TARGET_N64
# Check for Debug option
ifneq ($(DEBUG),0)
ifeq ($(DEBUG),1)
COMPILER_OPT := debug
endif
ifeq ($(DEBUG),2)
COMPILER_OPT := debugmax
endif
CUSTOM_C_DEFINES += -DDEBUG
EXT_DEBUG_MENU := 1
endif
# Check for Debug Menu option
ifeq ($(EXT_DEBUG_MENU),1)
CUSTOM_C_DEFINES += -DEXT_DEBUG_MENU
EXT_OPTIONS_MENU := 1
endif
# Check for Puppycam option
ifeq ($(BETTERCAMERA),1)
CUSTOM_C_DEFINES += -DBETTERCAMERA
EXT_OPTIONS_MENU := 1
endif
# Check for Cheats option
ifeq ($(CHEATS_ACTIONS),1)
CUSTOM_C_DEFINES += -DCHEATS_ACTIONS
EXT_OPTIONS_MENU := 1
endif
# Check for extended options menu option
ifeq ($(EXT_OPTIONS_MENU),1)
CUSTOM_C_DEFINES += -DEXT_OPTIONS_MENU
endif
# Check for Rumble option
ifeq ($(TARGET_N3DS)$(TARGET_WII_U),00)
ifeq ($(RUMBLE_FEEDBACK),1)
CUSTOM_C_DEFINES += -DRUMBLE_FEEDBACK
endif
endif
# Check for no drawing distance option
ifeq ($(NODRAWINGDISTANCE),1)
CUSTOM_C_DEFINES += -DNODRAWINGDISTANCE
endif
# Check for Goddard option
ifeq ($(GODDARD_MFACE),1)
CUSTOM_C_DEFINES += -DGODDARD_MFACE
endif
# Check for MOP option
ifeq ($(PORT_MOP_OBJS),1)
CUSTOM_C_DEFINES += -DPORT_MOP_OBJS
endif
# Check for Vanilla checks
ifeq ($(VANILLA_CHECKS),1)
CUSTOM_C_DEFINES += -DVANILLA_CHECKS
endif
# Check for Extended bounds
ifneq ($(EXTENDED_BOUNDS),0)
CUSTOM_C_DEFINES += -DEXTENDED_BOUNDS=$(EXTENDED_BOUNDS) -DCOLLISION_FIXES
endif
# Add RM2C to flags, add var for internal name
ifeq ($(RM2C),1)
CUSTOM_C_DEFINES += -DRM2C
endif
# Check for QoL fixes option
ifeq ($(QOL_FIXES),1)
CUSTOM_C_DEFINES += -DQOL_FIXES
endif
# Check for QoL features option
ifeq ($(QOL_FEATURES),1)
CUSTOM_C_DEFINES += -DQOL_FEATURES
endif
# Check for QoL features option
ifeq ($(QOL_REDONE),1)
CUSTOM_C_DEFINES += -DQOL_REDONE
endif