Level transitions also emit particles now
This commit is contained in:
parent
e613fe3bbd
commit
334dbb2740
@ -13,7 +13,7 @@ HITBOX 2309 392 454 503
|
|||||||
TEXTBOX 1566 120 123 134 info_plate_small_1 Press\s';'\sto\sdash,\son\sground\sor\smidair.\nYou\scan\sonly\sdash\s1\stime\smidair.
|
TEXTBOX 1566 120 123 134 info_plate_small_1 Press\s';'\sto\sdash,\son\sground\sor\smidair.\nYou\scan\sonly\sdash\s1\stime\smidair.
|
||||||
HAZARD 1797 733 513 103
|
HAZARD 1797 733 513 103
|
||||||
HAZARD_RESPAWN 1492 23 297 242 1706 250
|
HAZARD_RESPAWN 1492 23 297 242 1706 250
|
||||||
LEVEL_TRANSITION 2762 1000 142 76 level1.txt
|
LEVEL_TRANSITION 2762 750 142 76 level1.txt
|
||||||
TEXTBOX 2577 264 137 132 info_plate_small_2 Jump\sdown\sto\sthe\snext\slevel.\nNow\scomplete\swith\slevel\stransitions!
|
TEXTBOX 2577 264 137 132 info_plate_small_2 Jump\sdown\sto\sthe\snext\slevel.\nNow\scomplete\swith\slevel\stransitions!
|
||||||
HAZARD_RESPAWN 2315 41 107 368 2372 392
|
HAZARD_RESPAWN 2315 41 107 368 2372 392
|
||||||
CAMERA_FOCUS 1050 -70 1400 1000
|
CAMERA_FOCUS 1050 -70 1400 1000
|
||||||
@ -24,4 +24,4 @@ FILL 40 40 40 2903 -1000 1000 3000
|
|||||||
FILL 40 40 40 -2500 -270 2400 1000
|
FILL 40 40 40 -2500 -270 2400 1000
|
||||||
FILL 0 0 0 1181 600 300 1000
|
FILL 0 0 0 1181 600 300 1000
|
||||||
FILL 0 0 0 1797 733 513 1000
|
FILL 0 0 0 1797 733 513 1000
|
||||||
FILL 255 255 255 2762 1000 142 1000
|
FILL 255 255 255 2762 750 142 1000
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
#include "physics.h"
|
#include "physics.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
|
#include "render_util.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "util/assert.h"
|
#include "util/assert.h"
|
||||||
#include "util/rand.h"
|
#include "util/rand.h"
|
||||||
@ -141,6 +142,28 @@ void misc_thinker_ChangeLevel(App *app, Entity *e, Duration deltaTime) {
|
|||||||
}
|
}
|
||||||
if (app->player->player == NULL) // No player
|
if (app->player->player == NULL) // No player
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Copied from Hazard thinker
|
||||||
|
uint64_t emitCooldown = 400.0 * 60000.0 / e->misc->trigger.size.x; // 60 msec across 400px
|
||||||
|
TimePoint lastEmit = {.microseconds = (uint64_t)e->thinkerData};
|
||||||
|
if (time_Since(lastEmit).microseconds > emitCooldown) {
|
||||||
|
lastEmit = time_Now();
|
||||||
|
lastEmit.microseconds -= 10000 * rand_Double01();
|
||||||
|
Box2 worldbox = ABSOLUTE_BOX(e, e->misc->trigger);
|
||||||
|
particle_Emit(
|
||||||
|
app->particle,
|
||||||
|
0,
|
||||||
|
vec2_Random(
|
||||||
|
worldbox.lefttop.x + 20,
|
||||||
|
worldbox.lefttop.x + worldbox.size.x - 20,
|
||||||
|
worldbox.lefttop.y + 20.0,
|
||||||
|
worldbox.lefttop.y + 40.0),
|
||||||
|
vec2(0.0, rand_DoubleRange(-250.0, -300.0)),
|
||||||
|
rand_DoubleRange(1, 1.5),
|
||||||
|
rand_DoubleRange(20, 30),
|
||||||
|
20, duration_FromSeconds(0), &render_ModeDefault);
|
||||||
|
e->thinkerData = (void *)lastEmit.microseconds;
|
||||||
|
}
|
||||||
Component_Player *p = app->player->player;
|
Component_Player *p = app->player->player;
|
||||||
Box2 playerbox = physics_HitboxAbsolute(p->super->hitbox);
|
Box2 playerbox = physics_HitboxAbsolute(p->super->hitbox);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user