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
asarium
1bcd5400d3
Move build system to CMake
2016-07-22 12:07:19 +02:00
asarium
e08ba026f8
Merge branch 'master' into antipodes_/sync
...
Conflicts:
.travis.yml
code/cmdline/cmdline.cpp
code/fs2netd/fs2netd_client.cpp
code/fs2netd/tcp_client.cpp
code/globalincs/pstypes.h
code/graphics/2d.cpp
code/graphics/2d.h
code/parse/lua.cpp
code/parse/scripting.cpp
code/windows_stub/stubs.cpp
configure.ac
projects/MSVC_2012/Freespace2.vcxproj
projects/MSVC_2012/code.vcxproj
projects/MSVC_2013/code.vcxproj
projects/MSVC_2015/code.vcxproj
2015-08-24 12:10:16 +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
7e77b5a67c
Merge branch 'master' into antipodes
...
Conflicts:
.gitignore
code/Makefile.am
code/ai/ai.h
code/ai/ai_profiles.cpp
code/ai/ai_profiles.h
code/ai/aibig.cpp
code/ai/aicode.cpp
code/ai/aiturret.cpp
code/asteroid/asteroid.cpp
code/asteroid/asteroid.h
code/bmpman/bm_internal.h
code/bmpman/bmpman.cpp
code/bmpman/bmpman.h
code/camera/camera.cpp
code/camera/camera.h
code/cfile/cfile.cpp
code/cmdline/cmdline.cpp
code/cmdline/cmdline.h
code/controlconfig/controlsconfig.h
code/controlconfig/controlsconfigcommon.cpp
code/cutscene/movie.cpp
code/cutscene/oggplayer.cpp
code/debugconsole/consoleparse.cpp
code/fred2/campaigneditordlg.cpp
code/fred2/fred.cpp
code/fred2/fred.rc
code/fred2/missionsave.cpp
code/fred2/resource.h
code/fred2/sexp_tree.cpp
code/fred2/sexp_tree.h
code/fred2/shipflagsdlg.cpp
code/fred2/shipflagsdlg.h
code/fred2/shiptexturesdlg.cpp
code/fred2/voiceactingmanager.cpp
code/freespace2/freespace.cpp
code/freespace2/freespace.rc
code/gamehelp/contexthelp.cpp
code/globalincs/alphacolors.cpp
code/globalincs/alphacolors.h
code/globalincs/version.h
code/globalincs/vmallocator.h
code/globalincs/windebug.cpp
code/graphics/2d.cpp
code/graphics/font.cpp
code/graphics/generic.cpp
code/graphics/generic.h
code/graphics/grinternal.h
code/graphics/gropengl.cpp
code/graphics/gropengldraw.cpp
code/graphics/gropenglextension.h
code/graphics/gropenglpostprocessing.cpp
code/graphics/gropenglstate.cpp
code/graphics/gropenglstate.h
code/graphics/gropengltexture.cpp
code/graphics/gropengltnl.cpp
code/hud/hud.cpp
code/hud/hud.h
code/hud/hudconfig.cpp
code/hud/hudlock.cpp
code/hud/hudmessage.cpp
code/hud/hudparse.cpp
code/hud/hudreticle.cpp
code/hud/hudreticle.h
code/hud/hudshield.cpp
code/hud/hudsquadmsg.cpp
code/hud/hudtarget.cpp
code/hud/hudtarget.h
code/hud/hudtargetbox.cpp
code/inetfile/cftp.cpp
code/inetfile/chttpget.cpp
code/io/joy.cpp
code/io/joy_ff.cpp
code/io/key.cpp
code/io/keycontrol.cpp
code/io/mouse.cpp
code/io/timer.cpp
code/localization/localize.cpp
code/localization/localize.h
code/math/fvi.cpp
code/math/vecmat.cpp
code/menuui/credits.cpp
code/menuui/mainhallmenu.cpp
code/menuui/mainhallmenu.h
code/menuui/optionsmenumulti.cpp
code/menuui/playermenu.cpp
code/mission/missionbriefcommon.cpp
code/mission/missioncampaign.cpp
code/mission/missiongoals.h
code/mission/missionmessage.cpp
code/mission/missionparse.cpp
code/mission/missionparse.h
code/missionui/missionbrief.cpp
code/missionui/missioncmdbrief.cpp
code/missionui/missiondebrief.cpp
code/missionui/missionscreencommon.cpp
code/missionui/missionshipchoice.cpp
code/missionui/missionweaponchoice.cpp
code/missionui/redalert.cpp
code/missionui/redalert.h
code/mod_table/mod_table.cpp
code/mod_table/mod_table.h
code/model/model.h
code/model/modelcollide.cpp
code/model/modelinterp.cpp
code/model/modelread.cpp
code/network/multi.cpp
code/network/multi_dogfight.cpp
code/network/multi_ingame.cpp
code/network/multi_log.cpp
code/network/multi_rate.cpp
code/network/multiteamselect.cpp
code/network/multiui.cpp
code/network/multiutil.cpp
code/network/stand_gui-unix.cpp
code/object/collideshipship.cpp
code/object/collideshipweapon.cpp
code/object/object.cpp
code/object/object.h
code/object/objectsnd.cpp
code/object/objectsort.cpp
code/osapi/osapi.cpp
code/osapi/osapi_unix.cpp
code/osapi/outwnd.h
code/parse/generic_log.cpp
code/parse/lua.cpp
code/parse/parselo.cpp
code/parse/parselo.h
code/parse/scripting.cpp
code/parse/scripting.h
code/parse/sexp.cpp
code/parse/sexp.h
code/physics/physics.cpp
code/pilotfile/csg.cpp
code/pilotfile/csg_convert.cpp
code/pilotfile/pilotfile.cpp
code/pilotfile/pilotfile_convert.h
code/playerman/playercontrol.cpp
code/radar/radardradis.cpp
code/radar/radardradis.h
code/radar/radarsetup.cpp
code/radar/radarsetup.h
code/ship/ship.cpp
code/ship/ship.h
code/ship/shipfx.cpp
code/ship/shiphit.cpp
code/sound/audiostr.cpp
code/sound/ds.cpp
code/sound/openal.cpp
code/sound/rtvoice.cpp
code/sound/sound.cpp
code/sound/voicerec.cpp
code/stats/medals.cpp
code/stats/medals.h
code/stats/scoring.cpp
code/ui/ui.h
code/weapon/beam.cpp
code/weapon/weapon.h
code/weapon/weapons.cpp
code/wxfred2/aboutbox.cpp
code/wxfred2/campaigneditor.cpp
code/wxfred2/campaigneditor.h
code/wxfred2/commandbriefingeditor.cpp
code/wxfred2/debriefingeditor.cpp
code/wxfred2/fredframe.cpp
code/wxfred2/fredframe.h
code/wxfred2/missionspecseditor.cpp
code/wxfred2/missionspecseditor.h
code/wxfred2/voiceactingmanagereditor.cpp
code/wxfred2/wxfred.xrc
code/wxfred2/wxfred2.cpp
code/wxfred2/wxfred2.h
configure.ac
fs2open.Doxyfile
jansson/LICENSE
jansson/dump.c
jansson/hashtable.c
jansson/hashtable.h
jansson/jansson.h
jansson/jansson_config.h
jansson/jansson_private.h
jansson/load.c
jansson/memory.c
jansson/pack_unpack.c
jansson/strbuffer.c
jansson/strbuffer.h
jansson/strconv.c
jansson/utf.c
jansson/utf.h
jansson/value.c
libpng/png.c
libpng/png.h
libpng/pngconf.h
libpng/pngdebug.h
libpng/pngerror.c
libpng/pngget.c
libpng/pnginfo.h
libpng/pnglibconf.h
libpng/pngmem.c
libpng/pngpread.c
libpng/pngpriv.h
libpng/pngread.c
libpng/pngrio.c
libpng/pngrtran.c
libpng/pngrutil.c
libpng/pngset.c
libpng/pngstruct.h
libpng/pngtrans.c
libpng/pngwio.c
libpng/pngwrite.c
libpng/pngwtran.c
libpng/pngwutil.c
projects/Eclipse/Freespace2/.project
projects/MSVC_2005/Fred2.vcproj
projects/MSVC_2005/Freespace2.sln
projects/MSVC_2005/Freespace2.vcproj
projects/MSVC_2005/code.vcproj
projects/MSVC_2005/wxFRED2.vcproj
projects/MSVC_2008/Fred2.vcproj
projects/MSVC_2008/Freespace2.doxproj
projects/MSVC_2008/Freespace2.vcproj
projects/MSVC_2008/code.vcproj
projects/MSVC_2010/Fred2.vcxproj
projects/MSVC_2010/Freespace2.vcxproj
projects/MSVC_2010/code.vcxproj
projects/MSVC_2010/code.vcxproj.filters
projects/MSVC_2010/wxFRED2.vcxproj
projects/MSVC_2011/Fred2.vcxproj
projects/MSVC_2011/Freespace2.vcxproj
projects/MSVC_2011/code.vcxproj
projects/MSVC_2011/code.vcxproj.filters
projects/MSVC_2011/wxFRED2.vcxproj
projects/MSVC_2013/Fred2.vcxproj
projects/MSVC_2013/Freespace2.vcxproj
projects/MSVC_2013/code.vcxproj
projects/MSVC_2013/code.vcxproj.filters
projects/MSVC_2013/libjpeg.vcxproj
projects/MSVC_2013/liblua.vcxproj
projects/MSVC_2013/libpng.vcxproj
projects/MSVC_2013/wxFRED2.vcxproj
projects/MSVC_2013/zlib.vcxproj
projects/MSVC_6/Fred2.dsp
projects/MSVC_6/Freespace2.dsp
projects/MSVC_6/code.dsp
projects/MSVC_6/wxFRED2.dsp
projects/Xcode/English.lproj/InfoPlist.strings
projects/Xcode/FS2_Open.xcodeproj/project.pbxproj
projects/Xcode4/English.lproj/InfoPlist.strings
projects/Xcode4/FS2_Open.xcodeproj/project.pbxproj
projects/Xcode4/Frameworks.tgz
projects/codeblocks/Freespace2/Freespace2.cbp
zlib/adler32.c
zlib/compress.c
zlib/crc32.c
zlib/crc32.h
zlib/deflate.c
zlib/deflate.h
zlib/infback.c
zlib/inffast.c
zlib/inffixed.h
zlib/inflate.c
zlib/inftrees.c
zlib/trees.c
zlib/uncompr.c
zlib/zconf.h
zlib/zlib.h
zlib/zutil.c
zlib/zutil.h
2015-04-25 16:48:43 +02:00
Zacam
38f7b9ab6c
Trunk Sync - r10935
...
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10936 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
The_E
88dce29920
Trunk sync r10550
...
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10551 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:12 +10:00
The_E
d3ef69848c
Fix for Mantis 3064 from MageKing17: Adds more functionality to colors.tbl. * "#Start Colors" is now optional; no more need for a blank section at the start of a colors.tbl just to define some team colors. * "#Interface Colors" section added for redefining various colors used by the interface. * "#Color Tags" section added for redefining or adding your own text color tags. * "#Default Text Color" section for choosing what color tag is the baseline default for various different screens. * And the big one, support for *-clr.tbm modular table files.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10926 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:28 +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
The_E
2f46cbe8a3
sync to trunk 10046
...
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10047 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:16 +10:00
m_m
d2cc75561d
Fix for Mantis 2846: Problems with mission loop animations
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9661 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +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
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
Zacam
61c81e2a99
Trunk Sync r7542
2011-08-27 23:17:45 +00:00
Goober5000
3b2b76206f
add infrastructure and parsing support for mission forks (vs. mission loops)
...
mission fork interface art and selection logic still needs to be written
2011-08-27 03:57:16 +00:00
Zacam
a50f6a7a10
The E cleaned house on a slew of unused #IFDEFs, such as FS2_DEMO, MULTIPLAYER_BETA, OEM_BUILD, commented out code, etc.
2010-12-13 02:44:27 +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
taylor
cb31a76e83
fix for the "branch" bug (still a minor usability issue however, see Mantis bug for details)
...
add a popup to the loopbrief screen when you press ESC, so that we can either accept or decline the loop offer
2006-10-01 19:27:28 +00:00
taylor
fbb630aa2d
ton of non-standard resolution fixes
2005-07-02 19:45:02 +00:00
taylor
b1c274ee89
more bm_unload() -> bm_release() changes
2005-02-23 04:55:09 +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
randomtiger
b74c16d3c0
Checked in new speech code and calls from relevent modules to make it play.
...
Should all work now if setup properly with version 2.4 of the launcher.
FS2_SPEECH can be used to make the speech code compile if you have SAPI 5.1 SDK installed.
Otherwise the compile flag should not be set and it should all compile OK.
- RT
2003-09-07 18:14:54 +00:00
unknownplayer
3a7cc9cc63
The big DX/main line merge. This has been uploaded to the main CVS since I can't manage to get it to upload to the DX branch. Apologies to all who may be affected adversely, but I'll work to debug it as fast as I can.
2003-03-18 10:07:06 +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