aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/ParticleSystem.exebin1161216 -> 1161216 bytes
-rw-r--r--examples/particle_system/main.cpp13
-rw-r--r--src/libjin/graphics/particles/je_particle.cpp2
-rw-r--r--src/lua/common/je_lua.cpp9
4 files changed, 13 insertions, 11 deletions
diff --git a/bin/ParticleSystem.exe b/bin/ParticleSystem.exe
index ec0a224..d3091da 100644
--- a/bin/ParticleSystem.exe
+++ b/bin/ParticleSystem.exe
Binary files differ
diff --git a/examples/particle_system/main.cpp b/examples/particle_system/main.cpp
index 3fd96ce..1d4bd7c 100644
--- a/examples/particle_system/main.cpp
+++ b/examples/particle_system/main.cpp
@@ -16,9 +16,13 @@ using namespace JinEngine::Time;
ParticleSystem* p;
Timer timer;
Timer::Handler* hnd;
-Texture* tex;
Shader* shader;
+Texture* tex;
Sprite* spr;
+Texture* tex1;
+Sprite* spr1;
+Texture* tex2;
+Sprite* spr2;
const char* shader_code = R"(
#VERTEX_SHADER
Vertex vert(Vertex v)
@@ -39,6 +43,10 @@ void onLoad()
{
tex = Texture::createTexture("particle.png");
spr = new Sprite(tex, Origin::MiddleCenter);
+ tex1 = Texture::createTexture("texture.png");
+ spr1 = new Sprite(tex1, Origin::MiddleCenter);
+ tex2 = Texture::createTexture("splash.png");
+ spr2 = new Sprite(tex2, Origin::MiddleCenter);
shader = Shader::createShader(shader_code);
ParticleSystemDef def;
def.maxParticleCount = 30;
@@ -59,7 +67,10 @@ void onLoad()
def.particleDef.linearAccelarationDef.linearAccelaration = Vector2<float>(0, 10);
+ def.particleDef.spritesDef.mode = SpriteMode::RANDOM;
def.particleDef.spritesDef.sprites.push_back(spr);
+ def.particleDef.spritesDef.sprites.push_back(spr1);
+ //def.particleDef.spritesDef.sprites.push_back(spr2);
def.particleDef.colorDef.color = Color(255, 40, 40, 255);
def.particleDef.colorDef.overTime.enable = true;
diff --git a/src/libjin/graphics/particles/je_particle.cpp b/src/libjin/graphics/particles/je_particle.cpp
index 761f166..6cab9db 100644
--- a/src/libjin/graphics/particles/je_particle.cpp
+++ b/src/libjin/graphics/particles/je_particle.cpp
@@ -152,7 +152,7 @@ namespace JinEngine
if (def->spritesDef.mode == SpriteMode::ANIMATED)
spriteIndex = lerp<int>(0, n - 1, t);
else
- spriteIndex = rng.rand(0, n);
+ spriteIndex = rng.rand(0, n - 1);
}
life += dt;
alive = life < lifeTime;
diff --git a/src/lua/common/je_lua.cpp b/src/lua/common/je_lua.cpp
index d53898d..a08414e 100644
--- a/src/lua/common/je_lua.cpp
+++ b/src/lua/common/je_lua.cpp
@@ -9,19 +9,10 @@ namespace JinEngine
namespace Lua
{
- ///
- /// Lua objects table. Map object to proxy, like objects_table[object] = proxy.
- ///
static const char* Jin_Lua_Objects_Table = "Jin_Objects_Table";
- ///
- /// Lua modules table. Map object to proxy, like modules_table[object] = module.
- ///
static const char* Jin_Lua_Modules_Table = "Jin_Modules_Table";
- ///
- /// Lua references table. Map object to proxy, like references[object] = ref.
- ///
static const char* Jin_Lua_Reference_Table = "Jin_Reference_Table";
Proxy* luax_newinstance(lua_State* L, const char* type, SharedBase* shared)