mirror of https://github.com/sm64pc/sm64pc.git
A few QoL tweaks added
This commit is contained in:
parent
899490a8fd
commit
56f60f4719
8
Makefile
8
Makefile
|
@ -183,6 +183,10 @@ endif
|
|||
GRUCODE_CFLAGS := -D$(GRUCODE_DEF)
|
||||
GRUCODE_ASFLAGS := $(GRUCODE_ASFLAGS) --defsym $(GRUCODE_DEF)=1
|
||||
|
||||
ifeq ($(USE_UNUSED_PLAY_STATE),1)
|
||||
TARGET := $(TARGET).unused_play_state_enabled
|
||||
endif
|
||||
|
||||
# Default build is for PC now
|
||||
VERSION_CFLAGS := $(VERSION_CFLAGS) -DNON_MATCHING -DAVOID_UB
|
||||
|
||||
|
@ -459,8 +463,8 @@ ifeq ($(WINDOWS_BUILD),1) # fixes compilation in MXE on Linux and WSL
|
|||
OBJDUMP := $(CROSS)objdump
|
||||
else ifeq ($(OSX_BUILD),1)
|
||||
CPP := cpp-9 -P
|
||||
OBJDUMP := i686-w64-mingw32-objdump
|
||||
OBJCOPY := i686-w64-mingw32-objcopy
|
||||
OBJDUMP := i686-w64-mingw32-objdump
|
||||
else # Linux & other builds
|
||||
CPP := $(CROSS)cpp -P
|
||||
OBJCOPY := $(CROSS)objcopy
|
||||
|
@ -954,7 +958,7 @@ else
|
|||
# acpp, which needs -Wp,-+ to handle C++-style comments.
|
||||
$(BUILD_DIR)/src/audio/effects.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -sopt,-inline=sequence_channel_process_sound,-scalaroptimize=1 -Wp,-+
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -O2 -sopt,-scalaroptimize=1 -Wp,-+
|
||||
#$(BUILD_DIR)/src/audio/seqplayer.o: OPT_FLAGS := -O2 -sopt,-inline_manual,-scalaroptimize=1 -Wp,-+ #-Wo,-v,-bb,-l,seqplayer_list.txt
|
||||
$(BUILD_DIR)/src/audio/seqplayer.o: OPT_FLAGS := -O2 -sopt,-inline_manual,-scalaroptimize=1 -Wp,-+,-Wo,-v,-bb,-l,seqplayer_list.txt
|
||||
|
||||
# Add a target for build/eu/src/audio/*.copt to make it easier to see debug
|
||||
$(BUILD_DIR)/src/audio/%.acpp: src/audio/%.c
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
// --| Shindou Version Nintendo Bug Fixes
|
||||
/// Fixes bug where bully could still be interacted with while he dies
|
||||
#define BUGFIX_BULLY_NO_INTERACT_DEATH (0 || VERSION_SH || QOL_FIXES)
|
||||
/// Fixes bug where standing on a controllable platform in HMC be invisible while it blinks
|
||||
/// Fixes bug where standing on a controllable platform in HMC makes Mario invisible while it blinks
|
||||
#define BUGFIX_HMC_VISIBLE_CONTROL_PLATFORM (0 || VERSION_SH || QOL_FIXES)
|
||||
/// Fixes bug where the angle speed isn't preserved while in a pole
|
||||
#define BUGFIX_PRESERVE_VEL_POLE (0 || VERSION_SH || QOL_FIXES)
|
||||
|
@ -42,7 +42,6 @@
|
|||
/// Reenables the unused play state
|
||||
#define TWEAK_USE_UNUSED_PLAY_STATE (0 || USE_UNUSED_PLAY_STATE)
|
||||
|
||||
|
||||
// Screen Size Defines
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
|
|
@ -337,6 +337,10 @@
|
|||
// English, "R" text is different
|
||||
#define TEXT_CAMERA_ANGLE_R _("SET CAMERA ANGLE WITH [R]")
|
||||
// French
|
||||
#ifdef QOL_FIXES
|
||||
#define TEXT_CATCH_FR _("CAPTURE")
|
||||
#define TEXT_CLEAR_FR _("DÉGAGER")
|
||||
#endif
|
||||
#define TEXT_COURSE_FR _("NIVEAU")
|
||||
#define TEXT_MY_SCORE_FR _("MON SCORE")
|
||||
#define TEXT_CONTINUE_FR _("CONTINUER")
|
||||
|
@ -344,6 +348,10 @@
|
|||
#define TEXT_EXIT_GAME_FR _("QUITTER JEU")
|
||||
#define TEXT_CAMERA_ANGLE_R_FR _("RÉGLAGE CAMÉRA AVEC [R]")
|
||||
// German
|
||||
#ifdef QOL_FIXES
|
||||
#define TEXT_CATCH_DE _("FANG")
|
||||
#define TEXT_CLEAR_DE _("KLAR")
|
||||
#endif
|
||||
#define TEXT_COURSE_DE _("KURS")
|
||||
#define TEXT_MY_SCORE_DE _("LEISTUNG")
|
||||
#define TEXT_CONTINUE_DE _("WEITER")
|
||||
|
|
|
@ -3379,7 +3379,11 @@ void init_camera(struct Camera *c) {
|
|||
gLakituState.posHSpeed = 0.3f;
|
||||
gLakituState.posVSpeed = 0.3f;
|
||||
gLakituState.focHSpeed = 0.8f;
|
||||
#ifndef QOL_FIXES
|
||||
gLakituState.focHSpeed = 0.3f; // @bug set focHSpeed back-to-back
|
||||
#else
|
||||
gLakituState.focVSpeed = 0.3f;
|
||||
#endif
|
||||
gLakituState.roll = 0;
|
||||
gLakituState.keyDanceRoll = 0;
|
||||
gLakituState.unused = 0;
|
||||
|
|
|
@ -2220,6 +2220,20 @@ u8 gTextCourseArr[][7] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU) && defined(QOL_FIXES)
|
||||
u8 gTextCatchArr[][7] {
|
||||
{ TEXT_CATCH },
|
||||
{ TEXT_CATCH_FR },
|
||||
{ TEXT_CATCH_DE }
|
||||
};
|
||||
|
||||
u8 gTextClearArr[][7] {
|
||||
{ TEXT_CLEAR },
|
||||
{ TEXT_CLEAR_FR },
|
||||
{ TEXT_CLEAR_DE }
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
#define CRS_NUM_X1 93
|
||||
#else
|
||||
|
@ -2871,15 +2885,25 @@ void render_course_complete_lvl_info_and_hud_str(void) {
|
|||
u8 textCourse[] = { TEXT_COURSE };
|
||||
u8 textCatch[] = { TEXT_CATCH };
|
||||
u8 textClear[] = { TEXT_CLEAR };
|
||||
#elif defined(VERSION_EU)
|
||||
#elif defined(VERSION_EU) && !defined(QOL_FIXES)
|
||||
UNUSED u8 textCatch[] = { TEXT_CATCH }; // unused in EU
|
||||
u8 textSymStar[] = { GLYPH_STAR, GLYPH_SPACE };
|
||||
#define textCourse gTextCourseArr[gInGameLanguage]
|
||||
#else
|
||||
#elif defined(VERSION_US) && !defined(QOL_FIXES)
|
||||
u8 textCourse[] = { TEXT_COURSE };
|
||||
UNUSED u8 textCatch[] = { TEXT_CATCH }; // unused in US
|
||||
UNUSED u8 textClear[] = { TEXT_CLEAR };
|
||||
u8 textSymStar[] = { GLYPH_STAR, GLYPH_SPACE };
|
||||
#elif defined(VERSION_EU) && defined(QOL_FIXES)
|
||||
u8 textSymStar[] = { GLYPH_STAR, GLYPH_SPACE };
|
||||
#define textCatch gTextCatchArr[gInGameLanguage]
|
||||
#define textCourse gTextCourseArr[gInGameLanguage]
|
||||
#define textClear gTextClearArr[gInGameLanguage]
|
||||
#else
|
||||
u8 textCourse[] = { TEXT_COURSE };
|
||||
u8 textCatch[] = { TEXT_CATCH };
|
||||
u8 textClear[] = { TEXT_CLEAR };
|
||||
u8 textSymStar[] = { GLYPH_STAR, GLYPH_SPACE };
|
||||
#endif
|
||||
|
||||
void **actNameTbl;
|
||||
|
@ -2938,11 +2962,15 @@ void render_course_complete_lvl_info_and_hud_str(void) {
|
|||
print_generic_string(TXT_NAME_X1, 130, name);
|
||||
#ifndef VERSION_EU
|
||||
print_generic_string(TXT_CLEAR_X1, 130, textClear);
|
||||
#elif QOL_FIXES
|
||||
print_generic_string(TXT_CLEAR_X1, 130, textClear);
|
||||
#endif
|
||||
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, gDialogTextAlpha);
|
||||
print_generic_string(TXT_NAME_X2, 132, name);
|
||||
#ifndef VERSION_EU
|
||||
print_generic_string(TXT_CLEAR_X2, 132, textClear);
|
||||
#elif QOL_FIXES
|
||||
print_generic_string(TXT_CLEAR_X2, 132, textClear);
|
||||
#endif
|
||||
gSPDisplayList(gDisplayListHead++, dl_ia_text_end);
|
||||
print_hud_course_complete_string(HUD_PRINT_CONGRATULATIONS);
|
||||
|
@ -2962,12 +2990,12 @@ void render_course_complete_lvl_info_and_hud_str(void) {
|
|||
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin);
|
||||
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, gDialogTextAlpha);
|
||||
print_generic_string(76, 145, name);
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH) || defined(QOL_FIXES)
|
||||
print_generic_string(220, 145, textCatch);
|
||||
#endif
|
||||
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, gDialogTextAlpha);
|
||||
print_generic_string(74, 147, name);
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH) || defined(QOL_FIXES)
|
||||
print_generic_string(218, 147, textCatch);
|
||||
#endif
|
||||
gSPDisplayList(gDisplayListHead++, dl_ia_text_end);
|
||||
|
|
|
@ -457,9 +457,11 @@ void draw_face(struct ObjFace *face) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#ifndef QOL_FIXES
|
||||
|
||||
if (FALSE) {
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
check_tri_display(face->vtxCount);
|
||||
|
|
Loading…
Reference in New Issue