fp: Resize the assets appropriately reducing start up time
This commit is contained in:
+6
-25
@@ -270,15 +270,7 @@ void TELY_DLL_Init(void *user_data)
|
||||
}
|
||||
|
||||
// NOTE: Load sprite sheets ====================================================================
|
||||
{
|
||||
game->terry_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("terry_resized_25%"));
|
||||
game->terry_merchant_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("terry_merchant_resized_25%"));
|
||||
game->smoochie_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("smoochie_resized_25%"));
|
||||
game->clinger_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("clinger_resized_25%"));
|
||||
game->club_terry_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("club_terry_resized_25%"));
|
||||
game->map_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("map_resized_25%"));
|
||||
game->heart_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("heart_resized_25%"));
|
||||
}
|
||||
game->atlas_sprite_sheet = FP_LoadSpriteSheetFromSpec(platform, assets, &platform->arena, DQN_STRING8("atlas"));
|
||||
|
||||
game->entities = Dqn_VArray_Init<FP_GameEntity>(&platform->arena, 1024 * 8);
|
||||
game->root_entity = Dqn_VArray_Make(&game->entities, Dqn_ZeroMem_No);
|
||||
@@ -286,8 +278,8 @@ void TELY_DLL_Init(void *user_data)
|
||||
|
||||
// NOTE: Map
|
||||
{
|
||||
TELY_AssetSpriteAnimation *sprite_anim = TELY_Asset_GetSpriteAnimation(&game->map_sprite_sheet, g_anim_names.map);
|
||||
Dqn_Rect sprite_rect = game->map_sprite_sheet.rects.data[sprite_anim->index];
|
||||
TELY_AssetSpriteAnimation *sprite_anim = TELY_Asset_GetSpriteAnimation(&game->atlas_sprite_sheet, g_anim_names.map);
|
||||
Dqn_Rect sprite_rect = game->atlas_sprite_sheet.rects.data[sprite_anim->index];
|
||||
|
||||
FP_GameEntity *entity = FP_Game_MakeEntityPointerF(game, "Map");
|
||||
entity->type = FP_EntityType_Map;
|
||||
@@ -402,6 +394,7 @@ void TELY_DLL_Init(void *user_data)
|
||||
|
||||
void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_PlatformInput *input, FP_GameEntity *entity, Dqn_V2 dir_vector)
|
||||
{
|
||||
TELY_AssetSpriteSheet *sheet = &game->atlas_sprite_sheet;
|
||||
FP_GameEntityAction *action = &entity->action;
|
||||
bool const we_are_clicked_entity = entity->handle == game->clicked_entity;
|
||||
bool const entity_has_velocity = entity->velocity.x || entity->velocity.y;
|
||||
@@ -413,7 +406,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Terry: {
|
||||
FP_EntityTerryState *state = DQN_CAST(FP_EntityTerryState *) & action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->terry_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntityTerryState_Nil: {
|
||||
@@ -569,8 +561,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Smoochie: {
|
||||
FP_EntitySmoochieState *state = DQN_CAST(FP_EntitySmoochieState *) & action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->smoochie_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntitySmoochieState_Nil: {
|
||||
action->next_state = FP_EntitySmoochieState_Idle;
|
||||
@@ -741,8 +731,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Clinger: {
|
||||
FP_EntityClingerState *state = DQN_CAST(FP_EntityClingerState *)&action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->clinger_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntityClingerState_Nil: {
|
||||
action->next_state = FP_EntityClingerState_Idle;
|
||||
@@ -869,7 +857,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Merchant: {
|
||||
FP_EntityTerryMerchantState *state = DQN_CAST(FP_EntityTerryMerchantState *)&action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->terry_merchant_sprite_sheet;
|
||||
switch (*state) {
|
||||
case FP_EntityTerryMerchantState_Nil: {
|
||||
action->next_state = FP_EntityTerryMerchantState_Idle;
|
||||
@@ -888,8 +875,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_ClubTerry: {
|
||||
FP_EntityClubTerryState *state = DQN_CAST(FP_EntityClubTerryState *)&action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->club_terry_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntityClubTerryState_Nil: {
|
||||
action->next_state = FP_EntityClubTerryState_Idle;
|
||||
@@ -927,8 +912,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Map: {
|
||||
FP_EntityMapState *state = DQN_CAST(FP_EntityMapState *) & action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->map_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntityMapState_Nil: {
|
||||
action->next_state = FP_EntityMapState_Idle;
|
||||
@@ -947,8 +930,6 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
|
||||
case FP_EntityType_Heart: {
|
||||
FP_EntityHeartState *state = DQN_CAST(FP_EntityHeartState *) & action->state;
|
||||
TELY_AssetSpriteSheet *sheet = &game->heart_sprite_sheet;
|
||||
|
||||
switch (*state) {
|
||||
case FP_EntityHeartState_Nil: {
|
||||
action->next_state = FP_EntityHeartState_Idle;
|
||||
@@ -1473,8 +1454,8 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_PlatformInput *input
|
||||
}
|
||||
|
||||
if (!FP_Game_IsNilEntityHandle(game, game->clicked_entity)) {
|
||||
TELY_AssetSpriteAnimation *sprite_anim = TELY_Asset_GetSpriteAnimation(&game->map_sprite_sheet, g_anim_names.map);
|
||||
Dqn_Rect sprite_rect = game->map_sprite_sheet.rects.data[sprite_anim->index];
|
||||
TELY_AssetSpriteAnimation *sprite_anim = TELY_Asset_GetSpriteAnimation(&game->atlas_sprite_sheet, g_anim_names.map);
|
||||
Dqn_Rect sprite_rect = game->atlas_sprite_sheet.rects.data[sprite_anim->index];
|
||||
|
||||
const Dqn_usize target_width = 1800;
|
||||
const Dqn_usize target_height = 1046;
|
||||
|
||||
Reference in New Issue
Block a user