Compare commits

..

No commits in common. "72c27ed92ec035d77e2f9d2fc8a6223b0c21f064" and "cdb9d22e6c8bcf72ed5c54df7e4eab748dc208b1" have entirely different histories.

6 changed files with 4 additions and 48 deletions

View File

@ -3,12 +3,12 @@
#define MAX_TEXTURES 16 #define MAX_TEXTURES 16
#define MAX_SPRITES 64 #define MAX_SPRITES 64
#define MAX_SOUNDS 32 #define MAX_SOUNDS 16
#define MAX_FONTS 4 #define MAX_FONTS 4
#define MAX_N_TILES 4096 #define MAX_N_TILES 4096
#define MAX_NAME_LEN 32 #define MAX_NAME_LEN 32
#define MAX_LEVEL_PACK 4 #define MAX_LEVEL_PACK 4
#define N_SFX 32 #define N_SFX 18
#define MAX_EMITTER_CONF 8 #define MAX_EMITTER_CONF 8
//#define MAX_PARTICLE_EMITTER 8 //#define MAX_PARTICLE_EMITTER 8
#define MAX_ACTIVE_PARTICLE_EMITTER 32 #define MAX_ACTIVE_PARTICLE_EMITTER 32

View File

@ -48,14 +48,6 @@ int main(void)
load_sfx(&engine, "snd_wdrop", WATER_IN_SFX); load_sfx(&engine, "snd_wdrop", WATER_IN_SFX);
load_sfx(&engine, "snd_bland", BOULDER_LAND_SFX); load_sfx(&engine, "snd_bland", BOULDER_LAND_SFX);
load_sfx(&engine, "snd_bubble", BUBBLE_SFX); load_sfx(&engine, "snd_bubble", BUBBLE_SFX);
load_sfx(&engine, "snd_mdestroy", METAL_DESTROY_SFX);
load_sfx(&engine, "snd_wdestroy", WOOD_DESTROY_SFX);
load_sfx(&engine, "snd_cland", WOOD_LAND_SFX);
load_sfx(&engine, "snd_explsn", EXPLOSION_SFX);
load_sfx(&engine, "snd_coin", COIN_SFX);
load_sfx(&engine, "snd_arrhit", ARROW_DESTROY_SFX);
load_sfx(&engine, "snd_launch", ARROW_RELEASE_SFX);
load_sfx(&engine, "snd_launch", BOMB_RELEASE_SFX);
LevelScene_t scene; LevelScene_t scene;
scene.scene.engine = &engine; scene.scene.engine = &engine;

View File

@ -32,6 +32,5 @@ typedef enum SFXTag {
BOMB_RELEASE_SFX, BOMB_RELEASE_SFX,
EXPLOSION_SFX, EXPLOSION_SFX,
BUBBLE_SFX, BUBBLE_SFX,
COIN_SFX,
} SFXTag_t; } SFXTag_t;
#endif #endif

View File

@ -281,7 +281,6 @@ void destroy_entity(Scene_t* scene, TileGrid_t* tilemap, Entity_t* p_ent)
.update_func = &simple_particle_system_update, .update_func = &simple_particle_system_update,
}; };
play_particle_emitter(&scene->part_sys, &emitter); play_particle_emitter(&scene->part_sys, &emitter);
play_sfx(scene->engine, COIN_SFX);
} }
else if (p_ent->m_tag == ARROW_ENT_TAG) else if (p_ent->m_tag == ARROW_ENT_TAG)
{ {
@ -295,7 +294,6 @@ void destroy_entity(Scene_t* scene, TileGrid_t* tilemap, Entity_t* p_ent)
.update_func = &simple_particle_system_update, .update_func = &simple_particle_system_update,
}; };
play_particle_emitter(&scene->part_sys, &emitter); play_particle_emitter(&scene->part_sys, &emitter);
play_sfx(scene->engine, ARROW_DESTROY_SFX);
} }
remove_entity_from_tilemap(&scene->ent_manager, tilemap, p_ent); remove_entity_from_tilemap(&scene->ent_manager, tilemap, p_ent);
@ -500,8 +498,6 @@ void player_movement_input_system(Scene_t* scene)
{ {
// the else if check is to prevent playing the landing sfx // the else if check is to prevent playing the landing sfx
// on first frame jumps // on first frame jumps
// This is also why this is done here instead of in the
// state transition function
play_sfx(scene->engine, PLAYER_LAND_SFX); play_sfx(scene->engine, PLAYER_LAND_SFX);
} }
} }
@ -1472,10 +1468,6 @@ void state_transition_update_system(Scene_t* scene)
{ {
play_sfx(scene->engine, BOULDER_LAND_SFX); play_sfx(scene->engine, BOULDER_LAND_SFX);
} }
else if (p_ent->m_tag == CRATES_ENT_TAG)
{
play_sfx(scene->engine, WOOD_LAND_SFX);
}
} }
if (p_mstate->water_state == 0b01) if (p_mstate->water_state == 0b01)
{ {
@ -1761,19 +1753,15 @@ void container_destroy_system(Scene_t* scene)
{ {
case CONTAINER_LEFT_ARROW: case CONTAINER_LEFT_ARROW:
new_ent = create_arrow(&scene->ent_manager, 0); new_ent = create_arrow(&scene->ent_manager, 0);
play_sfx(scene->engine, ARROW_RELEASE_SFX);
break; break;
case CONTAINER_RIGHT_ARROW: case CONTAINER_RIGHT_ARROW:
new_ent = create_arrow(&scene->ent_manager, 1); new_ent = create_arrow(&scene->ent_manager, 1);
play_sfx(scene->engine, ARROW_RELEASE_SFX);
break; break;
case CONTAINER_UP_ARROW: case CONTAINER_UP_ARROW:
new_ent = create_arrow(&scene->ent_manager, 2); new_ent = create_arrow(&scene->ent_manager, 2);
play_sfx(scene->engine, ARROW_RELEASE_SFX);
break; break;
case CONTAINER_DOWN_ARROW: case CONTAINER_DOWN_ARROW:
new_ent = create_arrow(&scene->ent_manager, 3); new_ent = create_arrow(&scene->ent_manager, 3);
play_sfx(scene->engine, ARROW_RELEASE_SFX);
break; break;
case CONTAINER_BOMB: case CONTAINER_BOMB:
if (dmg_src != NULL && dmg_src->m_tag == PLAYER_ENT_TAG) if (dmg_src != NULL && dmg_src->m_tag == PLAYER_ENT_TAG)
@ -1792,37 +1780,19 @@ void container_destroy_system(Scene_t* scene)
launch_dir.x = -1; launch_dir.x = -1;
} }
new_ent = create_bomb(&scene->ent_manager, launch_dir); new_ent = create_bomb(&scene->ent_manager, launch_dir);
play_sfx(scene->engine, BOMB_RELEASE_SFX);
} }
else else
{ {
new_ent = create_explosion(&scene->ent_manager); new_ent = create_explosion(&scene->ent_manager);
play_sfx(scene->engine, EXPLOSION_SFX);
} }
break; break;
case CONTAINER_EXPLOSION: case CONTAINER_EXPLOSION:
new_ent = create_explosion(&scene->ent_manager); new_ent = create_explosion(&scene->ent_manager);
play_sfx(scene->engine, EXPLOSION_SFX);
break; break;
default: default:
new_ent = NULL; new_ent = NULL;
break; break;
} }
if (
p_container->item != CONTAINER_EXPLOSION
&& p_container->item != CONTAINER_BOMB
)
{
if (p_container->material == WOODEN_CONTAINER)
{
play_sfx(scene->engine, WOOD_DESTROY_SFX);
}
else
{
play_sfx(scene->engine, METAL_DESTROY_SFX);
}
}
if (new_ent != NULL) if (new_ent != NULL)
{ {
CTransform_t* new_p_ct = get_component(new_ent, CTRANSFORM_COMP_T); CTransform_t* new_p_ct = get_component(new_ent, CTRANSFORM_COMP_T);

View File

@ -47,7 +47,6 @@ Entity_t* create_crate(EntityManager_t* ent_manager, bool metal, ContainerItem_t
p_ctransform->grav_delay = 7; p_ctransform->grav_delay = 7;
p_ctransform->shape_factor = metal ? (Vector2){0.7,0.7} : (Vector2){0.8,0.8} ; p_ctransform->shape_factor = metal ? (Vector2){0.7,0.7} : (Vector2){0.8,0.8} ;
add_component(p_crate, CMOVEMENTSTATE_T); add_component(p_crate, CMOVEMENTSTATE_T);
add_component(p_crate, CTILECOORD_COMP_T); add_component(p_crate, CTILECOORD_COMP_T);
CHurtbox_t* p_hurtbox = add_component(p_crate, CHURTBOX_T); CHurtbox_t* p_hurtbox = add_component(p_crate, CHURTBOX_T);
p_hurtbox->size = p_bbox->size; p_hurtbox->size = p_bbox->size;
@ -90,9 +89,7 @@ Entity_t* create_boulder(EntityManager_t* ent_manager)
p_ctransform->grav_delay = 5; p_ctransform->grav_delay = 5;
p_ctransform->active = true; p_ctransform->active = true;
p_ctransform->shape_factor = (Vector2){0.6, 0.6}; p_ctransform->shape_factor = (Vector2){0.6, 0.6};
CMovementState_t* p_move = add_component(p_boulder, CMOVEMENTSTATE_T); add_component(p_boulder, CMOVEMENTSTATE_T);
p_move->ground_state |= 3;
add_component(p_boulder, CTILECOORD_COMP_T); add_component(p_boulder, CTILECOORD_COMP_T);
CMoveable_t* p_cmove = add_component(p_boulder, CMOVEABLE_T); CMoveable_t* p_cmove = add_component(p_boulder, CMOVEABLE_T);
p_cmove->move_speed = 8; p_cmove->move_speed = 8;

View File

@ -74,9 +74,7 @@ Entity_t* create_player(EntityManager_t* ent_manager)
p_cjump->jump_ready = true; p_cjump->jump_ready = true;
add_component(p_ent, CPLAYERSTATE_T); add_component(p_ent, CPLAYERSTATE_T);
add_component(p_ent, CTILECOORD_COMP_T); add_component(p_ent, CTILECOORD_COMP_T);
add_component(p_ent, CMOVEMENTSTATE_T);
CMovementState_t* p_move = add_component(p_ent, CMOVEMENTSTATE_T);
p_move->ground_state |= 3;
CHitBoxes_t* p_hitbox = add_component(p_ent, CHITBOXES_T); CHitBoxes_t* p_hitbox = add_component(p_ent, CHITBOXES_T);
p_hitbox->n_boxes = 2; p_hitbox->n_boxes = 2;
p_hitbox->boxes[0] = (Rectangle) { p_hitbox->boxes[0] = (Rectangle) {