Daniel Evans
6f9c3db52e
Overahaul of rwviewer to simplify the code and improve usability
...
- Shared ViewerWidget has been removed. Now multiple instances exist
2018-01-27 21:44:18 +00:00
Daniel Evans
6780be6fff
Update hierarchy transforms for new frame children
2018-01-27 21:36:22 +00:00
Daniel Evans
7743626acb
Boats have a different DFF structure
2018-01-27 21:36:21 +00:00
Filip Gawin
04ed374de8
Fix UB in tests
...
To do left improving memory managment
Errors before:
==2615==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000180bc0 at pc 0x5654893d23b8 bp 0x7fff38d87e30 sp 0x7fff38d87e20
READ of size 8 at 0x607000180bc0 thread T0
#0 0x5654893d23b7 in CharacterTests::test_activities::test_method() /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:119
#1 0x5654893cd98e in test_activities_invoker /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:35
#2 0x5654893b91dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#3 0x7f12da644bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
#4 0x7f12da644034 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c034)
#5 0x7f12da644123 in boost::execution_monitor::execute(boost::function<int ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c123)
#6 0x7f12da6448ee in boost::execution_monitor::vexecute(boost::function<void ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c8ee)
#7 0x7f12da6740c1 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x7c0c1)
#8 0x7f12da64f8a5 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x578a5)
#9 0x7f12da64fa90 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x57a90)
#10 0x7f12da64fa90 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x57a90)
#11 0x7f12da6487ad in boost::unit_test::framework::run(unsigned long, bool) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x507ad)
#12 0x7f12da6717df in boost::unit_test::unit_test_main(bool (*)(), int, char**) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x797df)
#13 0x56548936d8b2 in main /usr/include/boost/test/unit_test.hpp:63
#14 0x7f12d6511f49 in __libc_start_main (/usr/lib/libc.so.6+0x20f49)
#15 0x56548936d5f9 in _start (/run/media/filip/Zewn/openrw/openrw/build/tests/run_tests+0x29c5f9)
0x607000180bc0 is located 0 bytes inside of 72-byte region [0x607000180bc0,0x607000180c08)
freed by thread T0 here:
#0 0x7f12dabc6b51 in operator delete(void*, unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:140
#1 0x56548966974e in DefaultAIController::~DefaultAIController() /run/media/filip/Zewn/openrw/openrw/rwengine/src/ai/DefaultAIController.hpp:6
#2 0x5654896295cf in CharacterObject::~CharacterObject() /run/media/filip/Zewn/openrw/openrw/rwengine/src/objects/CharacterObject.cpp:65
#3 0x56548962960b in CharacterObject::~CharacterObject() /run/media/filip/Zewn/openrw/openrw/rwengine/src/objects/CharacterObject.cpp:66
#4 0x5654895b7116 in GameWorld::destroyObject(GameObject*) /run/media/filip/Zewn/openrw/openrw/rwengine/src/engine/GameWorld.cpp:490
#5 0x5654893d2385 in CharacterTests::test_activities::test_method() /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:118
#6 0x5654893cd98e in test_activities_invoker /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:35
#7 0x5654893b91dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#8 0x7f12da644bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
previously allocated by thread T0 here:
#0 0x7f12dabc5489 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:80
#1 0x5654895b4dfb in GameWorld::createPedestrian(unsigned short, glm::tvec3<float, (glm::precision)0> const&, glm::tquat<float, (glm::precision)0> const&, unsigned int) /run/media/filip/Zewn/openrw/openrw/rwengine/src/engine/GameWorld.cpp:342
#2 0x5654893d033f in CharacterTests::test_activities::test_method() /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:66
#3 0x5654893cd98e in test_activities_invoker /run/media/filip/Zewn/openrw/openrw/tests/test_Character.cpp:35
#4 0x5654893b91dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#5 0x7f12da644bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
==3090==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x7f3c775fb9b0 bp 0x7ffe01a710d0 sp 0x7ffe01a71090 T0)
==3090==The signal is caused by a READ memory access.
==3090==Hint: address points to the zero page.
#0 0x7f3c775fb9af in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1417
#1 0x55867dd0c094 in bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) /usr/include/c++/7.2.1/bits/basic_string.h:6033
#2 0x55867df6db4a in PickupObject::PickupObject(GameWorld*, glm::tvec3<float, (glm::precision)0> const&, BaseModelInfo*, PickupObject::PickupType) /run/media/filip/Zewn/openrw/openrw/rwengine/src/objects/PickupObject.cpp:106
#3 0x55867ddf0874 in TestPickup::TestPickup(GameWorld*, glm::tvec3<float, (glm::precision)0> const&) /run/media/filip/Zewn/openrw/openrw/tests/test_Pickup.cpp:13
#4 0x55867ddec0e7 in PickupTests::test_pickup_interaction::test_method() /run/media/filip/Zewn/openrw/openrw/tests/test_Pickup.cpp:31
#5 0x55867ddeb1d3 in test_pickup_interaction_invoker /run/media/filip/Zewn/openrw/openrw/tests/test_Pickup.cpp:25
#6 0x55867dce61dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#7 0x7f3c7ad0dbfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
#8 0x7f3c7ad0d034 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c034)
#9 0x7f3c7ad0d123 in boost::execution_monitor::execute(boost::function<int ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c123)
#10 0x7f3c7ad0d8ee in boost::execution_monitor::vexecute(boost::function<void ()> const&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4c8ee)
#11 0x7f3c7ad3d0c1 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x7c0c1)
#12 0x7f3c7ad188a5 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x578a5)
#13 0x7f3c7ad18a90 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x57a90)
#14 0x7f3c7ad18a90 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x57a90)
#15 0x7f3c7ad117ad in boost::unit_test::framework::run(unsigned long, bool) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x507ad)
#16 0x7f3c7ad3a7df in boost::unit_test::unit_test_main(bool (*)(), int, char**) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x797df)
#17 0x55867dc9a8b2 in main /usr/include/boost/test/unit_test.hpp:63
#18 0x7f3c76bdaf49 in __libc_start_main (/usr/lib/libc.so.6+0x20f49)
#19 0x55867dc9a5f9 in _start (/run/media/filip/Zewn/openrw/openrw/build/tests/run_tests+0x29c5f9)
After:
Running 83 test cases...
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/tests/test_Character.cpp(55): error: in "CharacterTests/test_activities": check glm::distance(character->getPosition(), {10.f, 10.f, 0.f}) < 0.1f has failed [16.1732807 >= 0.100000001]
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:241: Unknown configuration key: dontknow.dontcare
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:241: Unknown configuration key: game.unknownkey
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:241: Unknown configuration key: game.unknownkey
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:241: Unknown configuration key: dontknow.dontcare
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:281: /tmp/openrw_test_5b4c3aa7ce85ce01: cannot open file
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:153: /tmp/openrw_test_6207ffcf1d7aff10: cannot open file
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:153: /tmp/openrw_test_b42233e4ef0d1dc9(2): key expected
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:153: /tmp/openrw_test_2ffbe4602f4463c2(7): duplicate key name
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:189: No such node (game.path)
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:196: conversion of data to type "b" failed
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:189: No such node (game.path)
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:153: /tmp/openrw_test_315c7da7bec0926d/openrw_test_9568c08f1efce794: cannot open file
/run/media/filip/Zewn/openrw/fix/openrw/rwgame/GameConfig.cpp:153: /tmp/openrw_test_a76ac2982867b30c: cannot open file
/run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/engine/GameWorld.cpp:402: Unimplemented: Non-weapon pickups
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/rwlib/source/loaders/LoaderDFF.cpp:443: atomic geometry 5 out of bounds
/run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/engine/GameWorld.cpp:485: destroying object not in allObjects
*** 1 failure is detected in the test module "openrw"
=================================================================
==10085==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 1632 byte(s) in 1 object(s) allocated from:
#0 0x7faa95181489 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:80
#1 0x55b118a0417a in GameWorldTests::test_offsetgametime::test_method() /run/media/filip/Zewn/openrw/fix/openrw/tests/test_GameWorld.cpp:21
#2 0x55b118a02bfc in test_offsetgametime_invoker /run/media/filip/Zewn/openrw/fix/openrw/tests/test_GameWorld.cpp:19
#3 0x55b1189471dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#4 0x7faa94c00bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
Direct leak of 104 byte(s) in 1 object(s) allocated from:
#0 0x7faa95181489 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:80
#1 0x55b118b45638 in GameWorld::createEffect(VisualFX::EffectType) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/engine/GameWorld.cpp:506
#2 0x55b118bd37b5 in ProjectileObject::explode() /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:82
#3 0x55b118bd2c11 in ProjectileObject::checkPhysicsContact() /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:45
#4 0x55b118bd5bfa in ProjectileObject::tick(float) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:179
#5 0x55b118ab33f3 in WeaponTests::TestProjectile::test_method() /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:105
#6 0x55b118aaebdb in TestProjectile_invoker /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:28
#7 0x55b1189471dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#8 0x7faa94c00bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
Direct leak of 104 byte(s) in 1 object(s) allocated from:
#0 0x7faa95181489 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:80
#1 0x55b118b45638 in GameWorld::createEffect(VisualFX::EffectType) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/engine/GameWorld.cpp:506
#2 0x55b118bd37b5 in ProjectileObject::explode() /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:82
#3 0x55b118bd5c61 in ProjectileObject::tick(float) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:183
#4 0x55b118ab07e7 in WeaponTests::TestProjectile::test_method() /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:45
#5 0x55b118aaebdb in TestProjectile_invoker /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:28
#6 0x55b1189471dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#7 0x7faa94c00bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
Direct leak of 104 byte(s) in 1 object(s) allocated from:
#0 0x7faa95181489 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:80
#1 0x55b118b45638 in GameWorld::createEffect(VisualFX::EffectType) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/engine/GameWorld.cpp:506
#2 0x55b118bd37b5 in ProjectileObject::explode() /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:82
#3 0x55b118bd2c11 in ProjectileObject::checkPhysicsContact() /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:45
#4 0x55b118bd5bfa in ProjectileObject::tick(float) /run/media/filip/Zewn/openrw/fix/openrw/rwengine/src/objects/ProjectileObject.cpp:179
#5 0x55b118ab1e30 in WeaponTests::TestProjectile::test_method() /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:78
#6 0x55b118aaebdb in TestProjectile_invoker /run/media/filip/Zewn/openrw/fix/openrw/tests/test_Weapon.cpp:28
#7 0x55b1189471dc in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:118
#8 0x7faa94c00bfd in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (/usr/lib/libboost_unit_test_framework.so.1.66.0+0x4cbfd)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7faa9517fef9 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:75
#1 0x7faa8ff7fb5c (/usr/lib/libX11.so.6+0x54b5c)
Indirect leak of 160 byte(s) in 2 object(s) allocated from:
#0 0x7faa9517fce1 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:70
#1 0x7faa8ff7fb2e (/usr/lib/libX11.so.6+0x54b2e)
Indirect leak of 16 byte(s) in 2 object(s) allocated from:
#0 0x7faa9517fae9 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:62
#1 0x7faa8ff805ad (/usr/lib/libX11.so.6+0x555ad)
SUMMARY: AddressSanitizer: 2136 byte(s) leaked in 9 allocation(s).
2018-01-15 21:51:53 +00:00
Daniel Evans
65f51bc3c2
Skeleton collision effect handling
2018-01-15 21:50:13 +00:00
Daniel Evans
4f0109b17e
Tidy up code in object physics handling
2018-01-15 21:50:13 +00:00
Daniel Evans
1c57fb5d98
Refactor Collision Procesing
2018-01-15 21:50:13 +00:00
Daniel Evans
ec9236422b
Remove Custom material callback flag
2018-01-15 21:50:13 +00:00
Daniel Evans
869f09ba01
Prevent characters falling through the ground when placed
...
This was occuring when loading saves created in portland
2018-01-15 01:13:27 +00:00
Daniel Evans
1ed182c3f2
Correct splash texture loading
2018-01-13 18:56:27 +00:00
Filip Gawin
a60bc20585
Fix misaligned memory(UB)
...
X86 is able to deal with
misaligned memory, but it can hurt perf.
Other arch like for example mips
is not able to digest it.
So in order of portability we should get
rid of this UB.
2018-01-13 00:49:17 +00:00
Filip Gawin
09b7ead012
Add forgotten virtual dtor
2018-01-13 00:49:17 +00:00
Filip Gawin
70d72fed38
Change type of _currChunkSz
2018-01-08 23:00:30 +00:00
Filip Gawin
3db102a13e
braced initializer
2018-01-08 23:00:30 +00:00
Anonymous Maarten
91b4ec3ac7
rwengine: iwyu: reduce warnings in script subdirectory (+tabs2space)
2018-01-08 22:52:48 +00:00
Anonymous Maarten
c0a4d627af
rwengine: iwyu: reduce warnings in render subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
d07beff43e
rwengine: iwyu: reduce warnings in objects subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
0fc83a97e4
rwengine: iwyu: reduce warnings in loaders subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
e381a6c700
rwengine: iwyu: reduce warnings in items subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
fb58dfb082
rwengine: iwyu: reduce warnings in engine subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
a7203e00a0
rwengine: iwyu: reduce warnings in dynamics subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
590509037c
cmake: let sources depend on the iwyu mapping file
2018-01-08 22:52:48 +00:00
Anonymous Maarten
e60fd6af6b
rwengine: iwyu: fix warnings in data subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
9b98133a91
rwengine: iwyu: no warnings in core subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
428efd8fb1
openrw: iwyu: reduce warnings in audio subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
b6b53ffdad
rwengine: iwyu: reduce warnings in ai subdirectory
2018-01-08 22:52:48 +00:00
Anonymous Maarten
29188f26f2
rwengine: iwyu: fix TextureArchive and BinaryStream
2018-01-08 22:52:48 +00:00
Anonymous Maarten
90acef28f7
rwlib: iwyu: reduce warnings
...
- use mapping file
- forward define FileContentsInfo, CutsceneTracks, GameTexts
- no more "#pragma once"
- add mapping file
2018-01-08 22:52:48 +00:00
Anonymous Maarten
bb09015cad
ctest: No need to run ctest_coverage() twice
2018-01-08 22:52:48 +00:00
Filip Gawin
6d80ce6424
Cleanup, use c++11 override
...
Maybe some of replace with
final, what do think?
2018-01-08 22:35:21 +00:00
Filip Gawin
4a3a6daa9f
Change type of GameBase dtor to virtual
...
There's no usage of this class, so
I've set dtor to pure virtual.
2018-01-08 22:35:21 +00:00
Filip Gawin
8cc8be5603
Small change, new -> make_shared.
2018-01-05 06:51:58 +00:00
Anonymous Maarten
c758160d09
spelling: seperate -> separate
2018-01-05 06:21:34 +00:00
Anonymous Maarten
f14bf308cf
rwlib: rwlib has a dependency on glm
2018-01-05 06:21:34 +00:00
Anonymous Maarten
0422a6b5c0
cmake: Do not overwrite INTERFACE_LINK_LIBRARIES prop on TEST_COVERAGE
2018-01-05 06:21:34 +00:00
Anonymous Maarten
21c722f7cc
run_tests: fix 'Type has to implement operator<< to be printable' (MSVC compiler)
...
fixes:
error C2338: Type has to implement operator<< to be printable
error C2679: binary '<<': no operator found which takes a right-hand
operand of type 'const boost::filesystem::path::string_type' (or there
is no acceptable conversion)
2018-01-05 06:21:34 +00:00
Anonymous Maarten
382c28c9e3
rwengine: fix "initialization of 'specialPrefix' is skipped by 'default' label
...
vs2017: Compiler error C2361
2018-01-05 06:21:34 +00:00
Filip Gawin
ef4456e623
size() -> empty()
...
Empty has always
computational complexity O(1).
2017-12-17 01:48:49 +00:00
Anonymous Maarten
66b576dcee
cmake: simplify packages to ALIASed libraries
2017-12-17 01:36:08 +00:00
Anonymous Maarten
9231ecbcb0
cmake: use OpenGL::GL instead of OpenGL::OpenGL
...
- OpenGL::GL -> defined to the platform-specific OpenGL libraries
- OpenGL::OpenGL -> defined to libOpenGL if the system is GLVND
2017-12-17 01:36:08 +00:00
Anonymous Maarten
934506f0c8
cmake: Optionally create XXX:XXX targets for override packages
2017-12-17 01:36:08 +00:00
Anonymous Maarten
4dc7da89ad
tests: boost 1.64 has a print_log_value<nullptr_t> implementation
...
fixes:
error C2766: explicit specialization;
'boost::test_tools::tt_detail::print_log_value<std::nullptr_t>' has
already been defined
C:\Boost\include\boost-1_64\boost/test/tools/detail/print_helper.hpp(169):
note: see previous definition of 'print_log_value<std::nullptr_t>
2017-12-17 01:31:09 +00:00
Miloslav Číž
57284fdade
Fix particle rendering transform matrix
2017-11-20 21:48:00 +00:00
Filip Gawin
d934f1c9b0
Forgotten flush of packet
2017-11-17 22:53:42 +00:00
Anonymous Maarten
6ab7f642ac
rwgame: group command line arguments thematically
...
New output:
$ ./rwgame --help
I [Game] Build: 815c63cf
Generic options:
-c [ --config ] PATH Path of configuration file
--help Show this help message
Window options:
-w [ --width ] WIDTH Game resolution width in pixel
-h [ --height ] HEIGHT Game resolution height in pixel
-f [ --fullscreen ] Enable fullscreen mode
Game options:
-n [ --newgame ] Directly start a new game
-l [ --load ] PATH Load save file
Developer options:
-t [ --test ] Starts a new game in a test location
-b [ --benchmark ] PATH Run benchmark from file
2017-11-17 00:50:50 +00:00
Anonymous Maarten
c5523d6728
rwengine: Remove usused SCMTypeInfoTable
2017-11-17 00:50:50 +00:00
Anonymous Maarten
6142e0bf80
rwengine: remove unused ScriptDisassembly
2017-11-17 00:50:50 +00:00
Anonymous Maarten
deb7db5faf
rwengine: remove ScriptFunctionMeta->conditional + extended definition
...
Not used anywhere
2017-11-17 00:50:50 +00:00
Anonymous Maarten
4bf95cd903
rwengine: SCMMicrocode is not used anywhere
2017-11-17 00:50:50 +00:00
Anonymous Maarten
5299f4df08
spelling: yeild -> yield
2017-11-17 00:50:50 +00:00