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
f819db3ac5
More string const correctness fixes
2017-01-04 00:12:41 +01:00
m!m
22c0255277
Fix a bunch of 64-bit MSVC warnings ( #709 )
...
* Fix a bunch of 64-bit warnings
* Fix Linux compilation error
* Fix Mac error
* Fix some issues
* Fix more GCC warnings
* Remote unwanted change
* Remove accidentally readded file
* Fix wrong limit check
* Use BEAM_INDEX macro for getting beam object index
* Fix 32-bit warning
* Use BEAM_INDEX instead of pointer arithmetic
2016-08-09 11:08:54 -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
Goober5000
435b078157
Yarn's patch for Mantis #3107 (Parts of the interface code assume a font size of 10)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11082 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-25 16:40:34 +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
Goober5000
4bd10888ff
make localization more robust with additional checks on string length, more consting, and stronger typing and make XSTR const, since we don't want to modify the strings it translates and then CONST ALL THE THINGS
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9809 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:34 +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
a248a37d58
PVS-Studio: Fix V805. Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct
2011-08-24 13:37:01 +00:00
portej05
98f337f701
safe_strings - from Antipodes build #1
2009-07-27 16:06:24 +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
6a5bf64aeb
Allow players to filter who they send messages to when using the chatbox
2009-05-12 21:30:17 +00:00
taylor
8c4dfb2f0a
hmm, wonder why I did that? ;)
2006-06-02 09:17:09 +00:00
taylor
817c840273
the bmpman release issues for the chatbox should be fixed now so we can go back to using bm_release() on the bitmaps
...
Chatbox_p_coords (the multi-pause background) should be at 0,0 (even though this isn't used I thought it was a good idea to go ahead and fix it)
2006-03-26 08:25:05 +00:00
taylor
d3481714d0
remove NO_NETWORK
2005-10-10 17:21:11 +00:00
Goober5000
c17c11b651
remove PreProcDefine #includes in FS2
...
--Goober5000
2005-07-13 03:26:00 +00:00
taylor
fbb630aa2d
ton of non-standard resolution fixes
2005-07-02 19:45:02 +00:00
taylor
a61100399b
fix possible crash from popups, especially in multi
2005-06-19 02:38:33 +00:00
taylor
17002e83ab
make sure we don't try to process chatbox_close() more than once
2005-04-21 15:53:24 +00:00
taylor
3f9ffbc393
better support for Inferno builds (in PreProcDefines.h now, no networking support)
...
make sure NO_NETWORK builds are as friendly on Windows as it is on Linux/OSX
revert a timeout in Client.h back to the original value before Linux merge
2005-03-02 21:18:20 +00:00
taylor
b1c274ee89
more bm_unload() -> bm_release() changes
2005-02-23 04:55:09 +00:00
taylor
a2232be0c7
merge with Linux/OSX tree - p0204
2005-02-04 10:12:33 +00:00
Kazan
864e1b5922
remove MCD complete
2004-07-26 20:47:56 +00:00
Kazan
428b3dcbc9
MCD - define _MCD_CHECK to use memory tracking
2004-07-12 16:33:09 +00:00
Goober5000
7ef2ab2e39
Uber pass at reducing #includes
...
--Goober5000
2004-03-05 09:02:13 +00:00
penguin
0c503be8d1
The big include file move
2002-08-01 01:41:11 +00:00
penguin
8f92eebd34
Warpcore CVS sync
2002-06-03 04:10:40 +00:00
penguin
663b3471b9
Volition sources -- warpcore CVS import
2002-06-03 03:26:03 +00:00