mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 19:13:42 +00:00
[iQue] Build some C files with EGCS (#2396)
This commit is contained in:
parent
ffc9f2d4f1
commit
9dafc2f2e4
19 changed files with 121 additions and 37 deletions
65
Makefile
65
Makefile
|
@ -57,11 +57,6 @@ N64_EMULATOR ?=
|
||||||
# This may also be used to disable debug features on debug ROMs by setting DEBUG_FEATURES to 0
|
# This may also be used to disable debug features on debug ROMs by setting DEBUG_FEATURES to 0
|
||||||
# DEBUG_FEATURES ?= 1
|
# DEBUG_FEATURES ?= 1
|
||||||
|
|
||||||
CFLAGS ?=
|
|
||||||
CCASFLAGS ?=
|
|
||||||
CPPFLAGS ?=
|
|
||||||
CPP_DEFINES ?=
|
|
||||||
|
|
||||||
# Version-specific settings
|
# Version-specific settings
|
||||||
REGIONAL_CHECKSUM := 0
|
REGIONAL_CHECKSUM := 0
|
||||||
ifeq ($(VERSION),ntsc-1.0)
|
ifeq ($(VERSION),ntsc-1.0)
|
||||||
|
@ -209,7 +204,6 @@ EXTRACTED_DIR := extracted/$(VERSION)
|
||||||
VENV := .venv
|
VENV := .venv
|
||||||
|
|
||||||
MAKE = make
|
MAKE = make
|
||||||
CPPFLAGS += -P -xc -fno-dollars-in-identifiers
|
|
||||||
|
|
||||||
ifeq ($(PLATFORM),N64)
|
ifeq ($(PLATFORM),N64)
|
||||||
CPP_DEFINES += -DPLATFORM_N64=1 -DPLATFORM_GC=0 -DPLATFORM_IQUE=0
|
CPP_DEFINES += -DPLATFORM_N64=1 -DPLATFORM_GC=0 -DPLATFORM_IQUE=0
|
||||||
|
@ -287,6 +281,9 @@ ifeq ($(ORIG_COMPILER),1)
|
||||||
CCAS := $(CC)
|
CCAS := $(CC)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
EGCS_PREFIX := tools/egcs/$(DETECTED_OS)/
|
||||||
|
EGCS_CC := $(EGCS_PREFIX)gcc -B $(EGCS_PREFIX)
|
||||||
|
|
||||||
AS := $(MIPS_BINUTILS_PREFIX)as
|
AS := $(MIPS_BINUTILS_PREFIX)as
|
||||||
LD := $(MIPS_BINUTILS_PREFIX)ld
|
LD := $(MIPS_BINUTILS_PREFIX)ld
|
||||||
OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy
|
OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy
|
||||||
|
@ -335,10 +332,6 @@ SEQ_CPPFLAGS := -D_LANGUAGE_ASEQ -DMML_VERSION=MML_VERSION_OOT $(CPP_DEFINES) -
|
||||||
SBCFLAGS := --matching
|
SBCFLAGS := --matching
|
||||||
SFCFLAGS := --matching
|
SFCFLAGS := --matching
|
||||||
|
|
||||||
CFLAGS += $(CPP_DEFINES)
|
|
||||||
CCASFLAGS := $(CPP_DEFINES)
|
|
||||||
CPPFLAGS += $(CPP_DEFINES)
|
|
||||||
|
|
||||||
# Extra debugging steps
|
# Extra debugging steps
|
||||||
ifeq ($(DEBUG_OBJECTS),1)
|
ifeq ($(DEBUG_OBJECTS),1)
|
||||||
OBJDUMP_CMD = @$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
OBJDUMP_CMD = @$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
||||||
|
@ -360,20 +353,20 @@ ifeq ($(DEBUG_FEATURES),1)
|
||||||
GBI_DEFINES += -DGBI_DEBUG
|
GBI_DEFINES += -DGBI_DEBUG
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += $(GBI_DEFINES)
|
CPPFLAGS += -P -xc -fno-dollars-in-identifiers $(CPP_DEFINES)
|
||||||
|
ASFLAGS += -march=vr4300 -32 -no-pad-sections -Iinclude -I$(EXTRACTED_DIR)
|
||||||
ASFLAGS := -march=vr4300 -32 -no-pad-sections -Iinclude -I$(EXTRACTED_DIR)
|
|
||||||
|
|
||||||
ifeq ($(COMPILER),gcc)
|
ifeq ($(COMPILER),gcc)
|
||||||
CFLAGS += -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-PIC -fno-common -ffreestanding -fbuiltin -fno-builtin-sinf -fno-builtin-cosf $(CHECK_WARNINGS) -funsigned-char
|
CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-PIC -fno-common -ffreestanding -funsigned-char -fbuiltin -fno-builtin-sinf -fno-builtin-cosf $(CHECK_WARNINGS)
|
||||||
CCASFLAGS += -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -fno-PIC -fno-common -Wa,-no-pad-sections
|
CCASFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -fno-PIC -fno-common -Wa,-no-pad-sections
|
||||||
MIPS_VERSION := -mips3
|
MIPS_VERSION := -mips3
|
||||||
else
|
else
|
||||||
# Suppress warnings for wrong number of macro arguments (to fake variadic
|
# Suppress warnings for wrong number of macro arguments (to fake variadic
|
||||||
# macros) and Microsoft extensions such as anonymous structs (which the
|
# macros) and Microsoft extensions such as anonymous structs (which the
|
||||||
# compiler does support but warns for their usage).
|
# compiler does support but warns for their usage).
|
||||||
CFLAGS += -G 0 -non_shared -fullwarn -verbose -Xcpluscomm $(INC) -Wab,-r4300_mul -woff 516,609,649,838,712,807
|
CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -non_shared -fullwarn -verbose -Xcpluscomm $(INC) -Wab,-r4300_mul -woff 516,609,649,838,712,807
|
||||||
CCASFLAGS += -G 0 -non_shared -fullwarn -verbose -Xcpluscomm $(INC) -Wab,-r4300_mul -woff 516,609,649,838,712,807 -o32
|
CCASFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -non_shared -fullwarn -verbose -Xcpluscomm $(INC) -Wab,-r4300_mul -woff 516,609,649,838,712,807 -o32
|
||||||
|
EGCS_CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc $(INC) -mcpu=vr4300 -mabi=32 -mgp32 -mfp32 -fno-PIC
|
||||||
MIPS_VERSION := -mips2
|
MIPS_VERSION := -mips2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -564,6 +557,34 @@ endif
|
||||||
$(BUILD_DIR)/src/code/jpegutils.o: CC := $(CC_OLD)
|
$(BUILD_DIR)/src/code/jpegutils.o: CC := $(CC_OLD)
|
||||||
$(BUILD_DIR)/src/code/jpegdecoder.o: CC := $(CC_OLD)
|
$(BUILD_DIR)/src/code/jpegdecoder.o: CC := $(CC_OLD)
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),IQUE)
|
||||||
|
# Some files are compiled with EGCS on iQue
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/boot/boot_main.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/boot/idle.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/boot/z_locale.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/boot/z_std_dma.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/boot/zlib.o
|
||||||
|
# EGCS_O_FILES += (BUILD_DIR)/src/code/z_actor.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/code/z_common_data.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/code/z_construct.o
|
||||||
|
# EGCS_O_FILES += (BUILD_DIR)/src/code/z_kanfont.o
|
||||||
|
# EGCS_O_FILES += (BUILD_DIR)/src/code/z_message.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/code/z_parameter.o
|
||||||
|
# EGCS_O_FILES += (BUILD_DIR)/src/code/z_sram.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/actors/ovl_En_Mag/z_en_mag.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/actors/ovl_End_Title/z_end_title.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/actors/ovl_Fishing/z_fishing.o
|
||||||
|
# EGCS_O_FILES += (BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/z_file_copy_erase.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/gamestates/ovl_opening/z_opening.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/gamestates/ovl_title/z_title.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.o
|
||||||
|
EGCS_O_FILES += $(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.o
|
||||||
|
|
||||||
|
$(EGCS_O_FILES): CC := $(EGCS_CC)
|
||||||
|
$(EGCS_O_FILES): CFLAGS := $(EGCS_CFLAGS) -mno-abicalls
|
||||||
|
$(EGCS_O_FILES): MIPS_VERSION := -mips3
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(DEBUG_FEATURES),1)
|
ifeq ($(DEBUG_FEATURES),1)
|
||||||
$(BUILD_DIR)/src/libc/%.o: OPTFLAGS := -g
|
$(BUILD_DIR)/src/libc/%.o: OPTFLAGS := -g
|
||||||
$(BUILD_DIR)/src/libc/%.o: ASOPTFLAGS := -g
|
$(BUILD_DIR)/src/libc/%.o: ASOPTFLAGS := -g
|
||||||
|
@ -589,7 +610,12 @@ endif
|
||||||
$(BUILD_DIR)/src/audio/sfx.o: CFLAGS += -use_readwrite_const
|
$(BUILD_DIR)/src/audio/sfx.o: CFLAGS += -use_readwrite_const
|
||||||
$(BUILD_DIR)/src/audio/sequence.o: CFLAGS += -use_readwrite_const
|
$(BUILD_DIR)/src/audio/sequence.o: CFLAGS += -use_readwrite_const
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),IQUE)
|
||||||
|
$(BUILD_DIR)/src/libultra/%.o: CC := $(EGCS_CC)
|
||||||
|
$(BUILD_DIR)/src/libultra/%.o: CFLAGS := $(EGCS_CFLAGS) -mno-abicalls
|
||||||
|
else
|
||||||
$(BUILD_DIR)/src/libultra/%.o: CC := $(CC_OLD)
|
$(BUILD_DIR)/src/libultra/%.o: CC := $(CC_OLD)
|
||||||
|
endif
|
||||||
|
|
||||||
$(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -O1
|
$(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -O1
|
||||||
$(BUILD_DIR)/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32
|
$(BUILD_DIR)/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32
|
||||||
|
@ -648,6 +674,11 @@ endif
|
||||||
$(BUILD_DIR)/src/libleo/%.o: CC := $(CC_OLD)
|
$(BUILD_DIR)/src/libleo/%.o: CC := $(CC_OLD)
|
||||||
$(BUILD_DIR)/src/libleo/%.o: OPTFLAGS := -O2
|
$(BUILD_DIR)/src/libleo/%.o: OPTFLAGS := -O2
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),IQUE)
|
||||||
|
$(BUILD_DIR)/src/libgcc/%.o: CC := $(EGCS_CC)
|
||||||
|
$(BUILD_DIR)/src/libgcc/%.o: CFLAGS := $(EGCS_CFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
$(BUILD_DIR)/assets/misc/z_select_static/%.o: GBI_DEFINES := -DF3DEX_GBI
|
$(BUILD_DIR)/assets/misc/z_select_static/%.o: GBI_DEFINES := -DF3DEX_GBI
|
||||||
|
|
||||||
# For using asm_processor on some files:
|
# For using asm_processor on some files:
|
||||||
|
|
|
@ -8,12 +8,22 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define UNUSED __attribute__((unused))
|
#define UNUSED __attribute__((unused))
|
||||||
#define FALLTHROUGH __attribute__((fallthrough))
|
|
||||||
#define NORETURN __attribute__((noreturn))
|
|
||||||
#define NO_REORDER __attribute__((no_reorder))
|
#define NO_REORDER __attribute__((no_reorder))
|
||||||
#define SECTION_DATA __attribute__((section(".data")))
|
#define SECTION_DATA __attribute__((section(".data")))
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if __GNUC__ >= 7
|
||||||
|
#define FALLTHROUGH __attribute__((fallthrough))
|
||||||
|
#else
|
||||||
|
#define FALLTHROUGH
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__GNUC__) && defined(NON_MATCHING)
|
||||||
|
#define NORETURN __attribute__((noreturn))
|
||||||
|
#else
|
||||||
|
#define NORETURN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__GNUC__) && defined(NON_MATCHING)
|
||||||
#define UNREACHABLE() __builtin_unreachable()
|
#define UNREACHABLE() __builtin_unreachable()
|
||||||
#else
|
#else
|
||||||
#define UNREACHABLE()
|
#define UNREACHABLE()
|
||||||
|
|
|
@ -29,7 +29,7 @@ __attribute__((noreturn)) void __assert(const char* assertion, const char* file,
|
||||||
|
|
||||||
// Static/compile-time assertions
|
// Static/compile-time assertions
|
||||||
|
|
||||||
#if !defined(__sgi) && (defined(__GNUC__) || (__STDC_VERSION__ >= 201112L))
|
#if !defined(__sgi) && (__GNUC__ >= 5 || __STDC_VERSION__ >= 201112L)
|
||||||
# define static_assert(cond, msg) _Static_assert(cond, msg)
|
# define static_assert(cond, msg) _Static_assert(cond, msg)
|
||||||
#else
|
#else
|
||||||
# ifndef GLUE
|
# ifndef GLUE
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
#ifndef STDARG_H
|
#ifndef STDARG_H
|
||||||
#define STDARG_H
|
#define STDARG_H
|
||||||
|
|
||||||
// When building with GCC, use the official vaarg macros to avoid warnings and possibly bad codegen.
|
// When building with modern GCC, use the official vaarg macros to avoid warnings and possibly bad codegen.
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if __GNUC__ >= 3
|
||||||
|
|
||||||
#define va_list __builtin_va_list
|
#define va_list __builtin_va_list
|
||||||
#define va_start __builtin_va_start
|
#define va_start __builtin_va_start
|
||||||
#define va_arg __builtin_va_arg
|
#define va_arg __builtin_va_arg
|
||||||
#define va_end __builtin_va_end
|
#define va_end __builtin_va_end
|
||||||
|
|
||||||
#else
|
#elif defined(__sgi) /* IDO */
|
||||||
|
|
||||||
#ifndef _VA_LIST_
|
#ifndef _VA_LIST_
|
||||||
# define _VA_LIST_
|
# define _VA_LIST_
|
||||||
|
@ -52,6 +52,28 @@ typedef char* va_list;
|
||||||
/* No cleanup processing is required for the end of a varargs list: */
|
/* No cleanup processing is required for the end of a varargs list: */
|
||||||
#define va_end(__list)
|
#define va_end(__list)
|
||||||
|
|
||||||
#endif /* __GNUC__ */
|
#else /* EGCS */
|
||||||
|
|
||||||
|
typedef char * __gnuc_va_list;
|
||||||
|
|
||||||
|
#define __va_rounded_size(__TYPE) \
|
||||||
|
(((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
|
||||||
|
|
||||||
|
#define va_start(__AP, __LASTARG) \
|
||||||
|
(__AP = (__gnuc_va_list) __builtin_next_arg (__LASTARG))
|
||||||
|
|
||||||
|
#define va_end(__AP) ((void)0)
|
||||||
|
|
||||||
|
/* We cast to void * and then to TYPE * because this avoids
|
||||||
|
a warning about increasing the alignment requirement. */
|
||||||
|
#define va_arg(__AP, __type) \
|
||||||
|
((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \
|
||||||
|
? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
|
||||||
|
: ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
|
||||||
|
+ __va_rounded_size(__type))))[-1]
|
||||||
|
|
||||||
|
typedef __gnuc_va_list va_list;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -15,7 +15,7 @@ typedef unsigned long size_t;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if __GNUC__ >= 4
|
||||||
#define offsetof(structure, member) __builtin_offsetof (structure, member)
|
#define offsetof(structure, member) __builtin_offsetof (structure, member)
|
||||||
#else
|
#else
|
||||||
#define offsetof(structure, member) ((size_t)&(((structure*)0)->member))
|
#define offsetof(structure, member) ((size_t)&(((structure*)0)->member))
|
||||||
|
|
|
@ -53,6 +53,8 @@
|
||||||
#define PRINTF osSyncPrintf
|
#define PRINTF osSyncPrintf
|
||||||
#elif IDO_PRINTF_WORKAROUND
|
#elif IDO_PRINTF_WORKAROUND
|
||||||
#define PRINTF(args) (void)0
|
#define PRINTF(args) (void)0
|
||||||
|
#elif defined(__GNUC__) && __GNUC__ < 3
|
||||||
|
#define PRINTF(format, args...) (void)0
|
||||||
#else
|
#else
|
||||||
#define PRINTF(format, ...) (void)0
|
#define PRINTF(format, ...) (void)0
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
void osSyncPrintf(const char* fmt, ...);
|
void osSyncPrintf(const char* fmt, ...);
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) && defined(NON_MATCHING)
|
||||||
void bzero(void* __s, unsigned int __n);
|
void bzero(void* __s, unsigned int __n);
|
||||||
int bcmp(const void* __sl, const void* __s2, unsigned int __n);
|
int bcmp(const void* __sl, const void* __s2, unsigned int __n);
|
||||||
void bcopy(const void* __src, void* __dest, unsigned int __n);
|
void bcopy(const void* __src, void* __dest, unsigned int __n);
|
||||||
|
|
|
@ -201,11 +201,9 @@ typedef struct AdpcmBookHeader {
|
||||||
* The procedure used to design the codeBook is based on an adaptive clustering algorithm.
|
* The procedure used to design the codeBook is based on an adaptive clustering algorithm.
|
||||||
* The size of the codeBook is (8 * order * numPredictors) and is 8-byte aligned
|
* The size of the codeBook is (8 * order * numPredictors) and is 8-byte aligned
|
||||||
*/
|
*/
|
||||||
typedef s16 AdpcmBookData[];
|
|
||||||
|
|
||||||
typedef struct AdpcmBook {
|
typedef struct AdpcmBook {
|
||||||
/* 0x00 */ AdpcmBookHeader header;
|
/* 0x00 */ AdpcmBookHeader header;
|
||||||
/* 0x08 */ AdpcmBookData book; // size 8 * order * numPredictors. 8-byte aligned
|
/* 0x08 */ s16 book[1]; // size 8 * order * numPredictors. 8-byte aligned
|
||||||
} AdpcmBook; // size >= 0x8
|
} AdpcmBook; // size >= 0x8
|
||||||
|
|
||||||
typedef struct Sample {
|
typedef struct Sample {
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
#define AUDIO_PRINTF osSyncPrintf
|
#define AUDIO_PRINTF osSyncPrintf
|
||||||
#elif IDO_PRINTF_WORKAROUND
|
#elif IDO_PRINTF_WORKAROUND
|
||||||
#define AUDIO_PRINTF(args) (void)0
|
#define AUDIO_PRINTF(args) (void)0
|
||||||
|
#elif defined(__GNUC__) && __GNUC__ < 3
|
||||||
|
#define AUDIO_PRINTF(format, args...) (void)0
|
||||||
#else
|
#else
|
||||||
#define AUDIO_PRINTF(format, ...) (void)0
|
#define AUDIO_PRINTF(format, ...) (void)0
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -24,7 +24,7 @@ extern struct IrqMgr gIrqMgr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160 gc-us-mq:160" \
|
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160 gc-us-mq:160" \
|
||||||
"ntsc-1.0:141 ntsc-1.1:141 ntsc-1.2:141 pal-1.0:139 pal-1.1:139"
|
"ntsc-1.0:142 ntsc-1.1:142 ntsc-1.2:142 pal-1.0:140 pal-1.1:140"
|
||||||
|
|
||||||
extern u8 _buffersSegmentEnd[];
|
extern u8 _buffersSegmentEnd[];
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,8 @@ vs32 sSchedDebugPrintfEnabled = false;
|
||||||
PRINTF
|
PRINTF
|
||||||
#elif IDO_PRINTF_WORKAROUND
|
#elif IDO_PRINTF_WORKAROUND
|
||||||
#define SCHED_DEBUG_PRINTF(args) (void)0
|
#define SCHED_DEBUG_PRINTF(args) (void)0
|
||||||
|
#elif defined(__GNUC__) && __GNUC__ < 3
|
||||||
|
#define SCHED_DEBUG_PRINTF(format, args...) (void)0
|
||||||
#else
|
#else
|
||||||
#define SCHED_DEBUG_PRINTF(format, ...) (void)0
|
#define SCHED_DEBUG_PRINTF(format, ...) (void)0
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -24,6 +24,8 @@ static s32 sCurCeilingBgId;
|
||||||
PRINTF
|
PRINTF
|
||||||
#elif IDO_PRINTF_WORKAROUND
|
#elif IDO_PRINTF_WORKAROUND
|
||||||
#define ACTOR_DEBUG_PRINTF(args) (void)0
|
#define ACTOR_DEBUG_PRINTF(args) (void)0
|
||||||
|
#elif defined(__GNUC__) && __GNUC__ < 3
|
||||||
|
#define ACTOR_DEBUG_PRINTF(format, args...) (void)0
|
||||||
#else
|
#else
|
||||||
#define ACTOR_DEBUG_PRINTF(format, ...) (void)0
|
#define ACTOR_DEBUG_PRINTF(format, ...) (void)0
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3639,7 +3639,7 @@ s32 Camera_KeepOn3(Camera* camera) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
|
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
|
||||||
"ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:142 pal-1.1:142"
|
"ntsc-1.0:145 ntsc-1.1:145 ntsc-1.2:145 pal-1.0:143 pal-1.1:143"
|
||||||
|
|
||||||
s32 Camera_KeepOn4(Camera* camera) {
|
s32 Camera_KeepOn4(Camera* camera) {
|
||||||
static Vec3f D_8015BD50;
|
static Vec3f D_8015BD50;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||||
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
|
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
|
||||||
|
|
||||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-eu-mq-dbg:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128" \
|
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-eu-mq-dbg:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128" \
|
||||||
"gc-us-mq:128 ntsc-1.2:128"
|
"gc-us-mq:128 ntsc-1.2:128"
|
||||||
|
|
||||||
#define FLAGS 0
|
#define FLAGS 0
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
#include "cic6105.h"
|
#include "cic6105.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#pragma increment_block_number "gc-eu:166 gc-eu-mq:166 gc-jp:166 gc-jp-ce:166 gc-jp-mq:166 gc-us:166 gc-us-mq:166" \
|
#pragma increment_block_number "gc-eu:167 gc-eu-mq:167 gc-jp:167 gc-jp-ce:167 gc-jp-mq:167 gc-us:167 gc-us-mq:167" \
|
||||||
"ntsc-1.0:121 ntsc-1.1:121 ntsc-1.2:121 pal-1.0:121 pal-1.1:121"
|
"ntsc-1.0:121 ntsc-1.1:121 ntsc-1.2:121 pal-1.0:121 pal-1.1:121"
|
||||||
|
|
||||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||||
|
|
|
@ -15,7 +15,7 @@ IDO_RECOMP_5_3_DIR := ido_recomp/$(DETECTED_OS)/5.3
|
||||||
IDO_RECOMP_7_1_DIR := ido_recomp/$(DETECTED_OS)/7.1
|
IDO_RECOMP_7_1_DIR := ido_recomp/$(DETECTED_OS)/7.1
|
||||||
|
|
||||||
EGCS_BINUTILS_VERSION := 0.6
|
EGCS_BINUTILS_VERSION := 0.6
|
||||||
EGCS_GCC_VERSION := 0.5
|
EGCS_GCC_VERSION := 0.7
|
||||||
EGCS_DIR := egcs/$(DETECTED_OS)
|
EGCS_DIR := egcs/$(DETECTED_OS)
|
||||||
|
|
||||||
ifeq ($(shell command -v clang >/dev/null 2>&1; echo $$?),0)
|
ifeq ($(shell command -v clang >/dev/null 2>&1; echo $$?),0)
|
||||||
|
|
|
@ -1076,7 +1076,7 @@ emit_c_samples(FILE *out, soundfont *sf)
|
||||||
"NO_REORDER SECTION_DATA ALIGNED(16) AdpcmBookHeader SF%d_%s_BOOK_HEADER = {" "\n"
|
"NO_REORDER SECTION_DATA ALIGNED(16) AdpcmBookHeader SF%d_%s_BOOK_HEADER = {" "\n"
|
||||||
" %d, %d," "\n"
|
" %d, %d," "\n"
|
||||||
"};" "\n"
|
"};" "\n"
|
||||||
"NO_REORDER SECTION_DATA AdpcmBookData SF%d_%s_BOOK_DATA = {" "\n",
|
"NO_REORDER SECTION_DATA s16 SF%d_%s_BOOK_DATA[] = {" "\n",
|
||||||
// clang-format on
|
// clang-format on
|
||||||
sf->info.index, bookname, sample->aifc.book.order, sample->aifc.book.npredictors, sf->info.index,
|
sf->info.index, bookname, sample->aifc.book.order, sample->aifc.book.npredictors, sf->info.index,
|
||||||
bookname);
|
bookname);
|
||||||
|
|
|
@ -33,3 +33,4 @@ ACTOR_DEBUG_PRINTF = "void"
|
||||||
[decompme.compilers]
|
[decompme.compilers]
|
||||||
"tools/ido_recomp/*/7.1/cc" = "ido7.1"
|
"tools/ido_recomp/*/7.1/cc" = "ido7.1"
|
||||||
"tools/ido_recomp/*/5.3/cc" = "ido5.3"
|
"tools/ido_recomp/*/5.3/cc" = "ido5.3"
|
||||||
|
"tools/egcs/*/gcc" = "egcs_1.1.2-4"
|
||||||
|
|
|
@ -9,3 +9,17 @@ D_0F000000 = 0x0F000000;
|
||||||
|
|
||||||
// z_bg_mjin
|
// z_bg_mjin
|
||||||
D_06000000 = 0x06000000;
|
D_06000000 = 0x06000000;
|
||||||
|
|
||||||
|
#if PLATFORM_IQUE
|
||||||
|
__divdi3 = 0x80008010;
|
||||||
|
__moddi3 = 0x800085F0;
|
||||||
|
__udivdi3 = 0x80008B80;
|
||||||
|
__umoddi3 = 0x800090F0;
|
||||||
|
__cmpdi2 = 0x80009600;
|
||||||
|
__floatdidf = 0x80009650;
|
||||||
|
__floatdisf = 0x800096A0;
|
||||||
|
__fixunsdfdi = 0x80009760;
|
||||||
|
__fixdfdi = 0x80009960;
|
||||||
|
__fixunssfdi = 0x800099D0;
|
||||||
|
__fixsfdi = 0x80009BD0;
|
||||||
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue