File add_infinite_continue.patch of Package taisei
--- ./src/config.orig.h 2021-05-01 04:08:10.878148000 +0900
+++ ./src/config.h 2021-05-24 11:26:25.993936415 +0900
@@ -88,6 +88,7 @@
CONFIGDEF_INT (VERSION, "@version", 0) \
\
CONFIGDEF_STRING (PLAYERNAME, "playername", "Player") \
+ CONFIGDEF_INT (INFINITE_CONTINUE, "infinite_continue", 0) \
CONFIGDEF_INT (FULLSCREEN, "fullscreen", 0) \
CONFIGDEF_INT (VID_WIDTH, "vid_width", RESX) \
CONFIGDEF_INT (VID_HEIGHT, "vid_height", RESY) \
--- ./src/ending.orig.c 2021-05-01 04:08:10.878148000 +0900
+++ ./src/ending.c 2021-05-24 11:29:56.856851368 +0900
@@ -150,7 +150,7 @@
static void init_ending(Ending *e) {
dynarray_ensure_capacity(&e->entries, 32);
- if(global.plr.continues_used) {
+ if(global.plr.continues_used || config_get_int(CONFIG_INFINITE_CONTINUE)) {
global.plr.mode->character->ending.bad(e);
} else {
global.plr.mode->character->ending.good(e);
--- ./src/player.orig.c 2021-05-01 04:08:10.882148000 +0900
+++ ./src/player.c 2021-05-24 11:34:49.104898399 +0900
@@ -549,6 +549,7 @@
void player_logic(Player* plr) {
fapproach_p(&plr->bomb_cutin_alpha, 0, 1/200.0);
+ int continue_count = config_get_int(CONFIG_INFINITE_CONTINUE) ? 0 : 1;
if(plr->respawntime - PLR_RESPAWN_TIME/2 == global.frames && plr->lives < 0 && global.replaymode != REPLAY_PLAY) {
stage_gameover();
@@ -560,7 +561,7 @@
plr->point_item_value = PLR_START_PIV;
plr->life_fragments = 0;
plr->bomb_fragments = 0;
- plr->continues_used += 1;
+ plr->continues_used += continue_count;
player_set_power(plr, 0);
stage_clear_hazards(CLEAR_HAZARDS_ALL);
spawn_items(plr->deathpos, ITEM_POWER, (int)ceil(PLR_MAX_POWER/(double)POWER_VALUE));