* initial version of default_settings.tbl
* Add a way to change player detail level defaults and implement a couple more options to detail_settings.tbl
* support the rest of 2d.cpp options
* Allow enforcing options to a specific value
* modernize detail defaults, levels, and values
* Fix parsing issue and remove lambda capture by reference
* fix print
* clang
* More efficient +Enforce parsing
* cleanup
* typo
* don't negate this
* error_display
* clarify language between presets, levels, and values
* add default case
* small fix
* use a map to minimize string lookups
This is a minor follow-up to PR #2390. There are a few minor differences between untranslated strings and the internal strings in strings.tbl; this PR fixes them.
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.
- I think everything should default to resize now (much easier than having to figure that crap out)
- new mouse_get_pos_unscaled() function to return 1024x768/640x480 relative values so we don't have to do it later
- lots of little cleanups which fix several strange offset/size problems
- fix gr_resize/unsize_screen_pos() so that it won't wrap on int (took too long to track this down)
- remove all bitmap section support and fix problems with previous attempt
( code/bmpman/bmpman.cpp, code/bmpman/bmpman.h, code/globalincs/pstypes.h,
code/graphics/2d.cpp, code/graphics/2d.h code/graphics/grd3dbmpman.cpp,
code/graphics/grd3dinternal.h, code/graphics/grd3drender.cpp, code/graphics/grd3dtexture.cpp,
code/graphics/grinternal.h, code/graphics/gropengl.cpp, code/graphics/gropengl.h,
code/graphics/gropengllight.cpp, code/graphics/gropengltexture.cpp, code/graphics/gropengltexture.h,
code/graphics/tmapper.h, code/network/multi_pinfo.cpp, code/radar/radarorb.cpp
code/render/3ddraw.cpp )
- use CLAMP() define in gropengl.h for gropengllight instead of single clamp() function
- remove some old/outdated code from gropengl.cpp and gropengltexture.cpp
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