projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed cave flashing on open outbox for non-black cave background color
[rocksndiamonds.git]
/
src
/
game_bd
/
main_bd.c
diff --git
a/src/game_bd/main_bd.c
b/src/game_bd/main_bd.c
index 2d742bee733d5aca128a37f8366df99e0b599407..e6def9ed41643850f7e1dead0799690339f5cd08 100644
(file)
--- a/
src/game_bd/main_bd.c
+++ b/
src/game_bd/main_bd.c
@@
-181,6
+181,14
@@
boolean SaveNativeLevel_BD(char *filename)
return gd_caveset_save_to_file(filename);
}
return gd_caveset_save_to_file(filename);
}
+void DumpLevelset_BD(void)
+{
+ int num_levels_per_cave = (gd_caveset_has_levels() ? 5 : 1);
+
+ Print("Number of levels: %d\n", num_levels_per_cave * gd_caveset_count());
+ Print("First level number: %d\n", 1);
+}
+
// ============================================================================
// game engine functions
// ============================================================================
// game engine functions
@@
-247,20
+255,28
@@
int getTimeLeft_BD(void)
return 0;
}
return 0;
}
+void SetTimeFrames_BD(int frames_played)
+{
+ // needed to store final time after solving game (before counting down remaining time)
+ if (game_bd.game->state_counter == GAME_INT_CAVE_RUNNING)
+ game_bd.frames_played = frames_played;
+
+}
+
static void UpdateGameDoorValues_BD(void)
{
GdCave *cave = game_bd.game->cave;
static void UpdateGameDoorValues_BD(void)
{
GdCave *cave = game_bd.game->cave;
- int time_
secs
= gd_cave_time_show(cave, cave->time);
+ int time_
left
= gd_cave_time_show(cave, cave->time);
int gems_still_needed = MAX(0, (cave->diamonds_needed - cave->diamonds_collected));
int gems_still_needed = MAX(0, (cave->diamonds_needed - cave->diamonds_collected));
- game_bd.time_
played = time_secs
;
+ game_bd.time_
left = time_left
;
game_bd.gems_still_needed = gems_still_needed;
game_bd.score = game_bd.game->player_score;
if (game.LevelSolved)
{
// update time and score in panel while counting bonus time
game_bd.gems_still_needed = gems_still_needed;
game_bd.score = game_bd.game->player_score;
if (game.LevelSolved)
{
// update time and score in panel while counting bonus time
- game.LevelSolved_CountingTime = game_bd.time_
played
;
+ game.LevelSolved_CountingTime = game_bd.time_
left
;
game.LevelSolved_CountingScore = game_bd.score;
}
}
game.LevelSolved_CountingScore = game_bd.score;
}
}
@@
-312,10
+328,6
@@
void InitGameEngine_BD(void)
game_bd.game_over = FALSE;
game_bd.cover_screen = FALSE;
game_bd.game_over = FALSE;
game_bd.cover_screen = FALSE;
- game_bd.time_played = 0;
- game_bd.gems_still_needed = 0;
- game_bd.score = 0;
-
gd_caveset_last_selected = native_bd_level.cave_nr;
gd_caveset_last_selected_level = native_bd_level.level_nr;
gd_caveset_last_selected = native_bd_level.cave_nr;
gd_caveset_last_selected_level = native_bd_level.level_nr;
@@
-348,8
+360,10
@@
void InitGameEngine_BD(void)
// when skipping uncovering, continue with uncovered playfield
if (setup.bd_skip_uncovering)
game_bd.game->state_counter = GAME_INT_UNCOVER_ALL + 1;
// when skipping uncovering, continue with uncovered playfield
if (setup.bd_skip_uncovering)
game_bd.game->state_counter = GAME_INT_UNCOVER_ALL + 1;
+ else if (isLevelEditorTestGame())
+ game_bd.game->state_counter = GAME_INT_UNCOVER_ALL - 8;
- if (setup.bd_skip_uncovering)
+ if (setup.bd_skip_uncovering
|| isLevelEditorTestGame()
)
gd_scroll(game_bd.game, TRUE, TRUE);
ClearRectangle(gd_screen_bitmap, 0, 0, SXSIZE, SYSIZE);
gd_scroll(game_bd.game, TRUE, TRUE);
ClearRectangle(gd_screen_bitmap, 0, 0, SXSIZE, SYSIZE);
@@
-442,29
+456,29
@@
boolean use_native_bd_graphics_engine(void)
// check if smooth game element movements selected in setup menu
boolean use_bd_smooth_movements(void)
{
// check if smooth game element movements selected in setup menu
boolean use_bd_smooth_movements(void)
{
- return ((setup.bd_smooth_movements == TRUE) ||
- (setup.bd_smooth_movements == AUTO && !use_native_bd_graphics_engine()));
+ return ((setup.bd_smooth_movements ==
STATE_
TRUE) ||
+ (setup.bd_smooth_movements ==
STATE_
AUTO && !use_native_bd_graphics_engine()));
}
// check if player pushing graphics selected in setup menu
boolean use_bd_pushing_graphics(void)
{
}
// check if player pushing graphics selected in setup menu
boolean use_bd_pushing_graphics(void)
{
- return ((setup.bd_pushing_graphics == TRUE) ||
- (setup.bd_pushing_graphics == AUTO && !use_native_bd_graphics_engine()));
+ return ((setup.bd_pushing_graphics ==
STATE_
TRUE) ||
+ (setup.bd_pushing_graphics ==
STATE_
AUTO && !use_native_bd_graphics_engine()));
}
// check if player up/down graphics selected in setup menu
boolean use_bd_up_down_graphics(void)
{
}
// check if player up/down graphics selected in setup menu
boolean use_bd_up_down_graphics(void)
{
- return ((setup.bd_up_down_graphics == TRUE) ||
- (setup.bd_up_down_graphics == AUTO && !use_native_bd_graphics_engine()));
+ return ((setup.bd_up_down_graphics ==
STATE_
TRUE) ||
+ (setup.bd_up_down_graphics ==
STATE_
AUTO && !use_native_bd_graphics_engine()));
}
// check if skipping falling sounds selected in setup menu
boolean skip_bd_falling_sounds(void)
{
}
// check if skipping falling sounds selected in setup menu
boolean skip_bd_falling_sounds(void)
{
- return ((setup.bd_skip_falling_sounds == TRUE) ||
- (setup.bd_skip_falling_sounds == AUTO && !game.use_native_bd_sound_engine));
+ return ((setup.bd_skip_falling_sounds ==
STATE_
TRUE) ||
+ (setup.bd_skip_falling_sounds ==
STATE_
AUTO && !game.use_native_bd_sound_engine));
}
Bitmap **GetTitleScreenBitmaps_BD(void)
}
Bitmap **GetTitleScreenBitmaps_BD(void)