1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-07 03:12:36 +01:00
Mirror of (now archived): https://github.com/rwengine/openrw
Go to file
Anonymous Maarten 5e330346ec rwengine: delete corona VisualFX on delete of PickupObject
Should fix this memory leak:
==31441== 1,184 (1,144 direct, 40 indirect) bytes in 11 blocks are definitely lost in loss record 2,344 of 2,723
==31441==    at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==31441==    by 0x7E30D5: GameWorld::createEffect(VisualFX::EffectType) (GameWorld.cpp:495)
==31441==    by 0x82CE16: PickupObject::PickupObject(GameWorld*, glm::tvec3<float, (glm::precision)0> const&, BaseModelInfo*, PickupObject::PickupType) (PickupObject.cpp:126)
==31441==    by 0x82C505: ItemPickup::ItemPickup(GameWorld*, glm::tvec3<float, (glm::precision)0> const&, BaseModelInfo*, PickupObject::PickupType, WeaponData*) (ItemPickup.cpp:11)
==31441==    by 0x7E2953: GameWorld::createPickup(glm::tvec3<float, (glm::precision)0> const&, int, int) (GameWorld.cpp:389)
==31441==    by 0x86D209: opcode_0213(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&) (GTA3ModuleImpl.inl:6350)
==31441==    by 0x8DC0EF: void script_bind::call_unpacked<0u, 7u, void>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, int&, int&, glm::tvec3<float, (glm::precision)0>&, ScriptObjectType<PickupObject> >(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, ScriptArguments const&, int&, int&, glm::tvec3<float, (glm::precision)0>&, ScriptObjectType<PickupObject>&&) (ScriptModule.hpp:80)
==31441==    by 0x8D9B82: void script_bind::call_unpacked<1u, 6u, void, ScriptObjectType<PickupObject>&>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, int&, int&, glm::tvec3<float, (glm::precision)0> >(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, ScriptArguments const&, int&, int&, glm::tvec3<float, (glm::precision)0>&&) (ScriptModule.hpp:90)
==31441==    by 0x8D6753: void script_bind::call_unpacked<2u, 3u, void, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, int&, int>(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, ScriptArguments const&, int&, int&&) (ScriptModule.hpp:90)
==31441==    by 0x8D213D: void script_bind::call_unpacked<3u, 2u, void, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, int>(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, ScriptArguments const&, int&&) (ScriptModule.hpp:90)
==31441==    by 0x8CBEE0: void script_bind::call_unpacked<4u, 1u, void, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&>(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&, ScriptArguments const&) (ScriptModule.hpp:90)
==31441==    by 0x8C0078: void script_bind::call_unpacked<5u, 0u, void, ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&>::call<void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&)>(void (*)(ScriptArguments const&, int, int, glm::tvec3<float, (glm::precision)0>, ScriptObjectType<PickupObject>&), ScriptArguments const&) (ScriptModule.hpp:90)
2017-10-18 21:52:29 +01:00
benchmarks First benchmark: Staunton 2016-04-18 02:33:13 +01:00
cmake Remove unnecessary CMake modules 2017-09-16 19:50:51 +01:00
rwengine rwengine: delete corona VisualFX on delete of PickupObject 2017-10-18 21:52:29 +01:00
rwgame Interpolating dynamic objects 2017-10-18 21:29:17 +01:00
rwlib rwlib: free Geometry OpenGL buffers 2017-10-18 21:52:29 +01:00
rwviewer rwlib/rwengine: Use AnimationPtr instead of Animation* 2017-10-18 21:52:29 +01:00
scripts Add verify-commit script for pre-commit style check 2016-09-09 20:16:51 +01:00
tests rwengine: Pass CharacterController to the CharacterObject constructor 2017-10-18 21:52:29 +01:00
.clang-format update clang-format 2016-09-09 20:16:51 +01:00
.gitignore Add .DS_Store to ignored files 2017-10-13 19:54:10 +01:00
.gitmodules Remove mman-win32 dependency 2017-09-16 19:50:51 +01:00
.travis.yml Support older libavcodec versions and update .travis.yml for new dependencies 2017-09-16 19:50:51 +01:00
CMakeLists.txt rwlib: Add option to abort/break on failed checks or at request 2017-09-16 22:19:39 +01:00
CONTRIBUTING.md Move contributing information to the wiki 2016-08-23 00:23:52 +01:00
COPYING Add Readme and Copying files 2014-02-13 09:51:42 +00:00
Doxyfile Initial documentation pass 2014-07-09 05:04:48 +01:00
README.md Update Readme.md (FFmpeg) 2017-09-17 00:49:43 +01:00

OpenRW

Build Status

OpenRW is a cross-platform, open source re-implementation of Rockstar Games' Grand Theft Auto III, a classic 3D action game first published in 2001. OpenRW has been ported to Linux, macOS, Windows, and several variants of BSD.

A legitimate copy of the original PC game is required to run OpenRW. Without this it will not be possible to play.

Screenshots

Looking west to Staunton Poor driving skill Duplicate claude in cutscene

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Third Party Licenses

FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later

Bullet Physics is licensed under the zlib license

SDL 2.0 is licensed under the zlib license