wposix's sysconf is no longer used because OS X doesn't support some of
the POSIX names, so we had to add os_cpu routines that supplant the use
of sysconf. am now removing the no-longer needed sysconf emulation,
which also gets rid of wposix_Init.
This was SVN commit r7680.
dbghelp: ensure the DLL from our executable directory is loaded (avoids
breakage related to search-path and Dropbox)
wmi: use single-thread apartment COM model because multithreaded breaks
SHGetFolderPathW
wsysdep: sys_pick_directory: allow user-specified initial path; fix
previous non-unicode initial path; avoid reporting error if user cancels
wutil: add function to query executable directory at any time
This was SVN commit r7633.
i3 CPUs report a *maximum* of 8 cores/package, which caused the number
of processors to be misreported as 0 (but only because the APIC IDs were
skipped because the CPU generation was deemed to low, which was due to
failing to consider extended family/model)
thanks to titanforever for reporting this.
This was SVN commit r7626.
mem_util: inline freelist functions to avoid needing an additional if()
in pool.cpp
pool: add comments clarifying the roles of PoolAllocator vs
RawPoolAllocator
wsdl: refactor (naming convention, determination of window style, reduce
forward decls)
This was SVN commit r7610.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.
This was SVN commit r7595.
Allow aggressive inlining of MD5 buffer updates (particularly for
fixed-size updates).
Make UTF-8 conversion a little faster.
This was SVN commit r7581.
Remove dlopen's debug_assert, for POSIX compatibility and because it
causes very ugly problems when dumping the stack if the Collada DLL is
missing.
This was SVN commit r7530.
- improved form of noncopyable that avoids inheritance warnings
- PCH updates to allow more restrictive MINIMAL_PCH
sound/SoundGroup.cpp: fix copy-paste error
This was SVN commit r7498.
- allow building regardless of UNICODE setting (e.g. use LoadLibraryW
instead of LoadLibrary)
- export dlopen etc.
- more robust redirection of stdout
This was SVN commit r7427.
this fixes write errors because mods/internal doesn't exist in public
SVN checkouts and the default mount logic tries to mount internal anyway
(and now just fails that operation silently)
fixes#458
This was SVN commit r7375.
also rename wchar -> utf8 to avoid conflict with <wchar.h> (requires
rebuild of workspace)
(unfortunately copying history fails to "502 bad gateway"; had to delete
old + add new independently)
This was SVN commit r7340.
Giant merge from
http://svn.wildfiregames.com/hg-source/file/5fb522019d5e
Infrastructure is largely complete, gameplay is largely missing
Disabled by default; use command-line flag "-sim2"
(Second attempt at commit...)
This was SVN commit r7259.
remove needless restriction on wdbg_printf buffer size
update description of wdbg_printf to match wvsprintfW's real behavior
This was SVN commit r7199.
also:
- add listing of error codes to avoid collisions
- cpu: add cpu_MemoryBarrier
- wchar: warn whenever a character is replaced/invalid bytes are
encountered
This was SVN commit r7189.
- headerless: distinguish between allocation granularity and min size
(hopefully fixes test failure on x64)
- test_wdbg_sym: disable printf spew
- hpet: use workaround when x64 MOVD isn't available due to processor or
compiler
- JSConversions: VC2005 x64 apparently distinguishes ssize_t from long
int (as it does with size_t)
This was SVN commit r7179.
- sprintf, snprintf -> sprintf_s (ensures 0-termination of result)
- use %s instead of %hs with sprintf_s to avoid GCC warnings
- convert h_mgr's to_string to unicode
This was SVN commit r7170.
refactor: simplify dir_watch_Poll interface (returns vector)
wdir_watch: major refactor: use shared_ptr for reference-counting shared
watch state
remove no longer needed path_util functions
This was SVN commit r7168.
also clean up VFS a bit.
ogl_tex now tolerates deleting/renaming texture files that are in use
(except for a warning message which can be 'continue'd)
This was SVN commit r7166.
- fix: archive_zip: avoid crash if zip file contains empty filenames
- real_directory: enable dir watch
- refactor vfs_tree interface (move recursive calls into VFS)
- VFS: return text representation instead of only printing it
This was SVN commit r7165.
convert remaining %s to %hs or %ls
use WPRINTF_ARGS on unicode printf functions
fix: __func__ can't be widened via preprocessor (-> revert to char*)
convert remaining external_[directory|file_string to string()
Util: don't mix fwprintf and fprintf
Formation: fix dangling pointer (storing result of c_str())
This was SVN commit r7164.
test_wdbg_sym - reenable, add test for basic stack walking
ia32_GetCallTarget - move frequent cases to front, add support for ILT
function trampolines
wdbg_sym: fix: ia32_walk_stack wasn't setting AddrStack; fix string
output
This was SVN commit r7163.
ia32: fix: ia32_GetCallTarget wasn't always initializing target
x86_x64: use macro implementation for rdtsc to reduce timing overhead
This was SVN commit r7160.
Linux OpenALsoft implementations weren't resetting source state
correctly when stopping/clearing buffer queue, leading to errors when
the source was reused. workaround: use 'rewind' to ensure the buffer
state is updated.
closes#297 (please reopen if the problem persists)
This was SVN commit r7111.
Fix sys_get_executable_name.
Add mock object support.
Add CxxTest wrapper to support "-test TestSuitename" and "-test
TestSuitename::test_case_name" command-line arguments for running
individual tests.
This was SVN commit r7081.
also took the opportunity to move file_system_posix to file_system since
a further FS abstraction layer = YAGNI. also namespaced
file_system_util.
This was SVN commit r7074.
the old behavior (using directories under binaries/) can be kept by
passing -writableRoot on the command line.
the first game load will be slower than usual due to re-creation of
cached XMBs.
This was SVN commit r7065.
- increase io depth and block size to better utilize FusionIO's crazy
bandwidth
- add OS error number to crashlog (error message may be localized and
illegible)
This was SVN commit r7054.
(hopefully fixes often-reported crashes on 64-bit Linux)
remove lib/precompiled.cpp to simplify PCH handling in build system
This was SVN commit r7006.
move dbghelp and powrprof-specific stuff into external_libraries
dbghelp: dynamically import functions to avoid needing the .lib
This was SVN commit r6912.
make off_t pointer-sized (required for >4gb files at work)
add shared_ptr deleter for free(), add ASSUME_ALIGNED, warning fixes
This was SVN commit r6826.
Detect some errors loading fancy-water fragment shader, and disable
fancy water.
Fixes crash with Mesa on 945GM (which doesn't support fragment shaders,
though it advertises the extensions).
This was SVN commit r6773.
x86_x64.cpp: detect TLBs (a major undertaking :/)
mem_util: export functions
win.h: hopefully avoid warnings from either vc2008 and vc2005 about
already defined win32 version macros
wnuma: revise large page heuristic (cause of slowdown is now known)
This was SVN commit r6600.
Use noncopyable instead of boost::noncopyable. (But maybe this should be
changed to the NONCOPYABLE macro instead?)
Use boost::filesystem::wpath::file_string instead of
external_file_string, since the latter varies between std::string on
Linux and std::wstring on Windows.
Use wcstombs instead of wcstombs_s.
Use rtl_AllocateAligned instead of _mm_malloc.
This was SVN commit r6574.
improvements from work:
- no longer export classes; instead inline functions where it makes
sense (e.g. the scope timers) or export the member functions directly
- fix icc11 warnings
- add some comments
This was SVN commit r6531.
add svnversion from official svn cmdline client distro and its
dependencies
add a horrible batch file that reads its output and writes it to a text
file as a quoted string
(see http://www.wildfiregames.com/forum/index.php?showtopic=12104&hl=)
This was SVN commit r6528.
- displaying symbol values requires stack pointer, not frame pointer
- update debug_IsPointerBogus
- skip-n-frames code changed to skip-all-frames-up-to-func (more
reliable in the face of inlining)
debug.cpp: cleanup
This was SVN commit r6410.
secure_crt.cpp: provide implementation of _wfopen_s
SoundGroup: fix: all attributes now have default values in case the XML
file leaves out some fields
This was SVN commit r6405.
also improved filtering of the frame delta times.
while at it, improved interface of whrt backends to avoid leaking
implementation details.
This was SVN commit r6401.
wdbg_sym: numerous fixes and improvements
- all values are (also) displayed in hex form
- more correct calculation of symbol addresses (workaround for apparent
PDB bug)
This was SVN commit r6399.
debug: cleanup
ogl_tex, tex: use full-width types to avoid truncation warnings
wdbg_sym.cpp: skip __suppress and __profile symbols; add additional hex
display for floats; cleanup
wdll_ver.cpp: cppdoc+cleanup (remove non-reentrant C interface, replace
with std::string)
sysdep: add cppdoc
everything else: flag parameters are now consistently size_t instead of
int (avoids warnings, allows slightly better code on x64)
This was SVN commit r6392.
- x86_x64.cpp: fix: test ARCH_AMD64 instead of ARCH_IA32 because both
are defined on x64
- manifest.cpp: fix processor architecture
- wdbg_heap.cpp: only enable on ia32
- winit, wstartup: take (lack of) name mangling into account
compiler.h: add STRINGIZE and DECORATED_NAME for use by winit
dir_watch: fix: smart pointers were never actually released due to a
remaining reference
This was SVN commit r6375.
test_bits: add tests for all routines in bits.h
hpet: add safety check
unit.h, bits.h, DOMEvent.h: change T(~0) to ~T(0) (required when T is
64-bit)
This was SVN commit r6335.
instead of checking if the public mod exists, remove the windows-only
wfilesystem assert and another in file_system_posix so that the 'error'
is gracefully handled.
This was SVN commit r6334.
refactor: move populate logic to separate file; VfsDirectory now only
provides the realDirectory storage, while Attach() responsibility is
moved to vfs_populate.
This was SVN commit r6333.
whrt: output timer implementation info, fix assert ( 1/(x-epsilon) < 1/x
+ epsilon )
wsdl: fix slightly incorrect gamma values (first and last are now
exactly 0 and 1)
This was SVN commit r6321.
debug: reinstate wchar_t version of debug_printf
file, waio: add hack to allow creating File_Posix with unicode path
wposix: no longer include some rarely-used stuff to avoid conflict with
3rd party libraries
precompiled: bring boost::bind into global namespace (present in TR1)
dir_watch: needed directory watching with unicode paths and larger
buffers at work, so I completely overhauled and documented this
timer: add ToSeconds
SocketBase: fix to ensure correct match despite ::bind's conflict with
boost::bind
This was SVN commit r6319.
- file: prevent error when closing a file twice (e.g. close and dtor)
- file_system_posix: export from DLL
- path_util: add some unicode versions of functions
- ia32: robustify, prevent hook reentry due to failure in disassembly,
gracefully handle breakpoints that overwrite code
- wdbg_heap: fix wdbg_heap_Validate
This was SVN commit r6264.
- recompiled enet without /GL and /LTCG because the game's release mode
doesn't include those, either (due to their heavy compile-time impact)
- wdbg_heap: wrap all allocation-hook logic in #ifndef NDEBUG to avoid
unreferenced local function warnings
This was SVN commit r6201.
frequency_filter wasn't dealing correctly with resolution = 0
.. which was happening due to incorrect cpu_i64FromDouble macros
This was SVN commit r6200.
note that windows build is currently broken - comment out
const size_t CUnit::invalidId;
in Unit.cpp (seems to be a dark corner of the C++ standard, am currently
discussing this with simon)
This was SVN commit r6158.