Michael Hansen
f93b37e152
Switch plFormat's accumulator to a plStringStream for better performance
11 years ago
Michael Hansen
aee2f7f7ca
Make hsRefCnt atomic, and merge with hsAtomicRefCnt
11 years ago
Michael Hansen
d283872da6
Unify leak checkers
11 years ago
Michael Hansen
39867610a2
Fix leak check race condition, and remove an unintentional circular ref
11 years ago
Michael Hansen
7f4701cc1a
Add a RefCnt leak debug tracker
11 years ago
Michael Hansen
d2a05929f8
Replace most vault *IncRef() API functions with hsRef versions
11 years ago
Michael Hansen
aa2a1de5d0
Provide an easier/safer way to manage hsRefCnt subclasses
11 years ago
Michael Hansen
9771baf7dd
Fix plStringBuffer constructor with explicit size to count chars, not bytes
11 years ago
Michael Hansen
bf5623224c
Add plPrintf - a cstdio-directed version of plFormat
11 years ago
Michael Hansen
1debf8180b
Convert many of the now-deprecated plString::Format calls to plFormat
11 years ago
Michael Hansen
2c82cdf996
Fix for {.0f} precision in plFormat()
11 years ago
Michael Hansen
1a0420127c
Provide some plFormat samples with floats/doubles
11 years ago
Michael Hansen
d15f1557b6
Implement plFormat for floating-point types
11 years ago
Michael Hansen
e331cbd4f7
ASSume that MSVC is the only compiler who uses the __declspec() syntax
11 years ago
Michael Hansen
688852e658
Put compiler checks in their own cmake module
11 years ago
Michael Hansen
15728bbfb5
Add an hsDeprecated macro for declaring APIs deprecated
11 years ago
Adam Johnson
83b8f6c10b
Fix invalid sizeof expressions in HeadSpin.cpp
11 years ago
Michael Hansen
d8c3769143
Fix it for standards-complient compilers (GCC/Clang).
...
Unfortunately, this means that all formatters must be declared in the
same place now, as they must be declared BEFORE the template which uses
them is declared (not just before it was instantiated, which MSVC allows).
11 years ago
Michael Hansen
7d76cae10f
Make life simpler. Make life less stupid. Make life work.
11 years ago
Michael Hansen
a53f425e38
Fixes for plFormat on GCC/Clang:
...
- int64_t is a typedef of long on Linux/x86_64 -- don't redefine its specialization
- Properly forward-declare the unspecialized variadic template form of _IFormat
11 years ago
Michael Hansen
933ae6ec17
Provide some sample conversions to plFormat for testing and copying
11 years ago
Michael Hansen
2cb19d3308
Oops - bits parameter isn't actually used any more
11 years ago
Michael Hansen
b199cb5ff0
Add better documentation, and fix some floating point flag stuff
11 years ago
Michael Hansen
63557352f2
Add support for bool formatting
11 years ago
Michael Hansen
1baefdd0f2
Properly handle zero
11 years ago
Michael Hansen
2048b641d3
Take advantage of some custom formatter shortcuts
11 years ago
Michael Hansen
3f92409a21
Provide implementations of most built-in types (excluding floating point)
11 years ago
Michael Hansen
ad5bef6671
Add framework for plFormat
11 years ago
Michael Hansen
34b2eb1836
More std::atomic and friends
11 years ago
Michael Hansen
23a071860e
pnUtRef started at zero refs instead of one, and this is simpler
...
than finding and removing all the extra Ref() calls.
11 years ago
Michael Hansen
d713a13dbe
Merge pnUtRef with hsRefCnt, and remove the former
11 years ago
Michael Hansen
b48963b904
Make it compile and work in GCC / Linux
11 years ago
Michael Hansen
e929708a3b
Use std::atomic_int for hsSafeRefCnt, and move it to hsRefCnt.h/cpp
11 years ago
Christian Walther
8c5286400a
Use premultiplied alpha for plDynamicTextMaps on GUI controls.
...
This fixes the irregular dark fringes around light text when not exactly pixel-aligned that are caused by independent interpolation of color and alpha. It also makes calculations simpler for things to come.
11 years ago
Darryl Pogue
d615f47dc4
Improve clarity of stat/_wstat64 return value.
11 years ago
Darryl Pogue
87e2150948
Remove unneeded register keyword.
...
In modern compilers, the register keyword has no effect. On clang, it
generates warnings.
11 years ago
Darryl Pogue
b66a2ba9e3
Fix an uninitialized value in hsBounds.
11 years ago
Darryl Pogue
5e8d75169c
Use pointers instead of array syntax.
11 years ago
Darryl Pogue
c8d77714b9
Remove plFileSystem::GetTempFileName.
...
It was unused and on *nix used the deprecated mktemp function.
11 years ago
Darryl Pogue
f5e99ba9a3
Fixes for semaphores on *nix.
11 years ago
Michael Hansen
a58e9c643c
Clean up some warnings, and make the CRT ones more relevant
11 years ago
Darryl Pogue
a1e3fa6faf
Various MinGW compile fixes.
11 years ago
Michael Hansen
3d1bcf1988
Whoops-a-birdy
11 years ago
Michael Hansen
05567a2881
Help Coverity figure out how auto string sizes work, and fix 64-bit
...
portability at the same time
11 years ago
Michael Hansen
387e23061a
Minor changes to hash and hash_i to avoid making a copy of the string data
11 years ago
Adam Johnson
249f26c53f
plString Hash for unordered containers
11 years ago
Michael Hansen
d7fdf10455
Convert ReadSafe(W)String* to the plString variants, and remove the now
...
unneeded _TEMP variants. All safe strings read from hsStreams are
now plStringified :)
11 years ago
Michael Hansen
862a05cbd5
Remove name from hsReaderWriterLock, since nobody was using it.
11 years ago
Michael Hansen
5b6b886b55
Clean up DisplaySystemVersion() to avoid hsStrcpy, and add Windows 8.1
...
to the known versions decoder.
11 years ago
Adam Johnson
8cedb69e9e
Fix some invalid heap ops found by Dr Memory
11 years ago