Demos update
-added functionality to detect host CPU threads count -fixed some memory leaks -now textures free memory corectly -added support for up to 32 threads
This commit is contained in:
parent
dd491302af
commit
3647fa4b86
6 changed files with 98 additions and 16 deletions
|
|
@ -90,6 +90,16 @@ struct Snake
|
|||
|
||||
MapElement[map_size * map_size] map;
|
||||
|
||||
~this() @nogc nothrow
|
||||
{
|
||||
if(snake_destroy_particle_frames)Mallocator.dispose(snake_destroy_particle_frames);
|
||||
if(smoke_frames)Mallocator.dispose(smoke_frames);
|
||||
if(apple_tmpl)launcher.manager.freeTemplate(apple_tmpl);
|
||||
if(snake_tmpl)launcher.manager.freeTemplate(snake_tmpl);
|
||||
if(snake_destroy_particle)launcher.manager.freeTemplate(snake_destroy_particle);
|
||||
texture.destory();
|
||||
}
|
||||
|
||||
MapElement element(ivec2 pos)
|
||||
{
|
||||
uint index = pos.x + pos.y * map_size;
|
||||
|
|
@ -805,9 +815,9 @@ void snakeStart()
|
|||
snake.addApple();
|
||||
}
|
||||
|
||||
launcher.gui_manager.addTemplate(snake.snake_tmpl, "Snake");
|
||||
launcher.gui_manager.addTemplate(snake.apple_tmpl, "Apple");
|
||||
launcher.gui_manager.addTemplate(snake.snake_destroy_particle, "Particle");
|
||||
launcher.gui_manager.addTemplate(launcher.manager.allocateTemplate(snake.snake_tmpl), "Snake");
|
||||
launcher.gui_manager.addTemplate(launcher.manager.allocateTemplate(snake.apple_tmpl), "Apple");
|
||||
launcher.gui_manager.addTemplate(launcher.manager.allocateTemplate(snake.snake_destroy_particle), "Particle");
|
||||
|
||||
MoveSystem* move_system = launcher.manager.getSystem!MoveSystem();
|
||||
move_system.setTemplates();
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@ struct SpaceInvaders
|
|||
~this() @nogc nothrow
|
||||
{
|
||||
if(shoot_grid)Mallocator.dispose(shoot_grid);
|
||||
launcher.manager.freeTemplate(enemy_tmpl);
|
||||
launcher.manager.freeTemplate(ship_tmpl);
|
||||
launcher.manager.freeTemplate(laser_tmpl);
|
||||
texture.destory();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -337,7 +341,7 @@ struct ShootGridCleaner
|
|||
|
||||
struct ShootGridManager
|
||||
{
|
||||
mixin ECS.System!32;
|
||||
mixin ECS.System!128;
|
||||
|
||||
mixin ECS.WritableDependencies!(ShootGridDependency);
|
||||
|
||||
|
|
@ -793,7 +797,7 @@ struct MovementSystem
|
|||
}
|
||||
}
|
||||
|
||||
import core.stdc.math;
|
||||
extern(C) float sqrtf(float x) @nogc nothrow @system;
|
||||
|
||||
/**
|
||||
*System is responsible for movement of objects with CInput component.
|
||||
|
|
@ -893,6 +897,8 @@ void spaceInvadersStart()
|
|||
|
||||
launcher.manager.beginRegister();
|
||||
|
||||
launcher.manager.registerDependency(ShootGridDependency);
|
||||
|
||||
launcher.manager.registerComponent!CLocation;
|
||||
launcher.manager.registerComponent!CTexture;
|
||||
launcher.manager.registerComponent!CInput;
|
||||
|
|
@ -1009,10 +1015,10 @@ void spaceInvadersStart()
|
|||
enemy_tmpl = launcher.manager.allocateTemplate(enemy_id);
|
||||
grouped_tmpl = launcher.manager.allocateTemplate(grouped_id);
|
||||
|
||||
launcher.gui_manager.addTemplate(space_invaders.ship_tmpl,"Ship");
|
||||
launcher.gui_manager.addTemplate(launcher.manager.allocateTemplate(space_invaders.ship_tmpl),"Ship");
|
||||
launcher.gui_manager.addTemplate(enemy_tmpl,"Enemy");
|
||||
launcher.gui_manager.addTemplate(grouped_tmpl,"Grouped enemy");
|
||||
launcher.gui_manager.addTemplate(space_invaders.laser_tmpl,"Laser");
|
||||
launcher.gui_manager.addTemplate(launcher.manager.allocateTemplate(space_invaders.laser_tmpl),"Laser");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1023,8 +1029,9 @@ void spaceInvadersEnd()
|
|||
launcher.manager.getSystem(LaserShootingSystem.system_id).disable();
|
||||
launcher.manager.getSystem(MovementSystem.system_id).disable();
|
||||
launcher.manager.getSystem(ClampPositionSystem.system_id).disable();
|
||||
launcher.manager.getSystem(ShootGridCleaner.system_id).disable();
|
||||
|
||||
launcher.manager.freeTemplate(space_invaders.enemy_tmpl);
|
||||
//launcher.manager.freeTemplate(space_invaders.enemy_tmpl);
|
||||
Mallocator.dispose(space_invaders);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue