asarium
8f06e338a4
Add typesafe handle types and use it in game sound system
...
This adds a new class which allows to create type safe resource handle
types. At the moment, the engine uses ints pretty much everywhere for
providing handles to resources created by the specific subsystems. Since
all ints are the same to the C/C++ typesystem it is perfectly legal to
pass a sound handle to the graphics API as a buffer handle which will
obviously cause issues.
This adds a new type called "ID" which is a wrapper class for a generic
handle but with added type safety. An instance of this class cannot be
passed to a function expecting another type of handle which provided
compile-time type safety for these APIs.
As an initial test I converted the game sound handles to this new type.
I already found a bug in the mainhall system thanks to this new type.
The mainhall used the game sound handles as sound instance handles which
probably meant that that specific code never really worked right. I
removed the code since there was no better alternative for fixing it.
2018-04-22 16:22:45 +02:00
asarium
07107ce9b2
Fix newly introduced format warnings
2017-03-15 19:34:11 +01:00
asarium
9a8bfc0217
More const correctness
2017-01-02 13:17:59 +01:00
asarium
0ada262dcd
Remove unused declarations and fields
2016-09-30 13:12:09 +02:00
asarium
9203388d6c
Remove unused function
2016-09-30 13:06:09 +02:00
asarium
f49f8d6aea
Use FFmpeg for MVE decoding
...
It turns out that FFmpeg is actually able to decode the Interplay MVE
movies so we can drop the old MVE code and just use FFMpeg and the new
video player interface for that.
2016-09-29 18:57:01 +02: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
1bcd5400d3
Move build system to CMake
2016-07-22 12:07:19 +02: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
asarium
9aed627ce7
Replace longjmp with exceptions
...
Also added a EditorConfig file
2015-04-24 15:03:59 +02:00
Goober5000
61df0f18b1
add warning if a cutscene is specified that isn't in cutscenes.tbl
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11212 387891d4-d844-0410-90c0-e4c51a9137d3
2015-01-14 17:29:43 +10:00
z64555
ec60984483
From MageKing17, Makes the $CD: token for cutscenes.tbl optional. Useful, since a majority of assets no longer require physical CD's.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11092 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-04 13:45:43 +10:00
Goober5000
2fe0ec8ef0
Yarn's patch for Mantis #3049 (character remapping in tstrings.tbl)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10894 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +10:00
niffiwan
3b77e65f5f
Raise MAX_PATH_LEN to 256 so FSO can run in long paths
...
Specifically avoid one issue with running FSO in the default Steam dir
Converted some magic 128/127 numbers to MAX_PATH_LEN
Convert some Int3() into more friendly errors
Stopgap measure until proper fix added with compressed VP support
Fix mantis 3028
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10772 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-09 13:48:52 +10:00
niffiwan
7c3631002b
From Yarn: Fix mantis 3031
...
Use PF_USE_AFFIRMATIVE_ICON where necessary
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10601 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-04 20:52:23 +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
Goober5000
73ebcda173
additional memory management improvements
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9917 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-16 19:46:01 +10:00
Goober5000
886018d28f
here a const, there a const, everywhere a const const
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9801 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-20 19:46:41 +10:00
Echelon9
3d2c85f623
Fix Mantis 2862: Crash exiting game from command briefing on newly created pilot, caused by double free in cutscenes.cpp
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9672 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:16 +10:00
karajorma
ac6796f5af
Add all the strings that had no translation.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9600 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-30 15:36:18 +10:00
Zacam
593be42e66
*drum roll* Pilot Code! Originated by taylor. Additional direct work by: The E, niffiwan, CommanderDJ, Pyro3D, Echelon9 (PVS-Studio), Karajorma and Eli2. (If I missed you, don't kill me.)
...
MASSIVE thanks to Mjn.Mixael and Blue Planet for tireless constant testing.
(It's still not perfect, but it probably wouldn't be where it is at without them)
Spans a lot from initial commit to AP Branch in r6835.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9561 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:26:06 +10:00
Echelon9
c1121a56bb
Fix: Format string is not a string literal (potentially insecure)
2012-10-08 15:17:43 +00:00
Zacam
a63dbe572c
Part Two: Synchronization pass of Trunk and Antipodes Differences.
...
Removes all extraneous ifdefs (Demo, E3, Multi Beta, etc).
Leaves Debug and Inferno.
2011-09-09 10:23:53 +00:00
The_E
724f1be9d3
Removing the RELEASE_REAL define from ye olde ✌️ days. We really don't need it anymore.
2011-08-30 17:46:03 +00:00
Echelon9
80a027a400
PVS-Studio fix: V803 Decreased performance. In case 'tvs' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator.
...
For further discussion see, http://www.viva64.com/en/b/0093/
The scenarios where it will improve performance are under Debug builds. This improvement will however allow quicker use of other profiling tools that need to run on Debug builds.
Note. Code with size_t does not see the performance improvement comparison to iterators due to absence of array overrun check.
2011-08-28 08:31:25 +00:00
The_E
7f5c3d343e
Valathil's code cleanup patch.
2011-07-20 18:04:43 +00:00
Echelon9
f96d7fc1be
Fix: Invalid data: accessing 'Text_line_size', the readable size is '80' bytes, but '4194244' bytes might be read; Invalid data: accessing 'Text_lines', the readable size is '80' bytes, but '4194244' bytes might be read
2010-11-20 15:10:14 +00:00
Zacam
75043ff5b1
go_faster from Antipodes 6. Everybody, say "Thank you, taylor!"
2010-10-18 18:32:37 +00:00
Echelon9
44886e1ba5
Benefit from our use of STL vectors be removing a now unnecessary variable in cutscenes.cpp and making code cleaner and easier to read
2010-05-08 15:09:08 +00:00
Zacam
b40359cd30
Fix for cutscene.cpp "signed/unsigned mismatch" multi-platform warning.
2010-02-04 04:12:45 +00:00
portej05
be186cd01d
Fix crash when no cutscenes are defined (NULL pointer dereference through vector [] overload)
2009-08-02 06:32:38 +00:00
portej05
98f337f701
safe_strings - from Antipodes build #1
2009-07-27 16:06:24 +00:00
portej05
6a8d45c93d
Replace most instances of std::vector with SCP_vector. Memory is now all run through vm_malloc and vm_free.
...
Watch it go up AND down in mission.
2009-07-11 07:07:57 +00:00
portej05
719825f80d
The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
...
I've tested this through compiling and through hand checking.
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
karajorma
a4e623db23
Portej05's preFAST warning fixes.
2009-05-17 11:50:48 +00:00
Goober5000
6e4021888d
add apostrophes to contractions, lol
2009-04-10 07:49:12 +00:00
phreak
cd7ce4e88b
Fix crash due to revision 5006
2008-12-20 16:54:24 +00:00
phreak
6ba6544036
Made the cutscene list dynamic
2008-12-16 22:07:21 +00:00
taylor
0253d298e9
only load tbls from tables/ (Mantis #1725 )
2008-10-13 06:34:48 +00:00
taylor
c2bc245f81
don't mess with mainhall sounds directly in the movie code (should fix Mantis #1539 )
...
be sure to stop the ambient mainhall sound when playing a movie through the cutscene viewer
2008-03-29 20:25:07 +00:00
Goober5000
6ab0b17acc
added fixes for #1415 and #1483 , made sure every read_file_text had a corresponding setjmp, and sync'd the parse error messages between HEAD and stable
2007-09-02 02:10:29 +00:00
taylor
26f64984ac
give a better msg when movies can't play because they are user-disabled with the cmdline option
2007-03-22 20:54:00 +00:00
taylor
ed1541f91f
add the "show all" hotkey to the cutscene viewer
2007-02-09 23:58:52 +00:00
taylor
6ab6cd71ce
fixes for stuff_string() bounds checking
2006-09-11 01:17:07 +00:00
taylor
1a607e82c7
fix incorrect button locations, it matches the correct layout of the other techroom screens now
...
(thought Backslash was going to fix this, but I got tired of waiting. :))
2006-05-09 09:21:15 +00:00
taylor
fbb630aa2d
ton of non-standard resolution fixes
2005-07-02 19:45:02 +00:00
taylor
3f6e13d20b
use vm_malloc(), vm_free(), vm_realloc(), vm_strdup() rather than system named macros
...
fixes various problems and is past time to make the switch
2005-05-12 17:49:18 +00:00
taylor
b370e5b903
some bm_unload() -> bm_release() changes to save bmpman slots
2005-02-23 04:51:56 +00:00
taylor
0bf7ee01dc
merge with Linux/OSX tree - p0131-2
2005-01-31 23:27:55 +00:00