Commit Graph
101 Commits
Author SHA1 Message Date
asarium f819db3ac5 More string const correctness fixes 2017-01-04 00:12:41 +01:00
asarium 9a8bfc0217 More const correctness 2017-01-02 13:17:59 +01:00
asarium 1bcb937fe3 Add improved video player
Uses FFmpeg for video decoding and multiple threads for reading and
decoding files. Can handle 1080p with no stuttering.
2016-09-26 22:43:19 +02:00
asarium 3fcb731621 Refactor shader handling
This fixes a few of the bad design descisions of previous shader
iterations. This uses a dedicated class for managing the resources and
uniform locations of a shader program.

Uniforms are also stored in this object which makes a lot more sense
than storing them in the OpenGL state where they had to be reset every
time a new shader was used.

There are still a lot of possible enhancments to make, e.g. by using
uniform blocks and buffers instead of standard uniforms which would make
uniform location handling easier.

Another optimization that I will investigate is reducing the amount or
different compiled shaders by turning some of the current compile-time
defines into bool uniforms.
2016-08-29 12:38:38 +02:00
SamuelCho 6442307c27 Merge branch 'master' into opengl_core_materials 2016-08-25 20:04:14 -07:00
asarium 04a8262712 Remove HARDWARE_ONLY define 2016-08-23 15:45:03 +02:00
SamuelCho a481999a24 OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher. 2016-08-17 00:13:19 -07:00
Fabian Woltermann 3160bdaa00 Changes ship exit flags to the new system 2016-08-14 16:48:11 +02: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
MageKing17 70529dbd5a Deprecate -nohtl and -brief_lighting.
-nohtl hasn't worked for years, and -brief_lighting was always supposed to be a temporary flag before making the behavior always on.
2016-07-08 09:39:29 -07:00
MageKing17 90a2676f17 Fix mission screen grid by changing the drawing of the lines.
Instead of using the clipping plane, simply don't draw the grid below the scanline. Fixes issue #347.
2016-03-16 16:40:56 -07:00
Goober5000 75411d92bb const-correctness inspired by 392, because why not be masochistic 2015-10-27 22:46:35 -04:00
DahBlount 51c61b5144 Change closeup_pos in draw_model_icon() to a pointer 2015-10-27 15:51:45 -06:00
DahBlount 6cf105b768 Fix Closeup_Pos and Closeup_Zoom
The draw_model_rotating() and draw_model_icon() functions were receiving
the whole Weapon_Info array instead of a single weapon_info object (wip
in this case).
2015-10-27 15:51:44 -06:00
Yarn366 873694eae2 Added unified functions for loading and saving custom UI backgrounds 2015-09-19 04:47:11 -04:00
MageKing17 64c9b272e7 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/pilotfile/pilotfile.cpp
2015-08-19 11:53:25 -07: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
MageKing17 ab9d2e20fb Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-06-18 14:40:53 -07:00
SamuelCho 2ba39e6b6d Refactored how color setting is done for model rendering. Fixes Mantis 3163. 2015-05-29 21:54:33 -07:00
MageKing17 7e696a55d2 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Also added model_icon_angles to the ship_info() constructor, and model_icon_angles, thruster_glow_noise_mult, and min_engine_vol to ship_info::clone() and and ship_info::move().

Conflicts:
	code/ship/ship.cpp
	code/ship/ship.h
2015-05-28 23:49:33 -07:00
Lari Nieminen 8fd0bf3f7f Added a $Model Icon Direction ship table entry for overriding the angle from which ship icons are rendered from. 2015-05-27 12:19:06 +03:00
MageKing17 274a32e1ac Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/model/modelread.cpp
	code/ship/ship.h
2015-05-12 19:22:58 -07:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
MageKing17 1591237acf Reverting recent string of commits.
Since they didn't go through code review (and break compilation), reverting the recent string of commits (just used "git revert -n 5042c44..05b4635").
2015-04-29 16:19:59 -07:00
zookeeper b18337754d Added a $Model Icon Direction ship table entry for overriding the angle from which ship icons are rendered from.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10612 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:04:25 +03:00
MageKing17 3a7307d0ce Somewhat-related followup to Ship_info vectorization.
There were some references to MAX_WEAPON_TYPES in missionscreencommon.cpp that really looked like they should've been referring to Num_weapon_types (formatted similarly to some references to MAX_SHIP_CLASSES which were changed to Ship_info.size() references). Figured I might as well fix them at the same time.
2015-04-27 00:03:20 -07:00
MageKing17 bc0c7cf4c5 Vectorization of Ship_info.
Converts Ship_info from a ship_info[] to an SCP_vector<ship_info>. ship_info now has proper constructors, assignment operators, and a destructor. Num_ship_classes removed; various references to Num_ship_classes and/or MAX_SHIP_CLASSES (which remains for various other structures which need it) changed to Ship_info.size() instead.

This doesn't make the ship class limit dynamic, but it is a preparatory step to get there.
2015-04-27 00:01:22 -07:00
Goober5000 4f53f07681 minor modifications to mission cutscenes: change cutscene_name field to filename, because it's actually the filename of the cutscene make struct a plain old data object (no constructor) make parsing a little tidier, and make the SEXP formula and closing #end tag optional
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11213 387891d4-d844-0410-90c0-e4c51a9137d3
2015-01-14 17:29:43 +10:00
niffiwan 027f218f7f Allow any resolution for mainhalls (From Yarn)
Also includes support for more than two mainhall resolutions, zooming
so one mainhall can adapt to multiple resolutions, setting new mainhall
fonts, help overlays for all resolutions and adjustable tooltip padding.
Also allows preload screens to be any resolution & aspect ratio.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10844 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-05 10:38:07 +10:00
Zacam 3e22cc0d54 Fix for Mantis 3057: Loadout (Ship/Weapon Select effect) rendering black models or no effect. Also corrects wireframe color for FS2 effect from black to blue. Committed on behalf of MageKing17.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10797 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-14 13:07:20 +10:00
niffiwan 1bd98325bd Coverity ID 1093722 Negative array index read
Move -1 check to before the convinience ptr is created & used

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10788 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-14 13:07:19 +10:00
niffiwan e926d6bad0 Fix mantis 2812 (From Yarn)
Add modular help tables and allow more than 2 help overlays

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10739 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-02 18:30:00 +10:00
The_E 6e91857745 From Yarn: Fixes interface graphics scaling issues. If, for some reason, you want to have the interface graphics stretched, use the -stretch_menu commandline flag.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10544 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-30 12:39:54 +10:00
niffiwan 55bec33861 From Axem & niffiwan: stop briefing/credits/mainhall music with scripting
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10495 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-30 12:39:54 +10:00
karajorma c27f75cd5a Add support for replaying briefing and command briefing cutscenes. The go back a stage and go to first stage buttons will now count these as a briefing stage.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10280 387891d4-d844-0410-90c0-e4c51a9137d3
2014-01-14 20:24:45 +10:00
niffiwan 46a3f5483a Fix for mantis 2802: when restoring last missions loadout, ignore weapons on absent ships Also clear ship weapons & weapon-counts when clearing loadout slots
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9668 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:16 +10:00
niffiwan 504fb153db Revert "Fix for mantis 2802: when restoring last missions loadout, ignore weapons on absent ships" Wrong patch you git!
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9663 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +10:00
niffiwan 97d228947a Fix for mantis 2802: when restoring last missions loadout, ignore weapons on absent ships Also clear ship weapons & weapon-counts when clearing loadout slots
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9662 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +10:00
karajorma 9531268fd9 Fix Mantis 2797 (Ship Loadout shouldn't remember the previous settings if the mission has changed)
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9544 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:24:46 +10:00
Goober5000 a916633b46 onlyjob's spelling fixes, per Mantis #2777 2013-01-13 09:50:08 +00:00
Valathil 1a8a03aba2 Fix for Mantis 1901: Update the displayed ship after the loadout is refreshed. 2012-12-18 19:42:59 +00:00
karajorma 4cb7e70068 Fix Mantis 2753 (Customised Loadouts sometimes won't save for next time the mission is played). 2012-12-14 09:27:17 +00:00
karajorma b5b9b8bc6e Fix an issue with persistent variables being ignored by the loadout code. 2012-11-23 06:49:04 +00:00
niffiwan b1f32b5087 Fix 4 for #2590: don't use "j" when its value could be greater than the array size - thanks to Zacam & Goober for finding this 2012-07-24 10:02:11 +00:00
niffiwan ab5709ecb2 Fix number 3 for mantis #2590 - move array overflow detection to correct place in loops 2012-07-07 01:39:27 +00:00
The_E cc2b907673 Changes the glBegin()/glEnd() stuff we were using in some places to the more modern glDrawArrays() way of doing things. Thanks to Kromaatikse for the initial implementation. 2012-07-02 15:48:56 +00:00
The_E 72bfeef335 Changing glowpoint rendering from being a separate step during model rendering to being a part of the batch renderer. This makes glowpoint rendering much faster. 2012-06-24 20:17:46 +00:00
Echelon9 dcbe91136b GCC warning: variable set but not used (further) 2012-06-13 14:07:05 +00:00
Echelon9 e20a418c94 PVS-Studio fix: The 'false' value is implicitly casted to the integer type. 2012-05-28 13:35:39 +00:00
Zacam d56a2a188b Fix for the Fix for Mantis #2374: Had only updated the Effect 2 portion of the missionscreencommon. Don't I feel silly now. Did a little housekeeping while at it. 2012-02-01 17:31:19 +00:00