Anonymous Maarten
062115f6bd
rwgame+rwengine: get background from index + pass as rwfs::path
2018-06-30 04:03:20 +02:00
Anonymous Maarten
4f60dfad43
rwlib: bit_case is a header, not a source file
2018-06-30 04:03:20 +02:00
Anonymous Maarten
36149cf38e
rwlib: rw/defines.hpp -> rw/debug.hpp
2018-06-30 04:03:20 +02:00
Daniel Evans
4c357ad618
Merge pull request #493 from husho/pacman
...
Big'N'Veiny pickups
2018-06-29 21:15:17 +01:00
Christoph Heiss
4e38cb1d30
rwengine: Fix cutscenes only showing a grey screen on macOS.
...
This is caused by different handling of formatted input in the C++
standard library on macOS than on a linux box.
On linux, characters after a number are ignored (such as 'f' in this
case), on macOS this leads to an error on the stream.
2018-06-26 14:15:08 +02:00
husho
f9fc588d64
Fixed: tests weren't working
...
Fixed: mission timer
Timer was going crazy due to missing 02d9 opcode, update timer 25 times per second
Fixed: mission timer
Don't beep on every timer update
2018-06-26 03:45:52 +03:00
Daniel Evans
7061813afd
Merge pull request #507 from husho/scmfix
...
Fix: terminate only mission scripts when starting new mission via debug menu
2018-06-26 00:43:19 +01:00
husho
363840396a
Implemented: Big'N'Veiny pickups
2018-06-26 02:39:24 +03:00
Daniel Evans
7d7400308c
Merge pull request #490 from husho/garages_continuation
...
[Ready] Garages continuation
2018-06-26 00:23:38 +01:00
Daniel Evans
146b42d510
Merge pull request #525 from dracc/349-fix
...
Fix #349 "Smooth vehicle steering"
2018-06-25 23:54:45 +01:00
husho
92d2a614b7
Garages continuation
2018-06-24 02:43:24 +03:00
Lucas Eriksson
15c7f7299c
349-fix
2018-06-22 12:37:46 +02:00
Daniel Evans
10ef3448aa
Merge pull request #517 from NFSMONSTR/implement_some_cheats_2
...
Implement some cheats and showing cheat activated message
2018-06-21 22:45:34 +01:00
Daniel Evans
9ef401f7c4
Merge pull request #471 from husho/patch-2
...
Temporary partial fix for duped cars & peds in first mission
2018-06-21 22:33:55 +01:00
Anonymous Maarten
ae5edcf056
rwengine: check whether character is player
...
Fixes #519
==13884==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000b3d954 at pc 0x0000008ba469 bp 0x7ffd7c8f9ab0 sp 0x7ffd7c8f9aa0
READ of size 4 at 0x607000b3d954 thread T0
#0 0x8ba468 in PlayerController::isTalkingOnPayphone() const /home/maarten/programming/openrw/rwengine/src/ai/PlayerController.cpp:315
#1 0xa148eb in CharacterObject::updateMovementAnimation(float) /home/maarten/programming/openrw/rwengine/src/objects/CharacterObject.cpp:128
#2 0xa185d9 in CharacterObject::updateCharacter(float) /home/maarten/programming/openrw/rwengine/src/objects/CharacterObject.cpp:356
#3 0xa17735 in CharacterObject::tick(float) /home/maarten/programming/openrw/rwengine/src/objects/CharacterObject.cpp:297
#4 0x7c7731 in RWGame::tick(float) /home/maarten/programming/openrw/rwgame/RWGame.cpp:541
#5 0x7c6abb in RWGame::run() /home/maarten/programming/openrw/rwgame/RWGame.cpp:447
#6 0x793b45 in main /home/maarten/programming/openrw/rwgame/main.cpp:17
#7 0x7f154c17e18a in __libc_start_main (/lib64/libc.so.6+0x2318a)
#8 0x793839 in _start (/home/maarten/programming/openrw/build/build/rwgame/rwgame+0x793839)
2018-06-21 03:14:09 +02:00
Jannik Vogel
90a0b3ad97
Merge pull request #349 from drummyfish/master
...
Make vehicle wheels steer smoothly
2018-06-20 22:50:42 +02:00
husho
1132a4ba3c
Fixed: missions debug menu
...
starting a mission via debug menu terminated non mission scripts
2018-06-19 21:22:44 +03:00
Jannik Vogel
3a052353a7
Merge pull request #492 from husho/patch-3
...
Fix vehicle damage
2018-06-19 18:36:36 +02:00
NFS_MONSTR
f5f1fb3247
Implement some cheats and cheat activated message
2018-06-18 22:15:31 +03:00
husho
22205aaa28
Fix panic
2018-06-18 16:20:51 +03:00
husho
7f249ecf89
Fix paramedic & vigilante submissions ( #491 )
...
Opcodes
0376 opcode "create_random_actor" was unimplemented and did return garbage to the script, and dereferencing nonexistent actor caused crashes
2018-06-18 07:36:27 -05:00
husho
595b671f6d
Added missing std::
2018-06-18 06:53:39 -05:00
husho
f3664def80
Redid opcodes related to player input and cutscenes ( #476 )
...
Redid opcodes related to player input and cutscenes
2018-06-18 06:53:09 -05:00
husho
6d04746222
[Ready] Payphones ( #498 )
...
Payphones
2018-06-17 23:24:34 -05:00
husho
81781a53ed
Various opcodes ( #499 )
...
Various opcodes
2018-06-17 23:23:20 -05:00
darkf
d0c07db836
Merge pull request #513 from madebr/ub_characterobject
...
rwgame: remove undefined behavior in CharacterObjects
2018-06-15 11:05:08 -05:00
Anonymous Maarten
46b94bd1ed
rwgame: remove undefined behavior in CharacterObjects
...
Fixes this warning:
/home/maarten/programming/openrw/rwengine/src/objects/CharacterObject.cpp:202:54: runtime error: downcast of address 0x00000ae11d00 which does not point to an object of type 'PlayerController'
0x00000ae11d00: note: object is of type 'DefaultAIController'
00 00 00 00 58 91 ca 00 00 00 00 00 e0 2e 90 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^~~~~~~~~~~~~~~~~~~~~~~
vptr for 'DefaultAIController'
/home/maarten/programming/openrw/rwengine/src/objects/CharacterObject.cpp:202:75: runtime error: member call on address 0x00000ae11d00 which does not point to an object of type 'PlayerController'
0x00000ae11d00: note: object is of type 'DefaultAIController'
00 00 00 00 58 91 ca 00 00 00 00 00 e0 2e 90 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^~~~~~~~~~~~~~~~~~~~~~~
vptr for 'DefaultAIController'
/home/maarten/programming/openrw/rwengine/src/ai/PlayerController.hpp:66:16: runtime error: member access within address 0x00000ae11d00 which does not point to an object of type 'PlayerController'
0x00000ae11d00: note: object is of type 'DefaultAIController'
00 00 00 00 58 91 ca 00 00 00 00 00 e0 2e 90 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^~~~~~~~~~~~~~~~~~~~~~~
vptr for 'DefaultAIController'
2018-06-15 16:24:23 +02:00
Filip Gawin
625ebdcb90
Fix UB in gamestate
2018-06-14 17:06:08 +02:00
Anonymous Maarten
b6a2b2181d
cmake: do not override find modules but wrap them separately
2018-06-14 02:10:54 +02:00
husho
23072a5e99
Implement script timer ( #500 )
...
Added script timer
2018-06-12 13:05:50 -05:00
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