mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 05:25:14 +00:00
Added IMMEDIATELOAD debug flag to skip all intro stuff
This commit is contained in:
parent
c80d11a87c
commit
2d2dff6647
6 changed files with 32 additions and 2 deletions
8
Makefile
8
Makefile
|
@ -34,6 +34,8 @@ OSX_BUILD ?= 0
|
||||||
TARGET_ARCH ?= native
|
TARGET_ARCH ?= native
|
||||||
TARGET_BITS ?= 0
|
TARGET_BITS ?= 0
|
||||||
|
|
||||||
|
# Disable immediate load by default
|
||||||
|
IMMEDIATELOAD ?= 0
|
||||||
# Disable better camera by default
|
# Disable better camera by default
|
||||||
BETTERCAMERA ?= 0
|
BETTERCAMERA ?= 0
|
||||||
# Disable no drawing distance by default
|
# Disable no drawing distance by default
|
||||||
|
@ -540,6 +542,12 @@ endif
|
||||||
|
|
||||||
# Check for enhancement options
|
# Check for enhancement options
|
||||||
|
|
||||||
|
# Check for immediate load option
|
||||||
|
ifeq ($(IMMEDIATELOAD),1)
|
||||||
|
CC_CHECK += -DIMMEDIATELOAD
|
||||||
|
CFLAGS += -DIMMEDIATELOAD
|
||||||
|
endif
|
||||||
|
|
||||||
# Check for Puppycam option
|
# Check for Puppycam option
|
||||||
ifeq ($(BETTERCAMERA),1)
|
ifeq ($(BETTERCAMERA),1)
|
||||||
CC_CHECK += -DBETTERCAMERA
|
CC_CHECK += -DBETTERCAMERA
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'run' -ex 'quit'
|
make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'run' -ex 'quit'
|
2
debug.sh
2
debug.sh
|
@ -1 +1 @@
|
||||||
make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'break render_pause_courses_and_castle'
|
make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'break render_pause_courses_and_castle'
|
|
@ -3,7 +3,11 @@
|
||||||
#include "segment_symbols.h"
|
#include "segment_symbols.h"
|
||||||
#include "level_commands.h"
|
#include "level_commands.h"
|
||||||
|
|
||||||
|
#ifdef IMMEDIATELOAD
|
||||||
|
#include "levels/menu/header.h"
|
||||||
|
#else
|
||||||
#include "levels/intro/header.h"
|
#include "levels/intro/header.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "make_const_nonconst.h"
|
#include "make_const_nonconst.h"
|
||||||
|
|
||||||
|
@ -12,6 +16,11 @@ const LevelScript level_script_entry[] = {
|
||||||
SLEEP(/*frames*/ 2),
|
SLEEP(/*frames*/ 2),
|
||||||
BLACKOUT(/*active*/ FALSE),
|
BLACKOUT(/*active*/ FALSE),
|
||||||
SET_REG(/*value*/ 0),
|
SET_REG(/*value*/ 0),
|
||||||
|
#ifdef IMMEDIATELOAD
|
||||||
|
EXECUTE(/*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_main_menu_entry_1),
|
||||||
|
JUMP(/*target*/ level_main_menu_entry_1),
|
||||||
|
#else
|
||||||
EXECUTE(/*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_entry_1),
|
EXECUTE(/*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_entry_1),
|
||||||
JUMP(/*target*/ level_script_entry),
|
JUMP(/*target*/ level_script_entry),
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
|
@ -44,13 +44,17 @@ const LevelScript level_main_menu_entry_1[] = {
|
||||||
FREE_LEVEL_POOL(),
|
FREE_LEVEL_POOL(),
|
||||||
LOAD_AREA(/*area*/ 1),
|
LOAD_AREA(/*area*/ 1),
|
||||||
SET_MENU_MUSIC(/*seq*/ 0x0021),
|
SET_MENU_MUSIC(/*seq*/ 0x0021),
|
||||||
|
#ifndef IMMEDIATELOAD
|
||||||
TRANSITION(/*transType*/ WARP_TRANSITION_FADE_FROM_COLOR, /*time*/ 16, /*color*/ 0xFF, 0xFF, 0xFF),
|
TRANSITION(/*transType*/ WARP_TRANSITION_FADE_FROM_COLOR, /*time*/ 16, /*color*/ 0xFF, 0xFF, 0xFF),
|
||||||
|
#endif
|
||||||
CALL(/*arg*/ 0, /*func*/ lvl_init_menu_values_and_cursor_pos),
|
CALL(/*arg*/ 0, /*func*/ lvl_init_menu_values_and_cursor_pos),
|
||||||
CALL_LOOP(/*arg*/ 0, /*func*/ lvl_update_obj_and_load_file_selected),
|
CALL_LOOP(/*arg*/ 0, /*func*/ lvl_update_obj_and_load_file_selected),
|
||||||
GET_OR_SET(/*op*/ OP_SET, /*var*/ VAR_CURR_SAVE_FILE_NUM),
|
GET_OR_SET(/*op*/ OP_SET, /*var*/ VAR_CURR_SAVE_FILE_NUM),
|
||||||
STOP_MUSIC(/*fadeOutTime*/ 0x00BE),
|
STOP_MUSIC(/*fadeOutTime*/ 0x00BE),
|
||||||
|
#ifndef IMMEDIATELOAD
|
||||||
TRANSITION(/*transType*/ WARP_TRANSITION_FADE_INTO_COLOR, /*time*/ 16, /*color*/ 0xFF, 0xFF, 0xFF),
|
TRANSITION(/*transType*/ WARP_TRANSITION_FADE_INTO_COLOR, /*time*/ 16, /*color*/ 0xFF, 0xFF, 0xFF),
|
||||||
SLEEP(/*frames*/ 16),
|
SLEEP(/*frames*/ 16),
|
||||||
|
#endif
|
||||||
CLEAR_LEVEL(),
|
CLEAR_LEVEL(),
|
||||||
SLEEP_BEFORE_EXIT(/*frames*/ 1),
|
SLEEP_BEFORE_EXIT(/*frames*/ 1),
|
||||||
SET_REG(/*value*/ LEVEL_CASTLE_GROUNDS),
|
SET_REG(/*value*/ LEVEL_CASTLE_GROUNDS),
|
||||||
|
|
|
@ -1115,9 +1115,13 @@ void check_sound_mode_menu_clicked_buttons(struct Object *soundModeButton) {
|
||||||
* retuning sSelectedFileNum to a save value defined in fileNum.
|
* retuning sSelectedFileNum to a save value defined in fileNum.
|
||||||
*/
|
*/
|
||||||
void load_main_menu_save_file(struct Object *fileButton, s32 fileNum) {
|
void load_main_menu_save_file(struct Object *fileButton, s32 fileNum) {
|
||||||
|
#ifdef IMMEDIATELOAD
|
||||||
|
sSelectedFileNum = fileNum;
|
||||||
|
#else
|
||||||
if (fileButton->oMenuButtonState == MENU_BUTTON_STATE_FULLSCREEN) {
|
if (fileButton->oMenuButtonState == MENU_BUTTON_STATE_FULLSCREEN) {
|
||||||
sSelectedFileNum = fileNum;
|
sSelectedFileNum = fileNum;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1593,6 +1597,11 @@ void handle_cursor_button_input(void) {
|
||||||
sClickPos[1] = sCursorPos[1];
|
sClickPos[1] = sCursorPos[1];
|
||||||
sCursorClickingTimer = 1;
|
sCursorClickingTimer = 1;
|
||||||
}
|
}
|
||||||
|
#ifdef IMMEDIATELOAD
|
||||||
|
sClickPos[0] = sCursorPos[0];
|
||||||
|
sClickPos[1] = sCursorPos[1];
|
||||||
|
sCursorClickingTimer = 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue