Christoph Heiss
649f7b144d
Replace SFML with SDL2
...
This entirely replaces all remaining SFML pieces with SDL2 and
brings OpenRW up to OpenGL 3.3
2016-06-22 12:29:39 +02:00
Christoph Heiss
938a2e4bfc
Introduce Renderer::readPixels
...
This is needed for taking screenshots.
2016-06-22 11:14:47 +02:00
Jannik Vogel
3400603f64
Script: 0243 (Set Character Personality)
2016-06-16 01:04:05 +02:00
Jannik Vogel
45d22e42bb
Script: 01CC (Set Character Objective to Kill Player by Any Means)
2016-06-16 01:03:54 +02:00
Jannik Vogel
e961ff26cc
Script: 039C (Set Car Watertight)
2016-06-16 01:03:47 +02:00
Jannik Vogel
e731f8d989
Script: 02AA (Set Car Only Damageable by Player)
2016-06-16 01:03:47 +02:00
Jannik Vogel
a19e10e26d
Script: 00AF (Set Vehicle Objective)
2016-06-16 01:03:47 +02:00
Jannik Vogel
e2afae66ea
Script: 0227 (Get Vehicle Health)
2016-06-16 01:03:47 +02:00
Jannik Vogel
cdb67956ee
Script: 01C8 (Create Character as Passenger)
2016-06-16 01:03:47 +02:00
Jannik Vogel
95390d5fb3
Script: 02BF (Is Vehicle in Water)
2016-06-16 01:03:47 +02:00
Jannik Vogel
490f5f2cb0
Script: 01AD (Locate Vehicle Near Point 2D)
2016-06-16 01:03:47 +02:00
Jannik Vogel
7fbdc0d86f
Script: 03DD (Add Sprite Blip for Pickup)
2016-06-16 01:03:46 +02:00
Jannik Vogel
0944ab7dab
Fix signedness warning in game_give_weapon_to_character
2016-06-16 01:03:46 +02:00
Daniel Evans
d8b46b24c0
Fix door closing logic to require door be open for a time
2016-06-15 22:11:07 +01:00
Daniel Evans
ff96a460a0
Implement carjacking
2016-06-15 22:05:00 +01:00
Daniel Evans
ce4d5061e8
Merge pull request #141 from danhedron/fix/opcodes-1
...
Fix opcodes 0121 & 0395
2016-06-11 13:44:52 +01:00
Sam Nicholls
99ec7b5a6e
Attempt to remove compiler warning //?? ( #104 )
...
* Attempt to remove compiler warning
2016-06-11 12:58:11 +01:00
Daniel Evans
636f0db9e5
0x395: Don't delete the player in game_clear_area
2016-06-10 08:13:56 +01:00
Daniel Evans
98d690a13f
0x0121: Use template to determine parameter type
2016-06-10 08:13:41 +01:00
Jannik Vogel
384f6bced8
Script: 0199 (Is Player In Area Or Cylinder)
2016-06-04 18:50:51 +02:00
Jannik Vogel
cfb5dfbf1d
Script: 03BC and 03BD (Create Cylinder / Destroy Cylinder)
2016-06-04 18:50:51 +02:00
Jannik Vogel
a87df6579e
Script: 0329 (Has Respray Happened)
2016-06-04 18:50:50 +02:00
Jannik Vogel
c5269eeb6a
Script: 0335 (Set Free Respray)
2016-06-04 18:50:50 +02:00
Jannik Vogel
37dbd5a8ed
Script: 0395 (Clear Area Vehicles and Pedestrians)
2016-06-04 18:50:50 +02:00
Jannik Vogel
340b2f7159
Don't replace nearby vehicles / characters on creation
2016-06-04 18:50:50 +02:00
Jannik Vogel
8bf6780e84
Spawn script cars on ground level
2016-06-04 18:50:50 +02:00
Daniel Evans
1f5fcb16ca
Merge pull request #121 from JayFoxRox/improve-text
...
Improve text styles
2016-06-04 17:41:32 +01:00
Daniel Evans
5d203ee59c
Merge pull request #122 from JayFoxRox/fix-fishgen
...
Fix FISHGEN
2016-06-04 17:31:48 +01:00
Jannik Vogel
6fda71329f
Script: 03EC (Has Crane Collected All Cars)
2016-06-04 17:23:52 +02:00
Jannik Vogel
b7970c4915
Script: 03D4 (Import Garage Contains Needed Car)
2016-06-04 17:23:52 +02:00
Jannik Vogel
fbb02e14fb
Load import / export garage lists from savegame
2016-06-04 17:23:52 +02:00
Jannik Vogel
ab130d3ba1
Fix typo for script opcode 03AD
2016-06-04 17:23:51 +02:00
Jannik Vogel
53ee6443ef
Script: 01C2 (Mark Character as Unneeded)
2016-06-03 02:40:14 +02:00
Jannik Vogel
9c8f01629f
Script: 011A (Set Character Search Threat)
2016-06-03 02:30:41 +02:00
Jannik Vogel
817247ed1e
Script: 009C (Set Character Wander Path)
2016-06-03 02:30:41 +02:00
Jannik Vogel
63aae5a452
Script: 01B2 (Give Weapon to Character)
2016-06-03 02:30:41 +02:00
Jannik Vogel
8770f954c0
Support all text markup-colours
2016-06-02 19:11:22 +02:00
Jannik Vogel
823891a84e
Fix shadow position for HighPriority-text
2016-06-02 18:58:09 +02:00
Jannik Vogel
5780aaa4f7
Document, improve and add all styles for Big-text
2016-06-02 18:58:09 +02:00
Jannik Vogel
6bb43324a2
Support negative shadow offsets for texts and force shadow colour
2016-06-02 18:57:54 +02:00
Jannik Vogel
87bed4cf0f
Script: 021B (Set Target Car for Mission Garage)
2016-06-02 18:18:28 +02:00
Jannik Vogel
8c72bd33fb
Script: 0422 (Garage Contains Car)
2016-06-02 18:18:28 +02:00
Jannik Vogel
52477013f3
Script: 021C (Is Car Inside Garage)
2016-06-02 18:18:28 +02:00
Jannik Vogel
f850e401cf
Script: 02FB (Create Crusher Crane)
2016-06-02 18:01:36 +02:00
Jannik Vogel
830b295867
Make it more obvious that create_garage returns an index
2016-06-02 17:51:22 +02:00
Jannik Vogel
e5014e29f9
Add function to disable collision for InstanceObjects
2016-06-02 17:47:22 +02:00
Daniel Evans
42ef84998a
Merge pull request #99 from JayFoxRox/fix-luigi3
...
Partially fix LUIGI3 (Drive Misty For Me)
2016-05-31 00:22:48 +01:00
Daniel Evans
ddb2457674
Merge pull request #98 from JayFoxRox/load-objects
...
Create object instances from savegame
2016-05-30 23:53:07 +01:00
Daniel Evans
bf8ea869fb
Merge pull request #110 from JayFoxRox/flags-depth-write
...
Enable / Disable depth writing
2016-05-30 23:03:09 +01:00
Timmy Sjöstedt
4909e68b82
Added explanatory comments to MADStream
2016-05-30 23:44:42 +02:00
Timmy Sjöstedt
5a8b5a603f
More alCheck calls
2016-05-30 20:06:34 +02:00
Timmy Sjöstedt
0d443cc535
Improved sound/music loading. No temporary objects
2016-05-30 20:06:34 +02:00
Timmy Sjöstedt
08b45b6c12
Sleep while waiting for OpenAL buffers to become available
2016-05-30 20:06:34 +02:00
Timmy Sjöstedt
d715cfe24a
Make the right part of the code store the name of loaded audio
...
Otherwise game_play_music_id thinks that the audio hasn't loaded
2016-05-30 20:06:34 +02:00
Timmy Sjöstedt
ccabc6f1d8
Improved music map access
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
f40a0cf29f
Make the SoundManager OpenAL context current
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
fef71de074
Removed SFML audio things
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
14e712f202
Wait for buffers to become available before uploading data
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
63986edca4
Make libmad decoder run in a thread
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
6a1a204728
Upload audio data to OpenAL
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
963f4c62ea
Make cutscene audio use SoundManager
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
5294b40c40
Implement stopMusic method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
861dbf0c2a
Implemented playMusic method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
6a14dc3e02
Implemented loadMusic method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
7a5bbea3a3
Keep track of where to write into the circular buffer
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
b539b09975
Set up OpenAL buffers etc for MADStream
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
62243b0382
Move alCheck macrofunction into its separate files
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
58fdcd47dc
Moved static scale function into MADStream
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
fa13ace921
Moved MADStream implementation to source file
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
6afc4e7147
Make mission sounds use new audio system
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
9a2bb1b156
Reimplement background noise things
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
2bf0500a34
Implemented pauseSound method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
ad137421fb
Implemented isPlaying method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
59a7189ab3
Implemented playSound method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
91c1374b89
Implemented isLoaded method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
830922c9ca
Removed old PlayingSound struct
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
667031c51f
Implemented loadSound method
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
f43e13359a
Added Sound struct
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
cd0109af82
Added simple method to initialize OpenAL
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
6f8b006787
Implement SoundBuffer class to handle OpenAL uploads
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
0d01be5b27
Implemented SoundSource class to handle libsndfile loading
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
9fcd3433b3
Add OpenAL error checking macro + function
2016-05-30 20:06:33 +02:00
Timmy Sjöstedt
f5390ad4a6
Include libsndfile & OpenAL
2016-05-30 20:06:13 +02:00
Jannik Vogel
9e8d279181
Respect z-write disable from instance objects
2016-05-30 17:14:41 +02:00
Jannik Vogel
fbbb1cfbbf
Add @todo that the Blend state setter is broken
2016-05-30 17:14:41 +02:00
Jannik Vogel
9ccbafb03a
Add depth-write permission to Renderer
2016-05-30 17:14:41 +02:00
Jannik Vogel
51a013cf34
Replace GTA SA flags with GTA3 flags
2016-05-30 17:14:41 +02:00
Jannik Vogel
67fe32b3a1
Script: 0122 (Is Player Pressing Horn) and 0126 (Character Objective Passed)
2016-05-27 13:28:35 +02:00
Jannik Vogel
574891e57e
Script: 00E6, 00E8 and 00EF (Locate .. stopped .. 2D)
2016-05-27 13:28:35 +02:00
Jannik Vogel
ce50e47ab6
Script: 0042 (Global Float Equal to Foat)
2016-05-27 13:28:35 +02:00
Jannik Vogel
adeb39c59b
Script: 0443 (Is Player In Any Vehicle)
2016-05-27 13:28:35 +02:00
Jannik Vogel
68f7291c3c
Script: 034F (Destroy Character with Fade)
2016-05-27 13:28:35 +02:00
Jannik Vogel
0d089c9f5d
Script: 0176 (Get Object Heading)
2016-05-27 13:28:29 +02:00
Jannik Vogel
3271579621
Create object instances from savegame
2016-05-27 13:02:20 +02:00
Jannik Vogel
7e3eb744f8
Fix wrong name in RW_UNIMPLEMENTED for game_has_death_or_arrest_finished
2016-05-27 00:50:35 +02:00
Daniel Evans
6422c8ae97
Move blip object lookup and make arrows work again.
2016-05-26 21:49:26 +01:00
Daniel Evans
50cf4293e4
Give blips the correct type.
...
Fixes #94
2016-05-26 20:59:15 +01:00
Daniel Evans
b23a81063d
Implement ammo: ammo tracking and pickups
...
Fixes #47
2016-05-26 00:44:09 +01:00
Daniel Evans
327ac49e64
Only alive characters should perform activities.
...
Fixes #81
2016-05-26 00:40:22 +01:00
Daniel Evans
eef34c972a
Script pickups: implement weapon pickups, improve pickup code
2016-05-25 23:00:52 +01:00
Daniel Evans
230ad972f0
Add world space distance fog
2016-05-25 23:00:52 +01:00
Daniel Evans
f8a90a5eb6
Take far plane distance from the correct camera
2016-05-25 23:00:52 +01:00
Daniel Evans
b7ac33caec
Improve activities: canSkip(), let player cancel vehicle enter.
...
Closes #32
2016-05-24 23:49:01 +01:00
Daniel Evans
040f216407
Don't jump if the player doesn't exist
2016-05-24 23:38:12 +01:00
Daniel Evans
451479e454
Improve vehicle exit: stop before exiting. Closes #31
2016-05-24 21:14:41 +01:00
Daniel Evans
369edcee4f
Reorg. ObjectRenderer and add missing texture texture.
2016-05-24 01:20:59 +01:00
Daniel Evans
96b26c9237
Remove transparentDrawQueue as it's no longer used by rwgame
2016-05-23 22:05:51 +01:00
Daniel Evans
86fcaf0c7d
Improve GoTo activity: stop moving when we reach the destination.
2016-05-23 21:40:55 +01:00
Daniel Evans
478cbf6187
Make forward direction part of character state to simplify
...
This allows activities to make the final call about what direction a
character should be facing based on the direction they want to be
looking.
2016-05-23 21:40:55 +01:00
Daniel Evans
0d2e34ab58
Make characters give up trying to enter vehicles if they're too far away
2016-05-23 21:40:55 +01:00
Daniel Evans
ddcafc17aa
Re-enable screen fade
2016-05-23 21:40:55 +01:00
Timmy Sjöstedt
c8693135f9
Removed unnecessary boost inclusion
2016-05-23 02:57:01 +02:00
Daniel Evans
ede0cf762f
Fix some uninitialized reads
2016-05-22 23:45:19 +01:00
Timmy Sjöstedt
9c9900db55
Initialize BasicState struct in GameState, fixes #26
2016-05-22 23:15:35 +02:00
Daniel Evans
459a853670
Fix and update script functions to handle player objects
2016-05-22 20:05:44 +01:00
Daniel Evans
b58cc9b164
Restore script debugging features to trace script threads
2016-05-22 20:05:04 +01:00
Daniel Evans
39c639fc60
Overhaul ingame camera implementation, much better now.
2016-05-21 19:13:27 +01:00
Daniel Evans
8e629fd2ab
Add null check for the water texture
2016-05-21 15:58:27 +01:00
Daniel Evans
d64f9a9ffc
Add compile time draw distance multiplier for testing.
...
In the future this should be a runtime option controlled by the game
configuration.
2016-05-21 14:32:23 +01:00
Daniel Evans
1a2a3811f9
Initialise suspension length to 0
2016-05-21 13:11:05 +01:00
Daniel Evans
ca92e1e0aa
Fix crash when script attempts to delete null object. Closes #30
2016-05-21 03:00:41 +01:00
Daniel Evans
3e43eb61be
Add spawn offset to script set object position function
2016-05-21 02:34:24 +01:00
Christoph Heiss
4c2c42ef6a
Fix some OS X/Clang (build) errors.
...
For rwengine/src/engine/GameData.cpp, `#ifdef __unix__` is used, which
Clang on OS X does not define, thus not finding files while loading.
2016-05-20 16:28:47 +02:00
Timmy Sjöstedt
dff96b7293
Make OpenGLRenderer use correct preprocessor check for profiler
2016-05-20 01:40:11 +02:00
Daniel Evans
9f85f283cb
CMake: FindSFML+FindMAD, set library paths as SYSTEM, remove dead stuff.
2016-05-19 22:30:06 +01:00
Daniel Evans
5721333fb0
Overhaul script text display with new text logic system.
...
Logic for displaying text now belongs in ScreenText, which will
handle type specific text display.
2016-05-07 18:29:08 +01:00
Daniel Evans
e7faa60926
Make unit tests work again, fixing tests & code
2016-05-02 17:38:04 +01:00
Daniel Evans
9bc535d243
Fix uninitalized read in cutscene loading
2016-05-02 17:20:42 +01:00
Daniel Evans
d2f254731a
Increase warnings to pedantic and fix rwlib/rwengine warnings
2016-05-01 22:30:15 +01:00
Daniel Evans
0057f76630
fix uninitialized member in GameRenderer
2016-05-01 22:26:59 +01:00
Daniel Evans
185ba23f05
Fix all compiler warnings in rwengine.
2016-04-28 00:54:42 +01:00
Daniel Evans
637a6b97ab
Fix compliler error with profiling disabled
2016-04-27 00:18:57 +01:00
Daniel Evans
84c276002c
Improve rendering to support screen door transparency for LODs.
...
The LOD selection and fade logic has been changed to be more.. correct.
The fading now uses screen door transparency so the faded objects don't
need to be sorted with the actually transparent objects.
2016-04-26 23:40:43 +01:00
Daniel Evans
b0a2ae4da5
Implement a trivial profiler for perf. overview
2016-04-26 23:35:04 +01:00
Daniel Evans
3e9b0c64e4
Re-implement object rendering using a depth-sorted approach.
...
This moves the object rendering logic into ObjectRenderer. This makes
GameRenderer a bit smaller.
There are some rendering logic decisions that haven't been brought
back yet since they may be better placed elsewhere.
2016-04-19 01:20:54 +01:00
Daniel Evans
8a5be54b91
Overhaul animation system and character activities
...
Replaces animator with a simpler system that can overlay multiple
animations
Character animation split into two layers, motion and action.
Walking, running and jumping animations are played on the first
layer, actions such as firing can be overlayed on the second.
More work is needed to limit overlap to only the weapons that make
sense.
2016-04-17 04:54:19 +01:00
Daniel Evans
f3b81c5690
Bring tests back up to compiling and running. Only a few are failing
2016-04-15 01:06:10 +01:00
Daniel Evans
66aed023b2
Remove Loader.hpp since it wasn't used for anything
2016-04-14 23:33:49 +01:00
Daniel Evans
3af1c37f5e
Garage vehicle rotations are just directions.
2016-04-14 23:30:05 +01:00
Daniel Evans
8cd50fadf0
Remove mHealth, clean up code & hook up character health & armour
2016-04-14 01:23:21 +01:00
Daniel Evans
07f7b19ca2
Make it possible to fire weapons again
2016-04-13 21:16:27 +01:00
Daniel Evans
46621093f9
Initial chase scene implementation, opening cutscene chase works
2016-04-13 01:47:19 +01:00
Daniel Evans
7888f05ca4
Re-implement map rendering with nice circular minimap
2016-04-12 01:02:09 +01:00
Daniel Evans
93bf5c6eed
Add more opcodes to fix unimplemented opcode crash
2016-04-10 22:27:44 +01:00
Daniel Evans
2d510613fc
Load player inventory information
2016-04-10 22:25:50 +01:00
Daniel Evans
3663536714
Copy health and armour from loaded save games
2016-04-10 19:21:23 +01:00
Daniel Evans
691bba5dca
New inventory implementation and split char state
2016-04-10 18:57:40 +01:00
Daniel Evans
379f3685a7
Add textured quad rendering function and improve text rendering slightly
2016-04-10 18:48:38 +01:00
Daniel Evans
5ef12d6a40
Adjust text kerning for numbers and colons
2016-04-10 05:53:16 +01:00
Daniel Evans
00db7cef3e
Add unimplemented message for opcode 0x014D
2016-04-10 04:47:07 +01:00