qtypes: Define shorthand typenames for stdint types (i32, u32, etc). Remove the vec5+ types as we have no use for those yet
Rename qboolean to qbool git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12920 d7cf8633-e32d-0410-b094-e92efae38249
Improve clang support. Add tcc support. Clang builds now perform as good as gcc tcc builds perform like crap, but it's nice to support a fourth compiler. There is an issue on Linux with a Pulseaudio library not linking correctly, however. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12795 d7cf8633-e32d-0410-b094-e92efae38249
Disable PRVM_64 until it can be developed further. Improves perf. in some cases git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12759 d7cf8633-e32d-0410-b094-e92efae38249
Use stdint.h types instead of self-defined dp[u]int Mainly for consistency and type safety, and to clean up qtypes.h a bit more. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12673 d7cf8633-e32d-0410-b094-e92efae38249
Clean up qtypes.h a bit by including stdbool.h no matter what, removing checks Every major compiler includes it, including VS2013 and higher, so the vast, vast majority of people shouldn't be affected by this. Every major compiler's stdbool.h also checks for C++ anyway. These checks are redundant. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12672 d7cf8633-e32d-0410-b094-e92efae38249
Implement experimental hook-like system, with working example. This system allows you to call functions that may or may not exist at runtime and compile-time. You create hook_t pointers and register them during initialization, and point them to a function. If they're not registered, no problem. This could potentially allow different subsystems to function independently of each other, such as the client and server. It's using a union to allow functions to have any return type they want. However, for obvious reasons, functions cannot have any parameters they want and must accept a pointer to the union type where the actual args are stored. This is experimental and there may be bugs, but the current working example should be stable. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12603 d7cf8633-e32d-0410-b094-e92efae38249
Clean up qtypes.h. Use stdbool.h on non-MSVC. Replace allcaps with lowercase Last I checked, stdbool.h is only unavailable on Windows MSVC, so we'll define bool ourselves in that case. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12590 d7cf8633-e32d-0410-b094-e92efae38249
Corrected names in credits to be more accurate and consistent. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12485 d7cf8633-e32d-0410-b094-e92efae38249
Enable PRVM_64 - the QuakeC VM will run as 64bit (using int64/double rather than int/float). This means that levels can run for > 10 hours without time precision issues, and float flags values can have flags ranging up to 54 bits rather than 24 bits. There may be bugs, and physics is still using 32bit floats in a bunch of places so this does not enable huge worlds currently. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12393 d7cf8633-e32d-0410-b094-e92efae38249
Change shader permutation flags to 64bit. Added dpuint64 and dpint64 types. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12357 d7cf8633-e32d-0410-b094-e92efae38249
add prvm_uint_t type git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11941 d7cf8633-e32d-0410-b094-e92efae38249
disable PRVM_64 until the bugs are worked out git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11795 d7cf8633-e32d-0410-b094-e92efae38249
enable PRVM_64 define git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11786 d7cf8633-e32d-0410-b094-e92efae38249
added PRVM_64 define which upgrades the QC VM to double precision variables (such that levels can run for more than 24 hours without time precision breakdown, and bit arithmetic can be done on 52 bit flags rather than 23 bit flags) changed csqc setmodel builtin to do setsize as well (like on server) fixed multiple bugs where csqc builtins were passing right as left in a matrix conversion git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11785 d7cf8633-e32d-0410-b094-e92efae38249
move RESTRICT keyword define to qtypes.h and add it to all the AnimateVertices functions to hush a warning in MSVC git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9983 d7cf8633-e32d-0410-b094-e92efae38249
don't use ssize_t removed ssize_t from qtypes.h git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9680 d7cf8633-e32d-0410-b094-e92efae38249
change a few WIN64 checks to _WIN64 (which actually works), and remove the rest (dll names are the same, and ssize_t needs to be declared) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9679 d7cf8633-e32d-0410-b094-e92efae38249
eliminated qbyte type, now uses unsigned char throughout the engine for this purpose git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5789 d7cf8633-e32d-0410-b094-e92efae38249
gave names to nearly all structs and enums which should make for better C++ error messages, and fix any more of those anonymous struct errors git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5750 d7cf8633-e32d-0410-b094-e92efae38249