1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-09-18 16:32:32 +02:00
openrw/rwengine
Anonymous Maarten 8175666092 rwengine: make AnimationBone a shared pointer
Should fix this memory leak:
==10780== 4,341,444 (269,712 direct, 4,071,732 indirect) bytes in 3,746 blocks are definitely lost in los
s record 2,652 of 2,654
==10780==    at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==10780==    by 0x8219B2: LoaderIFP::loadFromMemory(char*) (LoaderIFP.cpp:82)
==10780==    by 0x7C22C0: GameData::loadIFP(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameData.cpp:506)
==10780==    by 0x7BD838: GameData::load() (GameData.cpp:59)
==10780==    by 0x75CD35: RWGame::RWGame(Logger&, int, char**) (RWGame.cpp:51)
==10780==    by 0x74CDE5: main (main.cpp:13)
==10780==
==10780== 6,516,576 (13,968 direct, 6,502,608 indirect) bytes in 194 blocks are definitely lost in loss record 2,654 of 2,654
==10780==    at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==10780==    by 0x8219B2: LoaderIFP::loadFromMemory(char*) (LoaderIFP.cpp:82)
==10780==    by 0x7C22C0: GameData::loadIFP(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameData.cpp:506)
==10780==    by 0x7E7ECC: GameWorld::loadCutscene(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameWorld.cpp:693)
==10780==    by 0x87453E: opcode_02e4(ScriptArguments const&, char const*) (GTA3ModuleImpl.inl:8245)
==10780==    by 0x8D8149: void script_bind::call_unpacked<0u, 2u, void>::call<void (*)(ScriptArguments const&, char const*), ScriptArguments const&, char const*>(void (*)(ScriptArguments const&, char const*), ScriptArguments const&, ScriptArguments const&, char const*&&) (ScriptModule.hpp:80)
==10780==    by 0x8D2765: void script_bind::call_unpacked<1u, 1u, void, char const*>::call<void (*)(ScriptArguments const&, char const*), ScriptArguments const&>(void (*)(ScriptArguments const&, char const*), ScriptArguments const&, ScriptArguments const&) (ScriptModule.hpp:90)
==10780==    by 0x8C7EFE: void script_bind::call_unpacked<2u, 0u, void, ScriptArguments const&, char const*>::call<void (*)(ScriptArguments const&, char const*)>(void (*)(ScriptArguments const&, char const*), ScriptArguments const&) (ScriptModule.hpp:90)
==10780==    by 0x8B5A05: void script_bind::binder<void, ScriptArguments const&, char const*>::call<void (*)(ScriptArguments const&, char const*)>(void (*)(ScriptArguments const&, char const*), ScriptArguments const&) (ScriptModule.hpp:104)
==10780==    by 0x8A2E3A: void script_bind::do_unpacked_call<void, ScriptArguments const&, char const*>(void (* const&)(ScriptArguments const&, char const*), ScriptArguments const&) (ScriptModule.hpp:137)
==10780==    by 0x893BB0: void ScriptModule::bind<void (*)(ScriptArguments const&, char const*)>(unsigned short, int, void (*)(ScriptArguments const&, char const*))::{lambda(ScriptArguments const&)#1}::operator()(ScriptArguments const&) const (ScriptModule.hpp:166)
==10780==    by 0x8B5A8D: std::_Function_handler<void (ScriptArguments const&), void ScriptModule::bind<void (*)(ScriptArguments const&, char const*)>(unsigned short, int, void (*)(ScriptArguments const&, char const*))::{lambda(ScriptArguments const&)#1}>::_M_invoke(std::_Any_data const&, ScriptArguments const&) (std_function.h:316)
2017-10-18 21:52:29 +01:00
..
src rwengine: make AnimationBone a shared pointer 2017-10-18 21:52:29 +01:00
CMakeLists.txt Remove libsndfile dependency 2017-09-16 19:50:51 +01:00
README.md Update readme informations 2015-05-10 23:57:13 +01:00

rwengine

Rwengine contains the game data structures, the data loading routines, script virtual machine and generic object logic, as well as a renderer implementation for OpenGL.

Core

Implementations of platform abstraction and file system handling classes are in the core/ directory

Data

Structures that store information about object types, cutscene data, localisation information etc

Objects

The logic for Object types are implemented by the classes in the objects/ directory

Loaders

Classes for loading various file formats

Render

Implementation of a portable OpenGL renderer system lives in the render/ directory

Script

The game script virtual machine, and the function definitions are in the script/ directory