Skip to content

Commit 4463c2c

Browse files
committed
More detailed cave bg + fade in/fade out on game start/exit
1 parent 9a8990b commit 4463c2c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1094
-271
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ add_executable(spelunkyds
5151
source/collisions/collisions.cpp
5252
source/collisions/collisions.h
5353
source/hud/hud.cpp source/hud/hud.h
54-
source/sprites/sprite_info.cpp source/sprites/sprite_info.h source/camera/camera.cpp source/camera/camera.h source/memory/oam_manager.cpp source/memory/oam_manager.h source/input/input_handler.cpp source/input/input_handler.h source/sprites/spritesheet_type.h source/memory/oam_type.h source/sprites/items/rock.h source/sprites/items/jar.cpp source/sprites/items/jar.h source/sprites/enemies/snake.cpp source/sprites/enemies/snake.h source/sprites/collectibles/moniez.cpp source/sprites/collectibles/moniez.h source/tiles/map_tile_type.h source/sprites/animations/blood.cpp source/sprites/animations/blood.h source/sprites/animations/blood_element.cpp source/sprites/animations/blood_element.h source/sprites/non_interactive/spelunky_title.cpp source/sprites/non_interactive/spelunky_title.h source/tiles/tile_orientation.h source/sprites/non_interactive/title_menu_sign.cpp source/sprites/non_interactive/title_menu_sign.h source/sprites/menu_sign_type.h source/tiles/splash_screen_type.h source/rooms/left_right_rooms.h source/rooms/left_right_down_rooms.h source/rooms/left_right_up_rooms.h source/rooms/closed_rooms.h source/rooms/splash_screens.h source/rooms/entrance_rooms.h source/rooms/exit_rooms.h source/rooms/room_type.h source/sprites/enemies/bat.cpp source/sprites/enemies/bat.h source/sprites/enemies/spider.cpp source/sprites/enemies/spider.h source/sprites/sprite_type.h source/globals_definitions.h source/sound/sound_utils.h source/console/console_utils.h source/time/time_utils.h source/time/time_utils.cpp source/memory/oam_utils.cpp source/memory/oam_utils.h source/sprites/main_dude/whip.cpp source/sprites/main_dude/whip.h source/sprites/traps/spikes.cpp source/sprites/traps/spikes.h source/sprites/collectibles/chest.cpp source/sprites/collectibles/chest.h source/sprites/collectibles/crate.h source/sprites/collectibles/crate.cpp source/sprites/collectibles/shotgun.h source/sprites/collectibles/shotgun.cpp source/sprites/collectibles/bullet.h source/sprites/collectibles/bullet.cpp source/sprites/collectibles/pistol.h source/sprites/collectibles/pistol.cpp source/sprites/collectibles/spring_shoes.h source/sprites/collectibles/spring_shoes.cpp source/sprites/collectibles/mitt.h source/sprites/collectibles/mitt.cpp source/sprites/collectibles/glove.h source/sprites/collectibles/glove.cpp source/sprites/collectibles/compass.h source/sprites/collectibles/compass.cpp source/sprites/animations/got_collectible.h source/sprites/animations/got_collectible.cpp source/camera/layer_level.h source/sprites/enemies/shopkeeper.h source/sprites/enemies/shopkeeper.cpp source/sprites/main_dude/dude_utils.cpp source/sprites/main_dude/game_state.h source/sprites/main_dude/game_state.cpp source/sprites/enemies/caveman.h source/sprites/enemies/caveman.cpp source/sprites/animations/fall_poof.h source/sprites/animations/fall_poof.cpp source/sprites/items/cape.h source/sprites/items/cape.cpp source/sprites/items/spike_shoes.h source/sprites/items/spike_shoes.cpp source/sprites/items/pick.h source/sprites/items/pick.cpp source/sprites/items/jetpack.h source/sprites/items/jetpack.cpp source/sprites/items/parachute.h source/sprites/items/parachute.cpp source/sprites/items/rope_pile.h source/sprites/items/rope_pile.cpp source/sprites/items/bomb_bag.h source/sprites/items/bomb_bag.cpp source/sprites/items/bomb_box.h source/sprites/items/bomb_box.cpp source/sprites/animations/flame.h source/sprites/animations/flame_element.cpp source/sprites/animations/flame.cpp source/sprites/animations/flame_element.h source/sprites/enemies/damsel.h source/sprites/enemies/damsel.cpp source/sprites/animations/smooch.h source/sprites/animations/smooch.cpp source/rooms/shops.h source/sprites/non_interactive/lamp.h source/sprites/non_interactive/lamp.cpp source/tiles/direction.h source/sprites/collectibles/collectibles_utils.h source/sprites/collectibles/collectibles_utils.cpp source/sprites/shopping_object.h source/sprites/non_interactive/shopping_icon.h source/sprites/non_interactive/shopping_icon.cpp source/sprites/shopping_object.cpp source/sprites/traps/arrow_trap.h source/sprites/traps/arrow_trap.cpp source/sprites/animations/blast.h source/sprites/animations/blast.cpp source/rooms/snake_well.h)
54+
source/sprites/sprite_info.cpp source/sprites/sprite_info.h source/camera/camera.cpp source/camera/camera.h source/memory/oam_manager.cpp source/memory/oam_manager.h source/input/input_handler.cpp source/input/input_handler.h source/sprites/spritesheet_type.h source/memory/oam_type.h source/sprites/items/rock.h source/sprites/items/jar.cpp source/sprites/items/jar.h source/sprites/enemies/snake.cpp source/sprites/enemies/snake.h source/sprites/collectibles/moniez.cpp source/sprites/collectibles/moniez.h source/tiles/map_tile_type.h source/sprites/animations/blood.cpp source/sprites/animations/blood.h source/sprites/animations/blood_element.cpp source/sprites/animations/blood_element.h source/sprites/non_interactive/spelunky_title.cpp source/sprites/non_interactive/spelunky_title.h source/tiles/tile_orientation.h source/sprites/non_interactive/title_menu_sign.cpp source/sprites/non_interactive/title_menu_sign.h source/sprites/menu_sign_type.h source/tiles/splash_screen_type.h source/rooms/left_right_rooms.h source/rooms/left_right_down_rooms.h source/rooms/left_right_up_rooms.h source/rooms/closed_rooms.h source/rooms/splash_screens.h source/rooms/entrance_rooms.h source/rooms/exit_rooms.h source/rooms/room_type.h source/sprites/enemies/bat.cpp source/sprites/enemies/bat.h source/sprites/enemies/spider.cpp source/sprites/enemies/spider.h source/sprites/sprite_type.h source/globals_definitions.h source/sound/sound_utils.h source/console/console_utils.h source/time/time_utils.h source/time/time_utils.cpp source/memory/oam_utils.cpp source/memory/oam_utils.h source/sprites/main_dude/whip.cpp source/sprites/main_dude/whip.h source/sprites/traps/spikes.cpp source/sprites/traps/spikes.h source/sprites/collectibles/chest.cpp source/sprites/collectibles/chest.h source/sprites/collectibles/crate.h source/sprites/collectibles/crate.cpp source/sprites/collectibles/shotgun.h source/sprites/collectibles/shotgun.cpp source/sprites/collectibles/bullet.h source/sprites/collectibles/bullet.cpp source/sprites/collectibles/pistol.h source/sprites/collectibles/pistol.cpp source/sprites/collectibles/spring_shoes.h source/sprites/collectibles/spring_shoes.cpp source/sprites/collectibles/mitt.h source/sprites/collectibles/mitt.cpp source/sprites/collectibles/glove.h source/sprites/collectibles/glove.cpp source/sprites/collectibles/compass.h source/sprites/collectibles/compass.cpp source/sprites/animations/got_collectible.h source/sprites/animations/got_collectible.cpp source/camera/layer_level.h source/sprites/enemies/shopkeeper.h source/sprites/enemies/shopkeeper.cpp source/sprites/main_dude/dude_utils.cpp source/sprites/main_dude/game_state.h source/sprites/main_dude/game_state.cpp source/sprites/enemies/caveman.h source/sprites/enemies/caveman.cpp source/sprites/animations/fall_poof.h source/sprites/animations/fall_poof.cpp source/sprites/items/cape.h source/sprites/items/cape.cpp source/sprites/items/spike_shoes.h source/sprites/items/spike_shoes.cpp source/sprites/items/pick.h source/sprites/items/pick.cpp source/sprites/items/jetpack.h source/sprites/items/jetpack.cpp source/sprites/items/parachute.h source/sprites/items/parachute.cpp source/sprites/items/rope_pile.h source/sprites/items/rope_pile.cpp source/sprites/items/bomb_bag.h source/sprites/items/bomb_bag.cpp source/sprites/items/bomb_box.h source/sprites/items/bomb_box.cpp source/sprites/animations/flame.h source/sprites/animations/flame_element.cpp source/sprites/animations/flame.cpp source/sprites/animations/flame_element.h source/sprites/enemies/damsel.h source/sprites/enemies/damsel.cpp source/sprites/animations/smooch.h source/sprites/animations/smooch.cpp source/rooms/shops.h source/sprites/non_interactive/lamp.h source/sprites/non_interactive/lamp.cpp source/tiles/direction.h source/sprites/collectibles/collectibles_utils.h source/sprites/collectibles/collectibles_utils.cpp source/sprites/shopping_object.h source/sprites/non_interactive/shopping_icon.h source/sprites/non_interactive/shopping_icon.cpp source/sprites/shopping_object.cpp source/sprites/traps/arrow_trap.h source/sprites/traps/arrow_trap.cpp source/sprites/animations/blast.h source/sprites/animations/blast.cpp source/rooms/snake_well.h source/sprites/enemies/skeleton.cpp source/sprites/enemies/skeleton.h)

gfx/_not_used/tilemaps/tiles.png

-132 KB
Binary file not shown.

gfx/tilemaps/bgCave.png

-976 Bytes
Binary file not shown.

gfx/tilemaps/gfx_cavebg.png

497 Bytes
Loading

sounds/mCave.wav

1.46 MB
Binary file not shown.

sounds/mTitle.wav

641 KB
Binary file not shown.

source/collisions/collisions.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ bool Collisions::isStandingOnRightEdge(MapTile *neighboringTiles[9], int x, int
219219
return (!neighboringTiles[TileOrientation::RIGHT_DOWN] /*&& !neighboringTiles[8]->collidable && x >= (tileX * 16)*/);
220220
}
221221

222+
222223
//#include <cassert>
223224
//
224225
void Collisions::getNeighboringTiles(MapTile *mapTiles[32][32], int xx, int yy, MapTile *out_neighboringTiles[9]) {

source/game_loop.cpp

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,38 @@ void gameloop::scroll() {
5555

5656
global::input_handler->updateInput();
5757

58+
if (global::game_state->just_started_game) {
59+
global::game_state->change_brightness_timer += *global::timer;
60+
61+
if (global::game_state->change_brightness_timer > 100) {
62+
63+
global::game_state->brightness_level--;
64+
65+
if (global::game_state->brightness_level == 0)
66+
global::game_state->just_started_game = false;
67+
else
68+
setBrightness(3, global::game_state->brightness_level);
69+
70+
}
71+
72+
}
73+
74+
if (global::game_state->in_main_menu && global::game_state->exiting_game) {
75+
76+
global::game_state->change_brightness_timer += *global::timer;
77+
78+
if (global::game_state->change_brightness_timer > 100) {
79+
80+
global::game_state->brightness_level++;
81+
82+
if (global::game_state->brightness_level > 16)
83+
exit(0);
84+
85+
setBrightness(3, global::game_state->brightness_level);
86+
87+
}
88+
}
89+
5890
if (global::game_state->bombed) {
5991
global::level_generator->render_tiles_on_base_map();
6092
global::game_state->bombed = false;
@@ -305,14 +337,14 @@ void gameloop::populate_cave_npcs() {
305337
u16 pos_x = (OFFSET_X + tab_x * 2 + 2 * ROOM_TILE_WIDTH_GAME * a) / 2;
306338
u16 pos_y = (OFFSET_X + tab_y * 2 + 2 * ROOM_TILE_HEIGHT_GAME * ((ROOMS_Y - b) - 1)) / 2;
307339

308-
if(npc == 9 || npc == 10){
340+
if (npc == 9 || npc == 10) {
309341
ArrowTrap *arrowTrap = new ArrowTrap();
310342
arrowTrap->init();
311343
arrowTrap->x = pos_x * 16;
312344
arrowTrap->y = pos_y * 16;
313-
if(npc == 9)
345+
if (npc == 9)
314346
arrowTrap->sprite_state = SpriteState::W_LEFT;
315-
else if(npc == 10)
347+
else if (npc == 10)
316348
arrowTrap->sprite_state = SpriteState::W_RIGHT;
317349
global::sprites.push_back(arrowTrap);
318350
}
@@ -400,7 +432,7 @@ void gameloop::populate_cave_npcs() {
400432
shop_starting_item = 0;
401433

402434
ShoppingObject *m = collectibles_utils::spawn_item(pos_x * 16, pos_y * 16, shop_starting_item,
403-
false);
435+
false);
404436

405437
shop_items[shop_items_index] = m;
406438
shop_items_index++;
@@ -476,9 +508,11 @@ void gameloop::populate_main_menu() {
476508
Rope *rope = new Rope();
477509
rope->init();
478510
rope->x = 227;
479-
rope->y = 260;
511+
rope->y = 272;
480512
rope->ySpeed = -4;
481513

514+
rope->instant_rope = true;
515+
rope->extended_rope = true;
482516
rope->hold_by_main_dude = false;
483517
rope->activated = false;
484518
rope->thrown = true;

0 commit comments

Comments
 (0)