| @@ -94,7 +94,7 @@ public: | |||||
| m_texture->SetData(m_heightmap); | m_texture->SetData(m_heightmap); | ||||
| m_shader->Bind(); | m_shader->Bind(); | ||||
| m_shader->SetUniform(m_texture_uni, m_texture->GetTexture(), 0); | |||||
| m_shader->SetUniform(m_texture_uni, m_texture->GetTextureUniform(), 0); | |||||
| m_vdecl->SetStream(m_vbo, m_coord); | m_vdecl->SetStream(m_vbo, m_coord); | ||||
| m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
| m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
| @@ -100,7 +100,7 @@ public: | |||||
| * we cannot expect the render target contents to be preserved. | * we cannot expect the render target contents to be preserved. | ||||
| * This code snippet should be moved inside the Framebuffer class. */ | * This code snippet should be moved inside the Framebuffer class. */ | ||||
| m_shader->SetUniform(m_uni_flag, 1.f); | m_shader->SetUniform(m_uni_flag, 1.f); | ||||
| m_shader->SetUniform(m_uni_texture, m_fbo->GetTexture(), 0); | |||||
| m_shader->SetUniform(m_uni_texture, m_fbo->GetTextureUniform(), 0); | |||||
| m_vdecl->SetStream(m_vbo, m_coord); | m_vdecl->SetStream(m_vbo, m_coord); | ||||
| m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
| m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
| @@ -119,7 +119,7 @@ public: | |||||
| m_shader->Bind(); | m_shader->Bind(); | ||||
| m_shader->SetUniform(m_uni_flag, 1.f); | m_shader->SetUniform(m_uni_flag, 1.f); | ||||
| m_shader->SetUniform(m_uni_texture, m_fbo->GetTexture(), 0); | |||||
| m_shader->SetUniform(m_uni_texture, m_fbo->GetTextureUniform(), 0); | |||||
| m_vdecl->SetStream(m_vbo, m_coord); | m_vdecl->SetStream(m_vbo, m_coord); | ||||
| m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
| m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
| @@ -277,7 +277,7 @@ public: | |||||
| m_fbos[f].m2->Bind(); | m_fbos[f].m2->Bind(); | ||||
| int i = 0; | int i = 0; | ||||
| m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], src_buf->GetTexture(), 0); //"in_texture" | |||||
| m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], src_buf->GetTextureUniform(), 0); //"in_texture" | |||||
| m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], voronoi_points[j].m1); //"in_source_point" | m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], voronoi_points[j].m1); //"in_source_point" | ||||
| m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], vec2(512.f, 512.f)); //"in_screen_res" | m_fbos[f].m2->SetUniform(m_fbos[f].m3[i++], vec2(512.f, 512.f)); //"in_screen_res" | ||||
| @@ -344,7 +344,7 @@ public: | |||||
| * we cannot expect the render target contents to be preserved. | * we cannot expect the render target contents to be preserved. | ||||
| * This code snippet should be moved inside the Framebuffer class. */ | * This code snippet should be moved inside the Framebuffer class. */ | ||||
| //m_fbos[m_cur_fbo].m2->SetUniform(m_uni_flag, 1.f); | //m_fbos[m_cur_fbo].m2->SetUniform(m_uni_flag, 1.f); | ||||
| //m_fbos[m_cur_fbo].m2->SetUniform(m_uni_texture, m_fbo->GetTexture(), 0); | |||||
| //m_fbos[m_cur_fbo].m2->SetUniform(m_uni_texture, m_fbo->GetTextureUniform(), 0); | |||||
| //m_vdecl->SetStream(m_vbo, m_fbos[m_cur_fbo].m4.Last()); | //m_vdecl->SetStream(m_vbo, m_fbos[m_cur_fbo].m4.Last()); | ||||
| //m_vdecl->Bind(); | //m_vdecl->Bind(); | ||||
| //m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | //m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
| @@ -353,10 +353,10 @@ public: | |||||
| int i = 0; | int i = 0; | ||||
| if (curres == ivec2::zero) | if (curres == ivec2::zero) | ||||
| m_screen_shader->SetUniform(m_screen_texture, src_buf->GetTexture(), 0); | |||||
| m_screen_shader->SetUniform(m_screen_texture, src_buf->GetTextureUniform(), 0); | |||||
| else if (m_cur_fbo == VoronoiFbo) | else if (m_cur_fbo == VoronoiFbo) | ||||
| { | { | ||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], src_buf->GetTexture(), 0); //"in_texture" | |||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], src_buf->GetTextureUniform(), 0); //"in_texture" | |||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], ((float)curres.x) / 512.f); //"in_step" | shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], ((float)curres.x) / 512.f); //"in_step" | ||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], vec2(512.f, 512.f)); //"in_screen_res" | shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], vec2(512.f, 512.f)); //"in_screen_res" | ||||
| } | } | ||||
| @@ -384,7 +384,7 @@ public: | |||||
| //SCREEN DRAW | //SCREEN DRAW | ||||
| m_screen_shader->Bind(); | m_screen_shader->Bind(); | ||||
| m_screen_shader->SetUniform(m_screen_texture, m_fbos[m_cur_fbo].m1->GetTexture(), 0); | |||||
| m_screen_shader->SetUniform(m_screen_texture, m_fbos[m_cur_fbo].m1->GetTextureUniform(), 0); | |||||
| m_vdecl->SetStream(m_vbo, m_screen_coord); | m_vdecl->SetStream(m_vbo, m_screen_coord); | ||||
| m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
| m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
| @@ -434,9 +434,9 @@ Framebuffer::~Framebuffer() | |||||
| delete m_data; | delete m_data; | ||||
| } | } | ||||
| ShaderTexture Framebuffer::GetTexture() const | |||||
| TextureUniform Framebuffer::GetTextureUniform() const | |||||
| { | { | ||||
| ShaderTexture ret; | |||||
| TextureUniform ret; | |||||
| #if defined USE_D3D9 || defined _XBOX | #if defined USE_D3D9 || defined _XBOX | ||||
| ret.m_flags = (uint64_t)(uintptr_t)m_data->m_texture; | ret.m_flags = (uint64_t)(uintptr_t)m_data->m_texture; | ||||
| #else | #else | ||||
| @@ -664,7 +664,7 @@ void Shader::SetUniform(ShaderUniform const &uni, mat4 const &m) | |||||
| #endif | #endif | ||||
| } | } | ||||
| void Shader::SetUniform(ShaderUniform const &uni, ShaderTexture tex, int index) | |||||
| void Shader::SetUniform(ShaderUniform const &uni, TextureUniform tex, int index) | |||||
| { | { | ||||
| #if defined USE_D3D9 || defined _XBOX | #if defined USE_D3D9 || defined _XBOX | ||||
| data->m_dev->SetTexture(index, (LPDIRECT3DTEXTURE9)tex.m_flags); | data->m_dev->SetTexture(index, (LPDIRECT3DTEXTURE9)tex.m_flags); | ||||
| @@ -175,9 +175,9 @@ Texture::Texture(ivec2 size, PixelFormat format) | |||||
| #endif | #endif | ||||
| } | } | ||||
| ShaderTexture Texture::GetTexture() const | |||||
| TextureUniform Texture::GetTextureUniform() const | |||||
| { | { | ||||
| ShaderTexture ret; | |||||
| TextureUniform ret; | |||||
| #if defined USE_D3D9 || defined _XBOX | #if defined USE_D3D9 || defined _XBOX | ||||
| ret.m_flags = (uint64_t)(uintptr_t)m_data->m_texture; | ret.m_flags = (uint64_t)(uintptr_t)m_data->m_texture; | ||||
| ret.m_attrib = m_data->m_mag_filter; | ret.m_attrib = m_data->m_mag_filter; | ||||
| @@ -101,7 +101,7 @@ public: | |||||
| Framebuffer(ivec2 size, FramebufferFormat fbo_format = FramebufferFormat()); | Framebuffer(ivec2 size, FramebufferFormat fbo_format = FramebufferFormat()); | ||||
| ~Framebuffer(); | ~Framebuffer(); | ||||
| ShaderTexture GetTexture() const; | |||||
| TextureUniform GetTextureUniform() const; | |||||
| ivec2 GetSize() const; | ivec2 GetSize() const; | ||||
| void Bind(); | void Bind(); | ||||
| @@ -133,14 +133,14 @@ private: | |||||
| uint64_t m_flags; | uint64_t m_flags; | ||||
| }; | }; | ||||
| struct ShaderTexture | |||||
| struct TextureUniform | |||||
| { | { | ||||
| friend class Shader; | friend class Shader; | ||||
| friend class Framebuffer; | friend class Framebuffer; | ||||
| friend class Texture; | friend class Texture; | ||||
| public: | public: | ||||
| inline ShaderTexture() : m_flags(0) {} | |||||
| inline TextureUniform() : m_flags(0) {} | |||||
| private: | private: | ||||
| uint64_t m_flags; | uint64_t m_flags; | ||||
| @@ -172,7 +172,7 @@ public: | |||||
| void SetUniform(ShaderUniform const &uni, mat2 const &m); | void SetUniform(ShaderUniform const &uni, mat2 const &m); | ||||
| void SetUniform(ShaderUniform const &uni, mat3 const &m); | void SetUniform(ShaderUniform const &uni, mat3 const &m); | ||||
| void SetUniform(ShaderUniform const &uni, mat4 const &m); | void SetUniform(ShaderUniform const &uni, mat4 const &m); | ||||
| void SetUniform(ShaderUniform const &uni, ShaderTexture tex, int index); | |||||
| void SetUniform(ShaderUniform const &uni, TextureUniform tex, int index); | |||||
| void SetUniform(ShaderUniform const &uni, Array<float> const &v); | void SetUniform(ShaderUniform const &uni, Array<float> const &v); | ||||
| void SetUniform(ShaderUniform const &uni, Array<vec2> const &v); | void SetUniform(ShaderUniform const &uni, Array<vec2> const &v); | ||||
| @@ -102,7 +102,7 @@ public: | |||||
| void SetMinFiltering(TextureMinFilter filter); | void SetMinFiltering(TextureMinFilter filter); | ||||
| void GenerateMipmaps(); | void GenerateMipmaps(); | ||||
| ShaderTexture GetTexture() const; | |||||
| TextureUniform GetTextureUniform() const; | |||||
| private: | private: | ||||
| class TextureData *m_data; | class TextureData *m_data; | ||||
| @@ -104,7 +104,7 @@ void SubMesh::Render(Shader* shader) | |||||
| { | { | ||||
| // TODO: might be good to cache this | // TODO: might be good to cache this | ||||
| ShaderUniform u_tex = shader->GetUniformLocation(m_textures[i].m1.C()); | ShaderUniform u_tex = shader->GetUniformLocation(m_textures[i].m1.C()); | ||||
| shader->SetUniform(u_tex, m_textures[i].m2->GetTexture(), i); | |||||
| shader->SetUniform(u_tex, m_textures[i].m2->GetTextureUniform(), i); | |||||
| } | } | ||||
| m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
| @@ -299,18 +299,20 @@ class DirectoryData | |||||
| DirectoryData() : m_type(StreamType::File) | DirectoryData() : m_type(StreamType::File) | ||||
| { | { | ||||
| #if WIN32 | |||||
| #if __CELLOS_LV2__ || __ANDROID__ | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | |||||
| m_handle = INVALID_HANDLE_VALUE; | m_handle = INVALID_HANDLE_VALUE; | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| m_dd = nullptr; | m_dd = nullptr; | ||||
| #endif WIN32 | |||||
| #endif | |||||
| } | } | ||||
| void Open(String const &directory, FileAccess mode) | void Open(String const &directory, FileAccess mode) | ||||
| { | { | ||||
| m_type = StreamType::File; | m_type = StreamType::File; | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| m_directory = directory; | m_directory = directory; | ||||
| String filter = m_directory + String("*"); | String filter = m_directory + String("*"); | ||||
| @@ -330,15 +332,16 @@ class DirectoryData | |||||
| if (IsValid()) | if (IsValid()) | ||||
| { | { | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| FindClose(m_handle); | FindClose(m_handle); | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| closedir(m_dd); | closedir(m_dd); | ||||
| #endif | #endif | ||||
| } | } | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| m_handle = INVALID_HANDLE_VALUE; | m_handle = INVALID_HANDLE_VALUE; | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| @@ -352,7 +355,7 @@ class DirectoryData | |||||
| return false; | return false; | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| String filter = m_directory + String("*"); | String filter = m_directory + String("*"); | ||||
| filter.Replace('/', '\\', true); | filter.Replace('/', '\\', true); | ||||
| @@ -364,7 +367,7 @@ class DirectoryData | |||||
| { | { | ||||
| if (find_data.cFileName[0] != '.') | if (find_data.cFileName[0] != '.') | ||||
| { | { | ||||
| //We have a directory | |||||
| // We have a directory | |||||
| if (find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | if (find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | ||||
| { | { | ||||
| if (directories) | if (directories) | ||||
| @@ -380,7 +383,7 @@ class DirectoryData | |||||
| file_valid = FindNextFile(m_handle, &find_data); | file_valid = FindNextFile(m_handle, &find_data); | ||||
| } | } | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #endif | #endif | ||||
| return ((files && files->Count()) || (directories && directories->Count())); | return ((files && files->Count()) || (directories && directories->Count())); | ||||
| } | } | ||||
| @@ -388,7 +391,7 @@ class DirectoryData | |||||
| inline bool IsValid() const | inline bool IsValid() const | ||||
| { | { | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| return (m_handle != INVALID_HANDLE_VALUE); | return (m_handle != INVALID_HANDLE_VALUE); | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| @@ -399,7 +402,7 @@ class DirectoryData | |||||
| } | } | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| HANDLE m_handle; | HANDLE m_handle; | ||||
| String m_directory; | String m_directory; | ||||
| @@ -522,14 +525,14 @@ String Directory::GetCurrent() | |||||
| { | { | ||||
| String result; | String result; | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| TCHAR buff[MAX_PATH * 2]; | TCHAR buff[MAX_PATH * 2]; | ||||
| GetCurrentDirectory(MAX_PATH, buff); | GetCurrentDirectory(MAX_PATH, buff); | ||||
| result = buff; | result = buff; | ||||
| result.Replace('\\', '/', true); | result.Replace('\\', '/', true); | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #endif | #endif | ||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -538,13 +541,13 @@ String Directory::GetCurrent() | |||||
| bool Directory::SetCurrent(String directory) | bool Directory::SetCurrent(String directory) | ||||
| { | { | ||||
| #if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #elif WIN32 | #elif WIN32 | ||||
| String result = directory; | String result = directory; | ||||
| result.Replace('/', '\\', true); | result.Replace('/', '\\', true); | ||||
| return SetCurrentDirectory(result.C()); | return SetCurrentDirectory(result.C()); | ||||
| #elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
| //NO IMPLEMENTATION | |||||
| /* FIXME: not implemented */ | |||||
| #endif | #endif | ||||
| return false; | return false; | ||||
| } | } | ||||
| @@ -180,9 +180,9 @@ ivec2 TileSet::GetTextureSize() const | |||||
| return m_data->m_texture_size; | return m_data->m_texture_size; | ||||
| } | } | ||||
| ShaderTexture TileSet::GetShaderTexture() const | |||||
| Texture * TileSet::GetTexture() | |||||
| { | { | ||||
| return m_data->m_texture->GetTexture(); | |||||
| return m_data->m_texture; | |||||
| } | } | ||||
| Texture const * TileSet::GetTexture() const | Texture const * TileSet::GetTexture() const | ||||
| @@ -48,9 +48,9 @@ public: | |||||
| int GetTileCount() const; | int GetTileCount() const; | ||||
| ivec2 GetTileSize(int tileid) const; | ivec2 GetTileSize(int tileid) const; | ||||
| ivec2 GetTextureSize() const; | |||||
| ShaderTexture GetShaderTexture() const; | |||||
| Texture * GetTexture(); | |||||
| Texture const * GetTexture() const; | Texture const * GetTexture() const; | ||||
| ivec2 GetTextureSize() const; | |||||
| void Bind(); | void Bind(); | ||||
| void Unbind(); | void Unbind(); | ||||
| void BlitTile(uint32_t id, vec3 pos, int o, vec2 scale, float angle, | void BlitTile(uint32_t id, vec3 pos, int o, vec2 scale, float angle, | ||||
| @@ -585,7 +585,7 @@ void BtPhysTest::TickDraw(float seconds) | |||||
| (1 << VertexUsage::TexCoord) | | (1 << VertexUsage::TexCoord) | | ||||
| (1 << VertexUsage::TexCoordExt)), | (1 << VertexUsage::TexCoordExt)), | ||||
| m_cat_shader); | m_cat_shader); | ||||
| m_cat_sdata->m_shader_texture = m_cat_texture->GetShaderTexture(); | |||||
| m_cat_sdata->m_tex_uniform = m_cat_texture->GetTexture()->GetTextureUniform(); | |||||
| m_cat_sdata->m_sprite_flip = ((rand(2) == 1)?(1.f):(0.f)) / (float)(NB_SPRITE * PARTICLE_SIZE); | m_cat_sdata->m_sprite_flip = ((rand(2) == 1)?(1.f):(0.f)) / (float)(NB_SPRITE * PARTICLE_SIZE); | ||||
| PhysObj->SetCustomShaderData(m_cat_sdata); | PhysObj->SetCustomShaderData(m_cat_sdata); | ||||
| m_cat_sdata = NULL; | m_cat_sdata = NULL; | ||||
| @@ -708,7 +708,7 @@ void CatShaderData::SetupShaderDatas(mat4 const &model) | |||||
| m_shader->SetUniform(*GetUniform("in_model_view"), modelview); | m_shader->SetUniform(*GetUniform("in_model_view"), modelview); | ||||
| m_shader->SetUniform(*GetUniform("in_normal_mat"), normalmat); | m_shader->SetUniform(*GetUniform("in_normal_mat"), normalmat); | ||||
| m_shader->SetUniform(*GetUniform("in_proj"), proj); | m_shader->SetUniform(*GetUniform("in_proj"), proj); | ||||
| m_shader->SetUniform(*GetUniform("in_texture"), m_shader_texture, 0); | |||||
| m_shader->SetUniform(*GetUniform("in_texture"), m_tex_uniform, 0); | |||||
| m_shader->SetUniform(*GetUniform("in_sprite_orientation"), m_sprite_orientation); | m_shader->SetUniform(*GetUniform("in_sprite_orientation"), m_sprite_orientation); | ||||
| m_shader->SetUniform(*GetUniform("in_sprite_flip"), m_sprite_flip); | m_shader->SetUniform(*GetUniform("in_sprite_flip"), m_sprite_flip); | ||||
| } | } | ||||
| @@ -24,7 +24,7 @@ public: | |||||
| virtual lol::String GetInColorName() { return lol::String("in_color"); } | virtual lol::String GetInColorName() { return lol::String("in_color"); } | ||||
| virtual lol::String GetInTexCoordName() { return lol::String("in_texcoord"); } | virtual lol::String GetInTexCoordName() { return lol::String("in_texcoord"); } | ||||
| ShaderTexture m_shader_texture; | |||||
| TextureUniform m_tex_uniform; | |||||
| float m_sprite_orientation; | float m_sprite_orientation; | ||||
| float m_sprite_flip; | float m_sprite_flip; | ||||
| }; | }; | ||||
| @@ -34,11 +34,12 @@ class PhysicsObject : public WorldEntity | |||||
| { | { | ||||
| public: | public: | ||||
| PhysicsObject(Simulation* new_sim, const vec3 &base_location, const quat &base_rotation) | PhysicsObject(Simulation* new_sim, const vec3 &base_location, const quat &base_rotation) | ||||
| : m_ready(false), m_should_render(true), m_is_character(false), m_custom_shader(0) | |||||
| : m_custom_shader(0), | |||||
| m_ready(false), | |||||
| m_should_render(true), | |||||
| m_is_character(false), | |||||
| m_is_phys(false) | |||||
| { | { | ||||
| #if CAT_MODE | |||||
| m_is_phys = false; | |||||
| #endif //CAT_MODE | |||||
| m_physics = new EasyPhysic(this); | m_physics = new EasyPhysic(this); | ||||
| m_mesh.Compile("[sc#ddd afcb 60 1 60 -.1]"); | m_mesh.Compile("[sc#ddd afcb 60 1 60 -.1]"); | ||||
| @@ -52,11 +53,12 @@ public: | |||||
| } | } | ||||
| PhysicsObject(Simulation* new_sim, const vec3 &base_location, const quat &base_rotation, int dummy) | PhysicsObject(Simulation* new_sim, const vec3 &base_location, const quat &base_rotation, int dummy) | ||||
| : m_ready(false), m_should_render(true), m_is_character(false), m_custom_shader(0) | |||||
| : m_custom_shader(0), | |||||
| m_ready(false), | |||||
| m_should_render(true), | |||||
| m_is_character(false), | |||||
| m_is_phys(false) | |||||
| { | { | ||||
| #if CAT_MODE | |||||
| m_is_phys = false; | |||||
| #endif //CAT_MODE | |||||
| if (dummy == 1) //for platform purpose | if (dummy == 1) //for platform purpose | ||||
| { | { | ||||
| m_physics = new EasyPhysic(this); | m_physics = new EasyPhysic(this); | ||||
| @@ -122,16 +124,16 @@ public: | |||||
| } | } | ||||
| PhysicsObject(Simulation* new_sim, float base_mass, const vec3 &base_location, int RandValue = -1) | PhysicsObject(Simulation* new_sim, float base_mass, const vec3 &base_location, int RandValue = -1) | ||||
| : m_ready(false), m_should_render(true), m_is_character(false), m_custom_shader(0) | |||||
| : m_custom_shader(0), | |||||
| m_ready(false), | |||||
| m_should_render(true), | |||||
| m_is_character(false), | |||||
| m_is_phys(false) | |||||
| { | { | ||||
| Array<char const *> MeshRand; | Array<char const *> MeshRand; | ||||
| Array<int> MeshLimit; | Array<int> MeshLimit; | ||||
| Array<int> MeshType; | Array<int> MeshType; | ||||
| #if CAT_MODE | |||||
| m_is_phys = true; | |||||
| #endif //CAT_MODE | |||||
| MeshLimit << 0; | MeshLimit << 0; | ||||
| #if USE_BOX | #if USE_BOX | ||||
| @@ -342,18 +344,16 @@ protected: | |||||
| } | } | ||||
| private: | private: | ||||
| //Base datas | |||||
| EasyMesh m_mesh; | |||||
| EasyPhysic* m_physics; | |||||
| EasyCharacterController* m_character; | |||||
| GpuShaderData* m_custom_shader; | |||||
| bool m_ready; | |||||
| bool m_should_render; | |||||
| bool m_is_character; | |||||
| #if CAT_MODE | |||||
| bool m_is_phys; | |||||
| #endif //CAT_MODE | |||||
| // Base data | |||||
| EasyMesh m_mesh; | |||||
| EasyPhysic* m_physics; | |||||
| EasyCharacterController* m_character; | |||||
| GpuShaderData* m_custom_shader; | |||||
| bool m_ready; | |||||
| bool m_should_render; | |||||
| bool m_is_character; | |||||
| bool m_is_phys; /* Only used in CAT_MODE */ | |||||
| }; | }; | ||||
| #endif /* __PHYSICOBJECT_H__ */ | #endif /* __PHYSICOBJECT_H__ */ | ||||