NFSMONSTR
85785b04e0
Don't draw asterisks in subtitles ( #510 )
...
Don't draw asterisks in subtitles
2018-06-09 10:23:16 -05:00
Anonymous Maarten
7d18898e2c
cmake: only install shared libraries
2018-06-08 18:30:25 +02:00
Anonymous Maarten
e3c0b00453
cmake: use GNUInstallDirs for install paths + install everything (optionally)
2018-06-08 18:30:25 +02:00
darkf
64ecec3650
Merge pull request #502 from husho/fade2
...
Fade fix part 2
2018-06-08 09:08:21 -05:00
darkf
e0e09ba074
Merge pull request #488 from husho/refactor
...
Refactor: moved getPlayer to World class
2018-06-08 09:07:45 -05:00
husho
cc81aa1d5b
Fix vehicle damage
...
Damage was only applied if there was an impulse/impact
2018-06-08 08:16:37 +03:00
husho
dc3b3c32d1
Enable blending for fades. Thanks to @NFSMONSTR
2018-06-05 08:28:16 +03:00
husho
e98cb05c47
Fade fix part2
2018-06-04 16:30:05 +03:00
darkf
070f58809e
Merge pull request #470 from husho/patch-1
...
Fade fix
2018-06-03 18:11:36 -05:00
darkf
62513421f3
Merge pull request #494 from NFSMONSTR/Fix_single_line_help_messages
...
Fixed one line help messages background too small
2018-06-03 18:10:01 -05:00
darkf
02373968c8
Merge pull request #496 from ShFil119/smallFixes
...
Remove potential source of bugs
2018-06-03 09:22:56 -05:00
husho
4d28701daa
Partial fix for duped cars & peds in first mission
2018-06-03 03:41:28 +03:00
husho
ca576ac3cf
Refactor: moved getPlayer to World class
2018-06-03 03:40:59 +03:00
husho
304fb976ad
Fade fix
2018-06-02 02:54:00 +03:00
Filip Gawin
4f07af11bb
Prevent possibility of reading garbage
2018-06-02 01:33:17 +02:00
Filip Gawin
0eab89eb13
Fix dereference nullptr in CharacterObject
2018-06-02 01:32:06 +02:00
Filip Gawin
0abe8ca211
Fix derefencing nullptr in VehicleObject
...
Logic error: Called C++ object pointer is null
1: Assuming 'enable' is not equal to 0 in /home/filip/Projekty/qt/
small/rwengine/src/objects/VehicleObject.cpp:708
2: Assuming pointer value is null in /home/filip/Projekty/qt/small/
rwengine/src/objects/VehicleObject.cpp:709
3: Called C++ object pointer is null in /home/filip/Projekty/qt/small/
rwengine/src/objects/VehicleObject.cpp:716
2018-06-02 01:17:13 +02:00
NFS_MONSTR
9cb5e3bd09
Fix one line help messages background
2018-06-01 20:49:55 +03:00
darkf
04e857ba0d
Merge pull request #487 from NFSMONSTR/fix432
...
Fix #432
2018-05-31 23:13:28 -05:00
Daniel Evans
b7d657b9ab
Merge pull request #449 from husho/pickups
...
[Ready] Got some pickups working
2018-05-25 12:56:11 +01:00
Daniel Evans
2b096eb228
Merge pull request #480 from husho/garages
...
[Ready] Garages
2018-05-24 17:35:40 +01:00
Daniel Evans
0e87037397
Merge pull request #486 from husho/morelocateopcodes
...
Locate opcodes
2018-05-24 13:02:06 +01:00
NFS_MONSTR
5da89a871b
Fix #432
2018-05-23 22:45:39 +03:00
husho
09fa9edaca
Locate opcodes
2018-05-23 21:27:33 +03:00
husho
d753d8cf20
Fixed warnings
2018-05-23 16:56:07 +03:00
husho
3ad651986c
Minor changes
2018-05-23 14:42:50 +03:00
husho
a8f5326c1f
Don't update doors every tick
2018-05-23 14:17:39 +03:00
husho
5d27eb33e9
Garages controller and basic functionality
2018-05-23 14:05:13 +03:00
Daniel Evans
de8131924d
Merge pull request #450 from husho/objphy
...
[Ready] Fixed script objects falling through the ground
2018-05-22 23:35:59 +01:00
Daniel Evans
c226432e88
Merge pull request #474 from NFSMONSTR/fix_loading_zonecylinder_texture
...
Fixed loading ZoneCylinder texture
2018-05-22 23:21:56 +01:00
husho
5c1dbbd8b6
Added pickups
2018-05-22 23:19:19 +03:00
husho
214095ba02
Improved game loop to support game speed
2018-05-22 22:40:51 +03:00
husho
cf3196c928
Fixed crash on new game, fixed missions not failing
...
on death/arrest
2018-05-22 01:42:18 +03:00
darkf
17077627fb
Merge pull request #447 from ShFil119/small_impr
...
[Ready] Perfect forwarding and some forgotten stuff
2018-05-21 17:07:01 -05:00
darkf
a8110de63e
Merge pull request #473 from husho/patch-3
...
Fixed: mission is not restarting if player is in vehicle
2018-05-21 17:03:58 -05:00
Daniel Evans
d343a1a0bb
Merge pull request #481 from dracc/aldoxtor-363
...
New opcodes as written by @aldoxtor
2018-05-21 13:43:37 +01:00
Lucas Eriksson
5869a6903a
Implemented some various opcodes
...
As written by @husho in #411 .
Continuation of #435 .
2018-05-20 15:03:22 +02:00
husho
972eaf2c08
F: mission not restarting if player is in vehicle
2018-05-20 01:41:42 +03:00
husho
1ecba29a62
Clear world on player restart, fixed 0395 opcode
2018-05-19 20:00:23 +03:00
NFS_MONSTR
7d6bc6a22e
Minor fixes
2018-05-19 17:47:27 +03:00
NFS_MONSTR
b019d187d6
Fixed loading ZoneCylinder texture
2018-05-19 17:13:47 +03:00
husho
97224fccd0
Attempt to fix physics of script objects
2018-05-18 11:43:57 +03:00
Daniel Evans
b77ca47fd4
Merge pull request #446 from husho/respawn
...
[Ready] Respawn functionality
2018-05-18 02:35:10 +01:00
Daniel Evans
370a969dac
Merge pull request #437 from dracc/mission-412
...
[Ready] Improved mission clean up logic and implemented related opcodes
2018-05-18 02:10:13 +01:00
Filip Gawin
09c5d36398
Set ptr to const if possible
...
Also:
- make args name matching in header
and source file,
- make more ptrs to const ref,
2018-05-16 19:17:13 +02:00
Filip Gawin
4e1948c23c
Rearrange passing args to functions/ctors
...
Kill extra shared_ptr by passing them using const reference.
Use perfect forwarding for strings.
Remove redundant std::move.
2018-05-16 19:17:13 +02:00
Filip Gawin
0c4e38a95b
Add missing override
2018-05-16 19:15:44 +02:00
Filip Gawin
1e6a26e3c3
Replace deprecated stdint.h with cstding
2018-05-16 19:15:44 +02:00
Lucas Eriksson
2346e03a60
Improved mission clean up logic and implemented related opcodes
2018-05-15 20:42:46 +02:00
husho
4aa326f747
Forgot 1 opcode
2018-05-15 21:14:18 +03:00
husho
fafd58df6e
Added respawn functionality
2018-05-15 21:07:40 +03:00
husho
ea55baf07d
Added stats opcodes
2018-05-15 21:03:59 +03:00
Daniel Evans
c6f5b5406b
Merge pull request #448 from husho/vehiclehealth
...
[Ready] Vehicle health
2018-05-15 13:13:19 +01:00
Daniel Evans
274fe20f17
Merge pull request #438 from dracc/locate-408
...
[Ready] Implemented some locate opcodes
2018-05-14 23:03:36 +01:00
Daniel Evans
f6932305ee
Merge pull request #455 from NFSMONSTR/454
...
Fix #454
2018-05-14 22:44:13 +01:00
Daniel Evans
a8cafe7396
Merge pull request #433 from NFSMONSTR/add_transparent_pickups2
...
Added transparency for pickups
2018-05-14 22:13:05 +01:00
husho
3c41e43a85
Little fix
2018-05-14 18:49:28 +03:00
husho
127c8168b3
Vehicle health
2018-05-14 10:37:33 +03:00
NFS_MONSTR
6c76a130af
fix 454
2018-05-13 01:47:03 +03:00
Daniel Evans
9831314162
Merge pull request #436 from dracc/blip-409
...
Implemented blip opcodes
2018-05-11 10:06:38 +01:00
NFS_MONSTR
45ee3ad0d4
Fixed bugs caused by adding switching glBlendFunc
2018-05-09 23:34:30 +03:00
NFS_MONSTR
a2edb79644
Fixed building
2018-05-09 23:34:25 +03:00
NFS_MONSTR
deafe08f1e
little changes
2018-05-09 23:34:01 +03:00
NFS_MONSTR
b8cab132f3
Added enum for blending modes
2018-05-09 23:33:55 +03:00
NFS_MONSTR
cfdcf32159
[WIP]Added transparency for pickups and selecting blend mode
2018-05-09 23:33:35 +03:00
Lucas Eriksson
a7bf0f9ea5
New opcodes as written by @aldoxtor
...
Updated according to requested changes and comments in #363
2018-05-09 10:48:19 +02:00
darkf
b7fb22f95c
Merge pull request #440 from mole99/buoys
...
Make buoys float again
2018-05-07 10:43:48 -05:00
Lucas Eriksson
263f861a7c
Implemented some locate opcodes
2018-05-07 10:05:29 +02:00
husho
558d44b379
fixed build
2018-05-06 20:19:30 +03:00
Miloslav Číž
db28b7b87a
Address simple TODOs in the code ( #350 )
...
* Make player gain money from getting into a taxi
* Remove redundant condition in VehicleObject
* Add documenting comment on SpecialModel
* Limit collecting money from each taxi to only once
2018-05-06 10:32:12 -05:00
darkf
512f1d2885
Merge pull request #439 from christoph-heiss/new-opcodes
...
Implement random number opcodes [0098, 0099, 0208, 0209].
2018-05-06 10:26:28 -05:00
Filip Gawin
63de965e3f
Fix condition in sorting
...
I forgot push suitable rebased commit.
2018-05-06 10:24:07 -05:00
mole99
1d54996adc
Reformatting changes
2018-05-06 16:20:00 +02:00
mole99
08d02fd5de
Prevent other objects than buoys from floating
...
As there is no way to distinguish whether an object should float on water or not, the names of the objects have to be hardcoded
2018-05-06 14:53:42 +02:00
Lucas Eriksson
36e73abfd0
Implemented blip opcodes as per #409
...
Renamed some functions and updated comments accordingly.
2018-05-06 11:43:51 +02:00
mole99
afb7f3f96f
Make buoys float again
...
Until now buoys would just fall down, we need to apply the force with an impulse to make it work. To update the object in debug mode, a tickPhysics function had to be created, like the vehicles already use.
2018-05-05 13:54:26 +02:00
Christoph Heiss
73ddf887f5
Implement opcodes 0098, 0099, 0208 and 0209.
...
These opcodes are relevant for generating random values.
2018-05-01 22:57:16 +02:00
Christoph Heiss
5745da77d2
Remove unimplemented warnings from implemented opcodes.
2018-05-01 22:57:07 +02:00
darkf
464a1e39b9
Merge pull request #414 from ShFil119/fix/transparent_objects
...
Fix order of transparent objects
2018-04-30 04:55:46 -05:00
darkf
107d2c7aa5
Merge pull request #330 from ShFil119/fix/deference_null_pointer
...
Some potential deference of null pointers
2018-04-30 04:49:58 -05:00
darkf
0df204b430
Merge pull request #398 from ShFil119/various
...
Various, small changes
2018-04-30 04:42:41 -05:00
Filip Gawin
2d5d70c1b2
More constexpr
2018-04-17 16:15:17 +02:00
Filip Gawin
5f5e9f7504
Set args as const if possible
2018-04-17 16:15:17 +02:00
Filip Gawin
2aa6d3b3b3
More nullptr
2018-04-17 16:15:17 +02:00
Filip Gawin
cf5efb9560
Use "= default" for trivial ctor/dtor
2018-04-17 16:15:17 +02:00
Filip Gawin
ecbb0599ed
Allow to pause and resume sounds
...
There's a lot of unneeded operation,
I mean coping strings and searching in loops.
We can get rid of it with extra method (passing
by sound by ref) or coping code.
PS cutscene's sound loses sync, because cutscene
doesn't stop.
2018-04-17 16:09:31 +02:00
Filip Gawin
248d8ef727
Fix order of transparent objects
...
As https://learnopengl.com/Advanced-OpenGL/Blending
suggests transparent objects should be last.
2018-03-17 19:38:05 +01:00
Daniel Evans
c328132e92
Implement opcodes 0181 and 0182
2018-02-22 00:34:11 +00:00
Anonymous Maarten
2305bb4a33
rwengine: tabs2space of GTA3ModuleImpl.inl
...
sed -i 's/\t/ /' GTA3ModuleImpl.inl
2018-02-14 23:58:57 +00:00
Filip Gawin
96ed30bc02
Three emplace_backs more
2018-02-14 22:32:08 +00:00
Filip Gawin
1ae0768725
Move temp data(instead of copying)
2018-02-14 22:32:08 +00:00
Anonymous Maarten
4ebc66b544
rwengine+rwgame: add missing includes
2018-02-13 22:15:26 +00:00
Filip Gawin
240b44af8b
More fixes double promotion
2018-02-12 09:54:25 +00:00
Christoph Heiss
00bac4c531
Fix build on macOS.
2018-02-09 22:58:49 +00:00
Christoph Heiss
256e5e73ad
Fix seat assignment on boats.
2018-02-09 22:53:23 +00:00
Lucas Eriksson
3e96ad9c92
Stop using default initialization onglm datatypes.
...
It results in undefined behaviour with glm 0.9.9
2018-02-09 22:33:10 +00:00
Filip Gawin
5bf92e5a0b
Use range loops in SaveGame.cpp
...
I've added const at the beginning of file,
arrays converted to type std::array.
2018-02-06 19:19:09 +00:00
Filip Gawin
73a5daab82
Use range loop
2018-02-06 19:19:09 +00:00
Filip Gawin
de77efe225
Add check character for player
2018-02-02 18:12:28 +01:00
Filip Gawin
edcd918f72
Add check reading simplemodel
2018-02-02 18:12:15 +01:00
Florin9doi
e3e3642ec2
Save game location for Windows; fixes #375
2018-02-02 15:32:24 +00:00
Daniel Evans
e2eff314fd
Weather: Fix linker error with old GLM
2018-02-01 02:43:48 +00:00
Daniel Evans
61e39aa505
Vehicle Object Component Rule evaluation
2018-02-01 02:43:48 +00:00
Daniel Evans
b35188ab94
correct comprules parsing. Use hex digits
2018-02-01 02:43:48 +00:00
Daniel Evans
9f68e4c95d
Interpolate between weather types too
2018-01-30 01:54:15 +00:00
Daniel Evans
4490d91ee1
Load weather data into GLM types instead
2018-01-30 01:48:33 +00:00
Daniel Evans
5d4231f922
Use the WeatherCondition enum without directly indexing into entries
2018-01-30 01:48:33 +00:00
Daniel Evans
d3306922b2
Split Weather Data from the loader
...
- WeatherLoader now just a namespace with a single function
2018-01-30 01:48:33 +00:00
Florin9doi
e5694b383c
Map flashing
2018-01-29 23:50:44 +00:00
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
7743626acb
Boats have a different DFF structure
2018-01-27 21:36:21 +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
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
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
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
caa5575573
Add check reading animation ptr
2018-01-08 23:09:43 +01:00
Filip Gawin
8cc8be5603
Small change, new -> make_shared.
2018-01-05 06:51:58 +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
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
Miloslav Číž
7715dbaf6e
Make vehicle wheels steer smoothly
2017-11-17 21:09:05 +01: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
Anonymous Maarten
85ac15078a
rwengine: Removed unused functions and defines
2017-11-17 00:50:50 +00:00
Anonymous Maarten
1378931eba
rwengine: throw runtime_error on shader error instead of straight exit
2017-11-17 00:50:50 +00:00
Anonymous Maarten
32fb5eb409
rwlib: LoaderIMG accepts rwfs::path
2017-11-17 00:50:50 +00:00
Anonymous Maarten
820c4bd25c
rwengine: GameData accepts rwfs::path as path of game data
2017-11-17 00:50:50 +00:00
Daniel Evans
9c48b4424a
Add build time option for CXX17 or boost filesystem
2017-10-31 00:55:19 +00:00
Anonymous Maarten
a40a2706a9
cmake: add support for include-what-you-use to check #include's
...
The output is currently very verbose and includes many false positives.
Adding a mapping file should solve this.
See
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUMappings.md
2017-10-29 20:40:57 +00:00
Anonymous Maarten
5dc707aaed
cmake: make OpenAL an imported target
2017-10-29 20:40:57 +00:00
Anonymous Maarten
6ccf85b770
cmake: make bullet an imported target
2017-10-29 20:40:57 +00:00
Anonymous Maarten
9f1ba0fe76
cmake: make ffmpeg an imported target
2017-10-29 20:40:57 +00:00
Anonymous Maarten
47dbea1bb4
cmake: make glm an imported target
2017-10-29 20:40:57 +00:00
Anonymous Maarten
f5a237bf7b
cmake: reformat rwengine/CMakeLists.txt
2017-10-29 20:40:57 +00:00
Anonymous Maarten
1926795d63
cmake: use rwengine::interface + no more add_definitions & include_directories
2017-10-29 20:40:57 +00:00
Filip
b9d306ae70
Improving handling game shaders ( #302 )
...
* move delete to earlier stage
* lines for better readability
* Added detach shader
* Addition forgotten glDeleteProgram
https://github.com/rwengine/openrw/search?utf8=%E2%9C%93&q=glDeleteProgram&type=
In project there's no necessary clearing call of glDeleteProgram.
* Removing/Closing shader programs
Each shader program should be taken care by glDeleteProgram.
To make it works/usefull, each shader's raw ptr will convertet to unique_ptr
in next commit.
* Converting ShaderProgram's ptr to unique
Actually deleting isn't handled,
so this commit removes memory leak.
2017-10-29 18:47:52 +00:00
Filip
c54cfa0ae8
Avoid making unnecessary copies ( #337 )
...
* frames.emplace_back
* vehicleColours.emplace_back
* colours.emplace_back
* waterBlocks.emplace_back
* state.garages.emplace_back
* bonedata->frames.emplace_back
* lines.emplace_back
* circleVerts.emplace_back
* geo.emplace_back
* Water renderer
* perf_colours.emplace_back
2017-10-29 17:14:07 +00:00
Filip Gawin
9aa01b69e1
Resolve cases found by gcc-5
2017-10-26 21:22:08 +01:00
Filip Gawin
512ac6f5ee
Fix double promotion
2017-10-25 01:17:46 +01:00
Daniel Evans
43047269ab
Offset vehicle spawn height to account for dimensions
...
Should prevent vehicles spawning in, and falling through, the ground.
2017-10-19 23:42:41 +01:00
Anonymous Maarten
14ef8c2539
rwengine: incorporate review
2017-10-18 21:52:29 +01:00
Anonymous Maarten
8012a5065d
rwengine: Store btOverlappingPairCallback in GameWorld
...
Should fix this memory leak:
==16721== 8 bytes in 1 blocks are definitely lost in loss record 7 of 264
==16721== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==16721== by 0x7E7B5D: GameWorld::GameWorld(Logger*, GameData*) (GameWorld.cpp:100)
==16721== by 0x76EC0B: std::_MakeUniq<GameWorld>::__single_object std::make_unique<GameWorld, Logger*,
GameData*>(Logger*&&, GameData*&&) (unique_ptr.h:825)
==16721== by 0x760F50: RWGame::newGame() (RWGame.cpp:107)
==16721== by 0x78E713: LoadingState::enter() (LoadingState.cpp:9)
==16721== by 0x76602B: void StateManager::enter<LoadingState, RWGame*, RWGame::RWGame(Logger&, int, ch
ar**)::{lambda()#1}>(RWGame*&&, RWGame::RWGame(Logger&, int, char**)::{lambda()#1}&&) (StateManager.hpp:4
0)
==16721== by 0x760842: RWGame::RWGame(Logger&, int, char**) (RWGame.cpp:81)
==16721== by 0x750385: main (main.cpp:13)
2017-10-18 21:52:29 +01:00
Anonymous Maarten
a610ea2387
rwengine: store btCollisionShape along btRigidBody in Part
...
Should fix this memory leak:
==16721== 103 bytes in 1 blocks are definitely lost in loss record 181 of 264
==16721== at 0x4C2EB6B: malloc (vg_replace_malloc.c:299)
==16721== by 0x58F1AF3: ??? (in /usr/lib64/libLinearMath.so.2.83)
==16721== by 0x83E3C9: btBoxShape::operator new(unsigned long) (btBoxShape.h:34)
==16721== by 0x83CD75: VehicleObject::createObjectHinge(VehicleObject::Part*) (VehicleObject.cpp:722)
==16721== by 0x83C251: VehicleObject::setPartLocked(VehicleObject::Part*, bool) (VehicleObject.cpp:610)
==16721== by 0x83C2D0: VehicleObject::setPartTarget(VehicleObject::Part*, bool, float) (VehicleObject.cpp:623)
==16721== by 0x7B10CD: Activities::EnterVehicle::update(CharacterObject*, CharacterController*) (CharacterController.cpp:226)
==16721== by 0x7B062D: CharacterController::updateActivity() (CharacterController.cpp:26)
==16721== by 0x7B09FE: CharacterController::update(float) (CharacterController.cpp:98)
==16721== by 0x8EBBFA: DefaultAIController::update(float) (DefaultAIController.cpp:87)
==16721== by 0x82ED5A: CharacterObject::tick(float) (CharacterObject.cpp:240)
==16721== by 0x763630: RWGame::tick(float) (RWGame.cpp:506)
==16721==
==16721== 120 bytes in 5 blocks are definitely lost in loss record 187 of 264
==16721== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==16721== by 0x8EBA26: DefaultAIController::update(float) (DefaultAIController.cpp:63)
==16721== by 0x82ED5A: CharacterObject::tick(float) (CharacterObject.cpp:240)
==16721== by 0x763630: RWGame::tick(float) (RWGame.cpp:506)
==16721== by 0x763128: RWGame::run() (RWGame.cpp:420)
==16721== by 0x750394: main (main.cpp:15)
2017-10-18 21:52:29 +01:00
Anonymous Maarten
eba262b789
rwengine: make Activity a std::unique_ptr
...
Should fix this memory leak:
==16721== 120 bytes in 5 blocks are definitely lost in loss record 187 of 264
==16721== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==16721== by 0x8EBA26: DefaultAIController::update(float) (DefaultAIController.cpp:63)
==16721== by 0x82ED5A: CharacterObject::tick(float) (CharacterObject.cpp:240)
==16721== by 0x763630: RWGame::tick(float) (RWGame.cpp:506)
==16721== by 0x763128: RWGame::run() (RWGame.cpp:420)
==16721== by 0x750394: main (main.cpp:15)
2017-10-18 21:52:29 +01:00
Anonymous Maarten
e448f610ff
rwengine: make Renderer a shared_ptr
...
Should fix this memory leak:
==16721== 912 (600 direct, 312 indirect) bytes in 1 blocks are definitely lost in loss record 225 of 264
==16721== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==16721== by 0x84A697: GameRenderer::GameRenderer(Logger*, GameData*) (GameRenderer.cpp:71)
==16721== by 0x75FC7D: RWGame::RWGame(Logger&, int, char**) (RWGame.cpp:35)
==16721== by 0x750385: main (main.cpp:13)
2017-10-18 21:52:29 +01:00
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
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
Anonymous Maarten
8e98cf2311
rwengine: Pass CharacterController to the CharacterObject constructor
...
The CharacterObject should remove the CharacterController upon
destruction.
Should fix this memory leak:
==31441== 480 (360 direct, 120 indirect) bytes in 5 blocks are definitely lost in loss record 2,038 of 2,723
==31441== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==31441== by 0x7E2370: GameWorld::createPedestrian(unsigned short, glm::tvec3<float, (glm::precision)0> const&, glm::tquat<float, (glm::precision)0> const&, unsigned int) (GameWorld.cpp:334)
==31441== by 0x8E2F01: TrafficDirector::populateNearby(ViewCamera const&, float, int) (TrafficDirector.cpp:164)
==31441== by 0x7E1170: GameWorld::createTraffic(ViewCamera const&) (GameWorld.cpp:176)
==31441== by 0x75C616: RWGame::tick(float) (RWGame.cpp:531)
==31441== by 0x75BF18: RWGame::run() (RWGame.cpp:420)
==31441== by 0x749184: main (main.cpp:15)
2017-10-18 21:52:29 +01:00
Anonymous Maarten
c2da40d0a0
rwlib/rwengine: Use AnimationPtr instead of Animation*
...
Should fix these memory leaks:
==31441== 3,694,699 (17,248 direct, 3,677,451 indirect) bytes in 196 blocks are definitely lost in loss record 2,720 of 2,723
==31441== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==31441== by 0x81D98E: LoaderIFP::loadFromMemory(char*) (LoaderIFP.cpp:69)
==31441== by 0x7BE5D2: GameData::loadIFP(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameData.cpp:506)
==31441== by 0x7B9B4A: GameData::load() (GameData.cpp:59)
==31441== by 0x7590C5: RWGame::RWGame(Logger&, int, char**) (RWGame.cpp:51)
==31441== by 0x749175: main (main.cpp:13)
==31441==
==31441== 5,298,984 (1,080 direct, 5,297,904 indirect) bytes in 15 blocks are definitely lost in loss record 2,722 of 2,723
==31441== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==31441== by 0x820253: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::allocate(unsigned long, void const*) (new_allocator.h:111)
==31441== by 0x820175: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >&, unsigned long) (alloc_traits.h:436)
==31441== by 0x81FFB4: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_M_get_node() (stl_tree.h:588)
==31441== by 0x81FE03: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_M_create_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&) (stl_tree.h:642)
==31441== by 0x81FC26: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_Alloc_node::operator()<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&) const (stl_tree.h:556)
==31441== by 0x81F620: std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_M_insert_<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&, std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&, std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_Alloc_node&) (stl_tree.h:1753)
==31441== by 0x81EDFD: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::_M_insert_unique<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&) (stl_tree.h:2096)
==31441== by 0x81E9F0: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, AnimationBone*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> > >::insert(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, AnimationBone*> const&) (stl_map.h:796)
==31441== by 0x81E0BB: LoaderIFP::loadFromMemory(char*) (LoaderIFP.cpp:132)
==31441== by 0x7BE5D2: GameData::loadIFP(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameData.cpp:506)
==31441== by 0x7E4060: GameWorld::loadCutscene(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameWorld.cpp:692)
2017-10-18 21:52:29 +01:00
Anonymous Maarten
7e4e1db85d
rwlib: Use ClumpPtr instead of Clump*
...
Should fix these memory leaks:
==22737== 14,598,040 (131,472 direct, 14,466,568 indirect) bytes in 2,739 blocks are definitely lost in loss record 3,124 of 3,126
==22737== at 0x4C2F1CA: operator new(unsigned long) (vg_replace_malloc.c:334)
==22737== by 0x90FE4B: LoaderDFF::loadFromMemory(std::shared_ptr<FileContentsInfo>) (LoaderDFF.cpp:443)
==22737== by 0x7BCC86: GameData::loadModel(unsigned short) (GameData.cpp:474)
==22737== by 0x7DF7BC: GameWorld::createInstance(unsigned short, glm::tvec3<float, (glm::precision)0> const&, glm::tquat<float, (glm::precision)0> const&) (GameWorld.cpp:144)
==22737== by 0x7DF44C: GameWorld::placeItems(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (GameWorld.cpp:120)
==22737== by 0x758D38: RWGame::newGame() (RWGame.cpp:116)
==22737== by 0x786389: LoadingState::enter() (LoadingState.cpp:9)
==22737== by 0x75DC59: void StateManager::enter<LoadingState, RWGame*, RWGame::RWGame(Logger&, int, char**)::{lambda()#1}>(RWGame*&&, RWGame::RWGame(Logger&, int, char**)::{lambda()#1}&&) (StateManager.hpp:40)
==22737== by 0x758484: RWGame::RWGame(Logger&, int, char**) (RWGame.cpp:81)
==22737== by 0x747815: main (main.cpp:13)
2017-10-18 21:52:29 +01:00
Filip Gawin
c5ade22377
Implement 0197-01B0
2017-10-17 22:26:15 +01:00
Filip Gawin
863d69656d
Implement 00b0, 00b1
2017-10-17 22:26:15 +01:00
Filip Gawin
5cb1cd884c
Implement 00a3, 00a4
...
As you can see, they are copies
of 0056, 0057.
32a64aa214/rwengine/src/script/modules/GTA3ModuleImpl.inl (L939)
2017-10-17 22:26:15 +01:00
Tomi Lähteenmäki
4bf1d3795b
Fix jumping in newer bullet version ( #328 )
...
* Fix jumping in newer bullet version
* Added check for bullet version
jump() was changed in bullet version 2.84
2017-10-16 22:37:02 +01:00
Christoph Heiss
a347c07961
Use memcpy instead of mempcpy as mempcpy is glibc-specific.
...
This fixes #324 on macOS.
The only difference between memcpy and mempcpy is that mempcpy returns
a pointer one after the last written byte - the return value is unused.
2017-10-13 23:20:23 +01:00
Daniel Evans
8e86786e5b
Update Character movement at each physics sub-step
2017-10-13 21:40:40 +01:00
Daniel Evans
c915521436
Use a sliding range within a larger UBO for object data.
...
Improves performance quite considerably (30%) on Ivy Bridge
2017-10-13 19:58:27 +01:00
Christoph Heiss
6cab5ee31a
Fix some warnings
...
openrw/rwengine/src/engine/GameData.cpp:358:26: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
textureslots[slot] = std::move(loadTextureArchive(name));
^
openrw/rwengine/src/engine/GameData.cpp:358:26: note: remove std::move call here
textureslots[slot] = std::move(loadTextureArchive(name));
^~~~~~~~~~ ~
openrw/rwengine/src/objects/CharacterObject.cpp:16:18: warning: unused variable 'enter_offset' [-Wunused-variable]
static glm::vec3 enter_offset(0.81756252f, 0.34800607f, -0.486281008f);
^
In file included from openrw/rwgame/RWGame.cpp:5:
openrw/rwgame/states/BenchmarkState.hpp:33:23: warning: 'BenchmarkState::getCamera' hides overloaded virtual function
[-Woverloaded-virtual]
const ViewCamera& getCamera();
^
openrw/rwgame/State.hpp:51:31: note: hidden overloaded virtual function 'State::getCamera' declared here: different number of
parameters (1 vs 0)
virtual const ViewCamera& getCamera(float alpha);
^
In file included from openrw/rwgame/RWGame.cpp:6:
openrw/rwgame/states/IngameState.hpp:53:18: warning: 'draw' overrides a member function but is not marked 'override'
[-Winconsistent-missing-override]
virtual void draw(GameRenderer* r);
^
openrw/rwgame/State.hpp:28:18: note: overridden virtual function is here
virtual void draw(GameRenderer* r) {
^
In file included from openrw/rwgame/RWGame.cpp:6:
openrw/rwgame/states/IngameState.hpp:60:23: warning: 'getCamera' overrides a member function but is not marked 'override'
[-Winconsistent-missing-override]
const ViewCamera& getCamera(float alpha);
^
openrw/rwgame/State.hpp:51:31: note: overridden virtual function is here
virtual const ViewCamera& getCamera(float alpha);
^
openrw/rwgame/RWGame.cpp:242:22: warning: unused variable 'vehicleModel' [-Wunused-variable]
uint16_t vehicleModel = 110; // @todo Which cars are spawned?!
^
In file included from openrw/rwengine/src/script/modules/GTA3Module.cpp:1:
In file included from openrw/rwengine/src/engine/GameState.hpp:7:
openrw/rwengine/src/engine/ScreenText.hpp:140:63: warning: suggest braces around initialization of subobject [-Wmissing-braces]
const std::array<GameString, sizeof...(args)> vals = {args...};
^~~~
{ }
openrw/rwengine/src/script/modules/GTA3ModuleImpl.inl:5669:16: note: in instantiation of function template specialization
'ScreenText::format<std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> > >'
requested here
ScreenText::format(
^
In file included from openrw/rwengine/src/script/modules/GTA3Module.cpp:1:
In file included from openrw/rwengine/src/engine/GameState.hpp:7:
openrw/rwengine/src/engine/ScreenText.hpp:140:63: warning: suggest braces around initialization of subobject [-Wmissing-braces]
const std::array<GameString, sizeof...(args)> vals = {args...};
^~~~
{ }
openrw/rwengine/src/script/modules/GTA3ModuleImpl.inl:10214:18: note: in instantiation of function template specialization
'ScreenText::format<std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> >,
std::__1::basic_string<unsigned short, std::__1::char_traits<unsigned short>, std::__1::allocator<unsigned short> > >' requested here
ScreenText::format(script::gxt(args, gxtEntry),
^
openrw/rwgame/State.cpp:40:42: warning: unused parameter 'alpha' [-Wunused-parameter]
const ViewCamera& State::getCamera(float alpha) {
^
openrw/rwengine/src/render/ObjectRenderer.cpp:20:17: warning: unused variable 'kWorldDrawDistanceFactor'
[-Wunused-const-variable]
constexpr float kWorldDrawDistanceFactor = kDrawDistanceFactor;
^
2017-10-13 19:54:10 +01:00
Filip Gawin
7b706e11d4
Fix text colors
...
On gtamodding.com is list
https://www.gtamodding.com/wiki/GXT#Tokens
2017-10-13 19:48:12 +01:00
Aldoxtor
7b0b82c502
implement isPlayer()
2017-10-08 18:29:14 +01:00
Daniel Evans
7f2c512f50
Use Renderer in place of raw GL calls in more places
...
Additionally, fix setBlend() enabling blending on every draw
2017-10-08 18:18:28 +01:00
Filip Gawin
6d67728b4f
Fix opcode 00bc
...
After some researches I found that,
script with opcode 03d5 removes only short
connected with sound, not cutscene's text.
Example:
aa12022061/19_8ball.sc (L164)
But in case of cutscenes, script doesn't do anything,
so logically suspecting, all opcodes connected with key word NOW,
are flushing currently used text.
aa12022061/19_8ball.sc (L862)
2017-10-08 14:37:16 +01:00
Filip Gawin
26e7d57905
Fix opcode 03d5
...
As you can see in script:
https://github.com/Lighnat0r/GTA-III-SCM-Converted/search?utf8=%E2%9C%93&q=03d5&type=
Opcode 03d5 is cleaning only after 00BC.
00BC is using HighPriority, not Big.
2017-10-08 14:37:16 +01:00
Filip Gawin
cc61d3858d
Implement opcodes arg = abs(arg)
...
Commit implements 0094, 0095,
0096, 0097
2017-09-28 22:21:53 +01:00
Filip Gawin
ca819e9ddc
Implement opcodes feet --> meters
...
Implement 0425, 042D.
2017-09-28 22:21:53 +01:00
Filip Gawin
a6d153b163
Implement opcodes int <--> float
...
Implements 008c, 008d, 008e, 008f,
0090, 0091, 0092, 0093.
2017-09-28 22:21:53 +01:00
Filip Gawin
c16f565136
Implement 02f6 02f7
2017-09-28 22:21:53 +01:00
Filip Gawin
11e90c61e5
Simplify condition
...
Like suggested in #293 .
2017-09-19 14:23:31 +01:00
Filip Gawin
391e993d1f
Simplify condition and increase readability
2017-09-19 14:23:31 +01:00
Filip Gawin
27113e540f
Deleting "empty", duplicated variables in CharacterState
...
All objects inherites variables: rotation and position from GameObject,
CharacterObject contains also CharacterState with empty,
never used position and rotation. They are not even initialized.
https://github.com/rwengine/openrw/search?utf8=%E2%9C%93&q=currentState&type=
https://github.com/rwengine/openrw/search?p=1&q=getCurrentState&type=&utf8=%E2%9C%93
2017-09-19 14:23:31 +01:00
Filip Gawin
2890280934
Convert default initialization to value initialization
...
Default initialization has a problem,
it doesn't initialize POD class,
so it's safer to use value initialization,
especially for "outside" class (like bullet).
2017-09-19 14:23:31 +01:00
Anonymous Maarten
02c60311ee
rwlib/rwengine: make use of RW_ASSERT instead of assert
2017-09-16 22:19:39 +01:00
darkf
afe4928678
SoundManager: use av_frame_free, not av_free
2017-09-16 19:50:51 +01:00
darkf
8fd6d2f125
SoundManager: Set log level to error on release, warning on debug
2017-09-16 19:50:51 +01:00
darkf
f4f0f28a14
Support older libavcodec versions and update .travis.yml for new dependencies
2017-09-16 19:50:51 +01:00
darkf
ec2e940924
Remove libsndfile dependency
2017-09-16 19:50:51 +01:00
darkf
d69fdffdd1
Remove mman-win32 dependency
2017-09-16 19:50:51 +01:00