Commit Graph
191 Commits
Author SHA1 Message Date
asarium 4a9f1a2d56 Fix the rest of the string conversion warnings 2017-01-05 00:15:01 +01:00
asarium 782de278e5 Fix issue with head tracking and freelook interaction
Also adds code for detecting if the FreeTrack client is actually
reporting valid values. I only tested it with FaceTrackNoIR so it may
not work for other head trackers.
2016-08-23 22:29:15 +02:00
MageKing17 8d1a03d087 Merge pull request #848 from z64555/fix/freelook1
Fix/freelook1
2016-08-22 11:42:01 -07:00
z64555 4ec4de1d43 Moves player_set_padlock_state()'s code into do_view_slew() and deletes player_set_padlock_state();
* Moves a camera lock statement into do_view_chase() to coincide with do_view_slew()'s style;
* Resets camera angles when transitioning into chase and external views from target padlock view;
2016-08-21 18:42:11 -05:00
z64555 9bce334c65 Move Padlock view angle modification to view_modify() 2016-08-21 18:41:07 -05:00
Fabian Woltermann 1acfaa8157 Converts model subsystem flags 2016-08-19 14:59:15 +02:00
z64555 1e40f71ff0 * Renames VM_EXTERNAL_CAMERA_LOCKED into VM_CAMERA_LOCKED and uses it for both freelook and external views. (Replaces slew_active)
* Adds VM_CENTERING to replace view_centering
* view_modify() now takes care of centering the view
* Reorganized view-related controls and logic to be cleaner
2016-08-18 01:00:10 -05:00
Fabian Woltermann 98f72f9378 Finishes converting the remaining ship-related flags (#843) 2016-08-17 05:49:40 -07:00
z64555 c2b6417372 [Cleanup] Changes player_set_padlock_state() to take parameters instead of directly operating on globals. 2016-08-16 16:24:42 -05:00
Fabian Woltermann 59f3ef6fab Revert "Fix FreeTrack and headtracking" 2016-08-16 16:21:17 +02:00
asarium 94412da2de Fix FreeTrack and headtracking 2016-08-16 15:44:40 +02:00
Fabian Woltermann ed974844e4 Merge pull request #795 from asarium/cmakeMerge/freetrack
Add improved head tracking code
2016-08-16 11:33:06 +02:00
z64555 84a16c72ff Fixes an issue where the regular padlock view was disabled. 2016-08-15 13:06:57 -05:00
asarium 60afa1431a Add improved head tracking code
This adds an abstraction layer over the previous TrackIR implementation
and also adds an interface for the FreeTrack protocol.
2016-08-13 21:43:23 +02:00
Fabian Woltermann e1ba2256ed Changes the subsystem flags to the new flag system. 2016-08-13 13:52:51 +02:00
Fabian Woltermann 71acc296f0 Merge pull request #804 from z64555/feature/freelook
Feature/freelook
2016-08-13 11:50:06 +02:00
z64555 994f8f7ec4 Fix bug introduced by freelook code that disabled target padlock view mode. 2016-08-12 21:47:04 -05:00
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
z64555 b60f8742e2 Re-Re-enables the freelook mode. Somehow got lost during the Antipodes merge. 2016-08-12 18:09:24 -05:00
asarium f91c681ee1 Add improved joystick API
This API allows to handle events from multiple joysticks but currently
only the events from the configured joystick are used.
2016-08-02 20:08:21 +02:00
asarium 16be3b7cc5 Add support for TrueType fonts
This allows to use standard TrueType Fonts for text rendering in FSO. It uses the NanoVG library which provides the ability of drawing 2D shapes. This library is used for most 2D operations now and can also be used directly by using the PathRenderer class.
2016-08-02 10:57:28 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
MageKing17 6453fa3ed3 Clean up read_player_controls() somewhat.
I don't remember why I was reading this function, but I noticed that the "can_warp" and "warp_failed" variables didn't actually seem to be serving any purpose, and there was some redundant code in the PCM_WARPOUT_STAGE* case they were "used" in.
2016-07-04 18:38:17 -07:00
niffiwan 278a797db2 Add player minimum speed feature
Allows the players ship to have a minimum speed set. If the ships speed
drops below this (per ship) value, the throttle is increased to the
minimum.
For ships that are gliding, their engines will be reactivated when the
ships overall velocity falls below the minimum speed.
Currently only sets a minimum Z speed, Y & X are ignored.
2016-05-27 20:34:15 +10:00
Goober5000 8a125ab019 remove obsolete const_casts 2015-10-28 00:18:31 -04:00
z64555 f56f0c471d Removes joystick polling. Joy axes are now queried every frame. 2015-08-21 14:32:07 -05:00
MageKing17 72af3059e9 Fix Mantis #2436.
Instead of the mouse's axes being automatically bound to heading/pitch/throttle, it finds what the axes are bound to (by looking through Axis_map_to[]) and modifies the corresponding values.
2015-08-20 14:53:01 -07:00
Lari Nieminen b4c625c51a Revert "Fixes Mantis #2436: Mouse controls ignore the axis binds." due to the joystick axis problems it caused
This reverts commit da71e629b4.
2015-08-20 22:07:56 +03:00
Goober5000 bd3cd7eb18 Merge pull request #195 from Echelon9/fix/sort-uniq-includes
Review and refactor #include's
2015-08-19 00:05:02 -04:00
Lari Nieminen da71e629b4 Fixes Mantis #2436: Mouse controls ignore the axis binds. 2015-06-28 14:42:17 +03:00
Echelon9 2964132f7d Properly guard inclusion of playerman/managepilot.h 2015-06-22 20:24:31 +10:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
niffiwan 603a4086f5 Fix mantis 2920: prevent pilots switching languages
In other words, a pilot can only be used in the same language it was
created with. Checks both the initial selection screen and in the
barracks.
Also fixes issue with PLR version being ignored in pilotfile::verify()

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10817 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-14 20:29:36 +10:00
niffiwan e7d041c332 Fix mantis 2940
Only reset pilotfile stats when the local Player is reset

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10722 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-02 18:29:58 +10:00
z64555 8d5fbab768 z64555's debug console. Take 2. Includes changes to most (not Xcode) project files to include the added files of r10621
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10622 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:37 +10:00
The_E 98355da7d5 Revert 10619: Missing files
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10620 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
z64555 2b2ba832f8 z64555's debug console.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10619 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
Echelon9 b6b3a24e05 General clean up of commented out #ifndef NDEBUG blocks
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10166 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-03 21:12:49 +10:00
niffiwan 0c4c9ec9c9 Fix mantis 2906
reset stats in Pilot (i.e. .plr) on new pilot create/clone

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9887 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-07 20:02:31 +10:00
Goober5000 bdc0767bb0 change strcpy to strcpy_s (left over from r9832)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9884 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-07 20:02:30 +10:00
niffiwan 62d06cfcd9 Coverity multiple CID: fix potential not null terminated strings
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9842 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-29 22:12:22 +10:00
niffiwan 05a298c68d Coverity CID 1099443: fix out of bounds access
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9840 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-28 11:47:24 +10:00
Goober5000 8e096f5c15 remove bad use of memcpy by assigning player class using an actual assign() method (part 2)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9832 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-28 11:47:23 +10:00
Goober5000 52edd5b112 remove bad use of memcpy by assigning player class using an actual assign() method
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9831 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-28 11:47:23 +10:00
Goober5000 fe934190ac clarify that some structs should now be treated as classes change shockwave_create_info back to being a struct fix some missing shockwave_create_info initialization
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9817 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:35 +10:00
Goober5000 7248acc004 use a copy method rather than memcpy to clone stats (Mantis #2922)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9813 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:35 +10:00
Goober5000 138e6b853f yeesh... a veritable cascade of const-correctness
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9783 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-13 20:18:32 +10:00
niffiwan 61bf714c51 Fix mantis 2815: store single/multi squad names and images separately (in csg/plr respectively)
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9622 387891d4-d844-0410-90c0-e4c51a9137d3
2013-04-14 13:00:35 +10:00
karajorma 0c4f6bfcdc Fix Mantis 2811 (Default Campaign File Name was not used).
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9602 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-30 15:36:18 +10:00
zookeeper b4f721c253 Fixed dual fire being available even for secondary banks with only one firepoint.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9599 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-30 15:36:18 +10:00