Daniel Evans
57edc3648b
Detect event starts by double-buffering state
2016-11-19 23:50:34 +00:00
Jannik Vogel
d5ff5601be
Fixup BT_BULLET_VERSION check
...
Bullet 2.83.5 was 283, 2.83.6 was 284, 2.84 (API changes affecting OpenRW) was 285, 2.85.1 is still 285.
We want to check for 2.84 and upwards, so our check must be for 285.
2016-11-07 22:38:38 +01:00
Daniel Evans
9f2fb5aa19
Merge pull request #245 from danhedron/physics-cleanup-1
...
Physics cleanup
2016-11-04 20:41:30 +00:00
Daniel Evans
6ce9ecedcc
Rewrite collision model data assignment
2016-11-03 23:26:09 +00:00
Daniel Evans
ca5649b840
Rewrite LoaderCOL and CollisionModel
2016-11-03 23:25:57 +00:00
Jannik Vogel
10c4f6dc86
Adapt for Bullet >= 2.84
2016-10-29 01:02:07 +02:00
Daniel Evans
684e32f4a9
Simplify Script system by removing SCMOpcodes
...
This was just a useless container for a set of modules. We only have
one module now so don't bother with it. This means we can remove some
more raw new & deletes from RWGame too.
2016-10-24 21:29:41 +01:00
Daniel Evans
fb4d9ea8c3
Use unique_ptr for GameWorld instance
2016-10-24 21:29:41 +01:00
Daniel Evans
ad998e8a80
Avoid allocating RWGame members where possible
...
These objects don't need to be dynamically allocated, they can
take on the same lifetime as RWGame itself.
2016-10-19 22:34:51 +01:00
Daniel Evans
657a726a9b
Initialise logging outside of RWGame
2016-10-19 22:34:51 +01:00
Daniel Evans
5c78930c1b
Remove InventoryItem and WeaponItem
...
They served no purpose other than to awkwardly implement weapon firing
This is now handled in the Weapon::fire* functions, and everything else
has been changed to reference weapon data or inventory indices directly
2016-10-19 22:14:52 +01:00
Daniel Evans
e31c30efe9
Improve loading of hard-coded models
2016-10-10 20:49:44 +01:00
Daniel Evans
a861309936
Change special and cutscene logic to load and unload models
2016-10-07 01:04:48 +01:00
Daniel Evans
e1ab5b1f69
Use ObjectRenderer to draw Goals and Arrows
2016-10-05 22:38:35 +01:00
Daniel Evans
9b45a31834
Remove BackgroundLoader.hpp
2016-10-05 22:38:35 +01:00
Daniel Evans
62ad6b8628
Remove monolithic model list
2016-10-05 22:38:03 +01:00
Daniel Evans
6951434be8
Load objects directly
2016-09-27 22:49:08 +01:00
Daniel Evans
218ffdf66c
Load and associate model data when creating objects
2016-09-27 22:49:07 +01:00
Daniel Evans
6888fa3558
Load and associate MODELFILE entries
2016-09-27 22:48:48 +01:00
Daniel Evans
996a82c4bf
Overhaul Model data handling to improve accuracy
2016-09-27 22:48:45 +01:00
Daniel Evans
479aaab666
Fix header guard in LoaderIDE.hpp
2016-09-11 02:59:03 +01:00
Daniel Evans
46a68de406
Fix header guard in ModelData.hpp
2016-09-11 02:59:02 +01:00
Daniel Evans
707ee4b32a
Rename ObjectData.hpp -> ModelData.hpp
2016-09-11 02:59:02 +01:00
Daniel Evans
e888d04303
clang-format files in rwengine/src/render
2016-09-09 21:13:20 +01:00
Daniel Evans
1e4d7ea133
clang-format files in rwengine/src/data
2016-09-09 21:13:20 +01:00
Daniel Evans
6444bca8db
clang-format files in rwengine/src/loaders
2016-09-09 21:13:19 +01:00
Daniel Evans
83cfb4d1e3
clang-format files in rwengine/src/audio
2016-09-09 21:13:19 +01:00
Daniel Evans
869c15a4ea
clang-format files in rwengine/src/script/modules
2016-09-09 21:13:19 +01:00
Daniel Evans
b064ad2aeb
clang-format files in rwengine/src/script
2016-09-09 21:13:19 +01:00
Daniel Evans
f2eede5301
clang-format files in rwengine/src/objects
2016-09-09 21:13:19 +01:00
Daniel Evans
305737cc3d
clang-format files in rwengine/src/items
2016-09-09 21:13:19 +01:00
Daniel Evans
80e6317c24
clang-format files in rwengine/src/engine
2016-09-09 21:13:19 +01:00
Daniel Evans
8534d7ff5d
clang-format files in rwengine/src/dynamics
2016-09-09 21:13:18 +01:00
Daniel Evans
d5e853d23f
clang-format files in rwengine/src/ai
2016-09-09 21:13:18 +01:00
Daniel Evans
9aa3af6703
clang-format files in rwengine/src/core
2016-09-09 21:13:18 +01:00
Daniel Evans
36a2c57d91
clang-format files in rwengine/src
2016-09-09 21:13:18 +01:00
Daniel Evans
43c2f00f47
Correct header guard and missing include in CollisionModel
2016-09-09 20:16:51 +01:00
Daniel Evans
239d19a310
Don't cast from wide chars to chars on windows
2016-09-09 00:07:17 +01:00
PerikiyoXD
62d0bf796a
Fixed .native() and some cast errors
...
Signed-off-by: PerikiyoXD <perikiyoxd@gmail.com>
2016-09-08 21:17:30 +02:00
Daniel Evans
0abfc695fb
Remove GameData::openFile
...
The openFile API is not useful for implementing the correct
behaviour, so the underlying FileIndex method will be removed
soon.
2016-09-07 22:06:38 +01:00
Daniel Evans
0be8586135
Improve indentation of loadLevelFile
2016-09-07 22:06:38 +01:00
Daniel Evans
930e10ce16
Rename parseDAT to loadLevelFile
...
There are many dat files in the game, but this function
only deals with the the level files
2016-09-07 22:06:38 +01:00
dan
5e0659fccf
Remove now unused fixPath function
2016-09-07 22:06:38 +01:00
dan
810c6658d0
use openFilePath to open data files
2016-09-07 22:06:38 +01:00
Daniel Evans
03309d76d9
Don't defer loading IDE files
2016-09-07 01:34:42 +01:00
dan
306f6fa9d7
Use findFilePath when loading data files
...
This should make file loading more reliable for case sensitive
operating systems.
2016-09-07 00:42:27 +01:00
Daniel Evans
674ce55af3
Replace findPathRealCase with FileIndex methods
...
This introduces indexGameDirectory and findFilePath.
indexGameDirectory indexes the files in the game directory.
findFilePath returns the on-disk location of a case-insensitive
game data path.
2016-09-06 00:23:25 +01:00
Jannik Vogel
fd6be733e0
Use correct int-width in State block 16 and 17
2016-09-02 15:33:45 +02:00
Daniel Evans
95a0e31484
Merge pull request #222 from JayFoxRox/radar-blips
...
Coloured radar-blips and radardisc z-order
2016-09-01 21:00:28 +01:00
haphzd
ae75254848
Fix mingw build
2016-09-01 00:56:14 +03:00
Daniel Evans
904817cb9e
Merge pull request #221 from JayFoxRox/hide-objects
...
Script: Implement opcode_0363 (Object visibility)
2016-08-31 22:08:25 +01:00
Daniel Evans
53a77d26ed
Merge pull request #220 from Mischa-Alff/tobj
...
Fixes #219 : Take TOBJ data into account when building render lists
2016-08-31 22:07:50 +01:00
Jannik Vogel
1e265b0e9c
Script: Correct colour/size for location-radar-blips
2016-08-31 00:28:58 +02:00
Jannik Vogel
270b0ce8be
Script: Correct colour/size for object-radar-blips
2016-08-31 00:28:58 +02:00
Jannik Vogel
635d10abfa
Script: Implement 0188
2016-08-31 00:28:58 +02:00
Jannik Vogel
6117be689d
Script: Support MarkerOnly in 018B
2016-08-31 00:23:02 +02:00
Jannik Vogel
2fdde9a94f
Draw colored radar-blips
2016-08-31 00:23:02 +02:00
Jannik Vogel
c379c5d5e4
Extend BlipData with colour/size
2016-08-31 00:23:02 +02:00
Jannik Vogel
7d96f28ab9
Seperate radar blip setup and drawing
2016-08-31 00:23:02 +02:00
Jannik Vogel
d9e202faba
MapRenderer::draw cleanup
2016-08-31 00:23:02 +02:00
Jannik Vogel
10dba6dbf3
Use a triangle-fan for radar-sprites (allows outline drawing)
2016-08-31 00:23:02 +02:00
Jannik Vogel
de62bd2bd9
Only draw arrow-markers which are not hidden
2016-08-31 00:23:02 +02:00
Jannik Vogel
e99cfd3979
Only draw radar-blips which are not hidden
2016-08-31 00:23:02 +02:00
Jannik Vogel
2d3a8856da
Draw blips after radar-north and player-marker
2016-08-31 00:23:02 +02:00
Jannik Vogel
e2a27711b2
Script: Implement opcode_0363
2016-08-31 00:12:38 +02:00
Daniel Evans
cd0f15bdb9
Use plain references for Local and Global script types
2016-08-30 19:57:47 +01:00
Daniel Evans
23752c33fa
Fix post-mission cleanup: actually destroy objects
2016-08-30 19:57:47 +01:00
Daniel Evans
34bdfbacfa
Remove old script modules
2016-08-30 19:57:47 +01:00
Daniel Evans
51cd277610
Implement various object related opcodes
2016-08-30 19:57:38 +01:00
Daniel Evans
0dd292ba28
Implement text opcodes
2016-08-30 19:56:41 +01:00
Daniel Evans
6f8364a9e8
Implement game opcodes
2016-08-30 19:56:39 +01:00
Daniel Evans
4aea8cc6aa
Implement arithmetic opcodes
2016-08-30 19:51:25 +01:00
Daniel Evans
4344bf40c3
Implement VM opcodes
2016-08-30 19:51:25 +01:00
Daniel Evans
e6c62d15e5
Add generated stubs from script interface descriptions
2016-08-30 19:51:19 +01:00
Daniel Evans
d25c1a45a6
Add Script interfaces to support generated functions
2016-08-30 19:46:59 +01:00
Mischa Aster Alff
a56b25d4cd
Change default object timeOff from 0 to 24
...
Remove now-useless check in ObjectRenderer
2016-08-28 14:32:34 +02:00
Mischa Aster Alff
397e8ecba8
Take TOBJ data into account when building render lists
2016-08-28 14:25:03 +02:00
Jannik Vogel
8e2dca9cfa
MinGW: rwengine depends on mman
2016-08-23 23:09:52 +02:00
Jannik Vogel
bdfa30729f
Replace uses of cmath constants by glm
2016-08-23 23:05:22 +02:00
Daniel Evans
3a53089d68
Merge pull request #190 from tsjost/fix/timecheat
...
Add method to modify game time properly
2016-08-23 00:28:54 +01:00
Daniel Evans
f82d48d52a
Add constants for non alphanumeric symbols
2016-08-23 00:05:25 +01:00
Daniel Evans
3123571894
Convert save games to use GameStringChar
2016-08-23 00:05:18 +01:00
Daniel Evans
67aa5150ca
Replace mb strings with 16-bit char strings
...
The game indexes into the font map directly, it doesn't use any font
encoding scheme like UTF-16. This corrects the behaviour and removes
dependancy on iconv.
2016-08-21 17:40:35 +01:00
Timmy Sjöstedt
03d27a0e80
Implemented method to modify game time properly
2016-08-17 01:03:31 +02:00
Daniel Evans
e449a25071
Replace hack with correct font-map lookup function
2016-08-16 21:46:53 +01:00
Daniel Evans
222c3df68d
Correct header guards in text related headers
2016-08-16 21:46:53 +01:00
Christoph Heiss
664451f63c
Fix -Winconsistent-missing-override warnings
...
Fixes all occurences of this warning:
warning: '<method-name>' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]
2016-08-14 18:57:18 +02:00
Christoph Heiss
180ca626a5
Fix -Wmismatched-tags warnings
...
Fixes all occurences of this warning:
warning: '<type>' defined as a struct here but previously declared as a class
[-Wmismatched-tags]
2016-08-14 18:57:18 +02:00
Daniel Evans
771fafbd0e
Merge pull request #203 from danhedron/fix-vehicle-doors
...
Fix entering & exiting vehicle animations
2016-08-14 00:37:12 +01:00
Kamil Rytarowski
0ef224df90
Add preliminary NetBSD support
...
The iconv(3) function on NetBSD has a custom prototype due to old mistake in
the POSIX specification. The issue has been resolved but we keep using original
form with a constified parameter.
2016-08-13 21:33:04 +02:00
Daniel Evans
2f0b24c6ea
Merge pull request #188 from danhedron/feature/cleanup-script
...
Script cleanup and remove old tool
2016-08-12 23:36:26 +01:00
Daniel Evans
e7d14ffc25
Add right side animations to vehicle entering / exit list
2016-08-12 23:31:04 +01:00
Daniel Evans
9ac62d6521
Fix crash when entering vehicles without doors
2016-08-12 23:26:00 +01:00
Daniel Evans
ebc312bc9e
Merge pull request #198 from JayFoxRox/seats
...
Refactor seat storage, fixes entering wrong seat
2016-08-12 19:27:05 +01:00
Jannik Vogel
b0a2e79599
Refactor seat storage, fixes entering wrong seat
2016-08-12 16:39:29 +02:00
Jannik Vogel
a70931ee7c
Remove screen-door fade-in effect
2016-08-12 15:57:17 +02:00
Jannik Vogel
778ca63803
Script: Initialize globals from SCMFile
2016-08-12 02:14:15 +02:00
Jannik Vogel
6277d7981b
Script: Refactor player_near_point script functions 0xF5 - 0xFA
2016-08-12 02:14:15 +02:00
Jannik Vogel
f82beeefac
Avoid error in substr if short modelname in LOD selection
2016-08-12 02:14:15 +02:00
Jannik Vogel
f591c66422
Avoid crash if scriptOnMissionFlag is not linked
2016-08-12 02:14:15 +02:00