Compare commits

..

No commits in common. "26cc567b7f9822c52e01219822351cf900b8bef6" and "0c540d5053f42faaea30081445761cde07fe7adf" have entirely different histories.

5 changed files with 18 additions and 57 deletions

View File

@ -142,7 +142,7 @@ Font* add_font(Assets_t* assets, const char* name, const char* path)
return &fonts[fnt_idx].font;
}
EmitterConfig_t* add_emitter_conf(Assets_t* assets, const char* name)
EmitterConfig_t* add_emitter_conf(Assets_t* assets, const char* name, Sprite_t* sprite)
{
uint8_t emitter_idx = n_loaded[5];
assert(emitter_idx < MAX_EMITTER_CONF);

View File

@ -59,7 +59,7 @@ Texture2D* add_texture_rres(Assets_t* assets, const char* name, const char* file
LevelPack_t* add_level_pack_rres(Assets_t* assets, const char* name, const char* filename, const RresFileInfo_t* rres_file);
Sprite_t* add_sprite(Assets_t* assets, const char* name, Texture2D* texture);
EmitterConfig_t* add_emitter_conf(Assets_t* assets, const char* name);
EmitterConfig_t* add_emitter_conf(Assets_t* assets, const char* name, Sprite_t* sprite);
Texture2D* get_texture(Assets_t* assets, const char* name);
Sprite_t* get_sprite(Assets_t* assets, const char* name);

View File

@ -10,7 +10,6 @@
typedef enum PartEmitterType
{
EMITTER_BURST = 0,
EMITTER_UNKNOWN,
} PartEmitterType_t;
typedef struct Particle

View File

@ -44,12 +44,18 @@ int main(void)
#endif
init_item_creation(&engine.assets);
add_sound(&engine.assets, "snd_jump", "res/jump.ogg");
add_sound(&engine.assets, "snd_land", "res/land.ogg");
add_sound(&engine.assets, "snd_wdrop", "res/water_land.ogg");
add_sound(&engine.assets, "snd_bland", "res/boulder_move.ogg");
add_sound(&engine.assets, "snd_bubble", "res/bubble.ogg");
load_sfx(&engine, "snd_jump", PLAYER_JMP_SFX);
load_sfx(&engine, "snd_land", PLAYER_LAND_SFX);
load_sfx(&engine, "snd_wdrop", WATER_IN_SFX);
load_sfx(&engine, "snd_bland", BOULDER_LAND_SFX);
load_sfx(&engine, "snd_bubble", BUBBLE_SFX);
LevelScene_t scene;
scene.scene.engine = &engine;
init_sandbox_scene(&scene);
@ -62,6 +68,15 @@ int main(void)
scenes[0] = &scene.scene;
change_scene(&engine, 0);
EmitterConfig_t* conf = add_emitter_conf(&engine.assets, "pe_burst", get_sprite(&engine.assets, "bomb"));
conf->launch_range[0] = 240;
conf->launch_range[1] = 300;
conf->one_shot = true;
conf->speed_range[0] = 200;
conf->speed_range[1] = 300;
conf->particle_lifetime[0] = 30;
conf->particle_lifetime[1] = 110;
#if defined(PLATFORM_WEB)
puts("Setting emscripten main loop");
emscripten_set_main_loop(update_loop, 0, 1);

View File

@ -6,8 +6,6 @@ typedef enum AssetInfoType
{
TEXTURE_INFO,
SPRITE_INFO,
SOUND_INFO,
EMITTER_INFO,
LEVELPACK_INFO,
INVALID_INFO
}AssetInfoType_t;
@ -36,27 +34,6 @@ static bool parse_sprite_info(char* sprite_info_str, SpriteInfo_t* spr_info)
return data_count == 6;
}
static bool parse_emitter_info(char* emitter_info_str, EmitterConfig_t* conf)
{
char emitter_type;
uint8_t one_shot;
int data_count = sscanf(
emitter_info_str, "%c,%f-%f,%f-%f,%u-%u,%c",
&emitter_type,
conf->launch_range, conf->launch_range + 1,
conf->speed_range, conf->speed_range + 1,
conf->particle_lifetime, conf->particle_lifetime + 1,
&one_shot
);
if (data_count == 8)
{
conf->type = (emitter_type == 'b') ? EMITTER_BURST : EMITTER_UNKNOWN;
conf->one_shot = (one_shot == 1);
}
return data_count == 8;
}
bool load_from_rres(const char* file, Assets_t* assets)
{
RresFileInfo_t rres_file;
@ -209,14 +186,6 @@ bool load_from_infofile(const char* file, Assets_t* assets)
{
info_type = SPRITE_INFO;
}
else if (strcmp(tmp, "Sound") == 0)
{
info_type = SOUND_INFO;
}
else if (strcmp(tmp, "Emitter") == 0)
{
info_type = EMITTER_INFO;
}
else if (strcmp(tmp, "LevelPack") == 0)
{
info_type = LEVELPACK_INFO;
@ -244,16 +213,7 @@ bool load_from_infofile(const char* file, Assets_t* assets)
break;
}
printf("Added texture %s as %s\n", info_str, name);
}
break;
case SOUND_INFO:
{
if (add_sound(assets, name, info_str) == NULL)
{
printf("Unable to add texture at line %lu\n", line_num);
break;
}
printf("Added sound %s as %s\n", info_str, name);
//strcpy(tmp2, name);
}
break;
case LEVELPACK_INFO:
@ -290,19 +250,6 @@ bool load_from_infofile(const char* file, Assets_t* assets)
spr->speed = spr_info.speed;
}
break;
case EMITTER_INFO:
{
EmitterConfig_t parsed_conf;
if (!parse_emitter_info(info_str, &parsed_conf))
{
printf("Parse error for emitter %s", name);
break;
}
EmitterConfig_t* conf = add_emitter_conf(assets, name);
*conf = parsed_conf;
printf("Added Emitter %s\n", name);
}
break;
default:
break;
}