Commit Graph

42 Commits

Author SHA1 Message Date
eaf12ae666 #fix to isnan() bug
big thanks to philip for seeing the problem! :D
cause: not popping FPU stack. didn't happen on my athlonXP presumably
due to different FPU usage (possibly in drivers): pushing 8 values could
clear the stack and mask overflow. the cause was not due to compiler
(and FLD/FSTP param passing) because Philip uses VC2005 as well, but saw
the crash (on P4 CPU)

fixes #130

This was SVN commit r4072.
2006-07-09 00:24:21 +00:00
a35ee9894d # add strict VSrc validation in OpenAL interface to track down bug
- required adding C99 insnan() implementation, along with fpclassify

This was SVN commit r3850.
2006-05-05 05:54:00 +00:00
3d26549032 Fixed file properties - removed svn:executable and svn:keywords (left over from CVS conversion?) from all files; set svn:eol-style=native for *.cpp, *.h (and fixed files with inconsistent line endings)
This was SVN commit r3802.
2006-04-23 23:14:18 +00:00
836cd08d5e # add CppDoc file header to all files, along with their descriptions.
also:
- renamed wdll to delay_load, and wdll_ver to dll_ver
- removed empty wcpu

This was SVN commit r3751.
2006-04-11 23:59:08 +00:00
bc07b9ff0a file code v2 is now feature complete and works.
- adts: add basic benchmark to self-test; use fminf instead of MIN; fix
overly pessimistic invalidation in Landlord_Cached
- allocators: no longer complain if DynArray is full
- lib: warn if rand() min=max
- archive: bugfixes: plug leak, correctly handle 0-length files, carry
over flags when reading uncompressed file from archive
- file: expose file_get_sorted_dirents and implement file_enum in terms
of that
- file_cache: many bugfixes (especially related to CacheAllocator
freelist)
- vfs_optimizer: finish implementation of archive builder
- zip: correctly handle 0-length files
- tex: add tex_is_known_extension
- sysdep: add efficient fminf implementation (assumes P6+)

- config: update archive builder call site
- gamesetup: add call for delayed self tests
- entity: return JSVAL_VOID as per philip's suggestion

This was SVN commit r3553.
2006-02-23 07:55:32 +00:00
e2f25f4598 - self test: rename stuff to SELF_TEST*; add provision for delayed all-at-once self tests (allows for init before the test and makes measuring elapsed time easier)
- config: add CONFIG_TRACE
- display_error_impl->sys_display_error
- cleaned up sysdep; add sys_ prefix everywhere and document everything
- add to vfs_load dox
- cursor: sys_cursor_load -> sys_cursor_create. sysdep code is no longer
dependent on tex; instead of calling tex_load, the caller passes a BGRA
texture in.
memcpy: huge kick in the pants for accompanying paper; now even faster.
- on_each_cpu -> sys_on_each_cpu (removed manager function also)
- wsdl: explain PeekMessage CPU usage issue

This was SVN commit r3203.
2005-12-07 03:38:39 +00:00
9476dc4ad0 ia32: remove _ceil, mark functions as being sysdep implementations; prefix fpucw constants with IA32 to avoid conflicts
sysdep: remove round; document several functions; use ia32.h header
instead of a hack that extern-declared sysdep functions that are
implemented as macro-redirection
wsdl: add SDL_EnableKeyRepeat stub; group related functions in header
together; no longer need OS_WIN wrapper around that

This was SVN commit r3115.
2005-11-07 02:45:25 +00:00
14c62e721d ia32, sysdep: add float->int implementation and fallback version and self-test
config: add macro that determines when it's used
Terrain, wtime: use new float->int code
detect: no longer change _MCW_RC

This was SVN commit r3114.
2005-11-07 02:04:28 +00:00
20d038efda profiling indicates memcpy is a bottleneck, so globally replace all of them with memcpy2 (hand-optimized). depending on transfer size, this is 10%..300% faster. also made memcpy2 into a macro instead of thunk function because vc7 was still generating a jump.
This was SVN commit r3057.
2005-10-30 16:19:20 +00:00
39060e7900 cinput, ogl_shader, h_mgr, vfs: stomp on warnings
ia32, sysdep: add rint()
minimap: saw TODO on GetMapSpaceCoords and sped it up by 15% using rintf
and precalculating scaleX
timer: add indication of how often something was billed (helps measure
stuff called an indeterminate number of times)

This was SVN commit r2973.
2005-10-19 20:26:53 +00:00
c50505f54c read intel doc on multicore, realized it'd break our #cpu detect (which is actually critical because it determines safety of TSC). wrote new CPU detect code which should fix it (wasn't easy, grr); cannot test for lack of Pentium EE hardware ;p
This was SVN commit r2722.
2005-09-14 16:58:10 +00:00
d64e2ed19f dyn_array: use memcpy2
add tex error codes
move memcpy code to ia32
tex: simplify codec call with separate tex_codec_for* calls
codecs: use error code instead of string; remove redundant params
ia32: heavy WIP - testing memcpy implementations
util: prepare for zero-copy improvement to screenshot code

This was SVN commit r2695.
2005-09-10 14:28:55 +00:00
5299dcad86 - config: all macros are defined as 1 / 0. testing with #if allows compiler warnings (testing undefined macro) to spot misspelled macros
- debug: add provision for naming threads. allows adding current thread
name to log messages and displays their names in the debugger.
- replaced various if(err < 0) complain() sequences with new variants of
CHECK_ERR (see lib.h)
- fixes to mmgr/VC debug alloc enable code
- improved h_mgr error reporting (now complains when h_free fails)
- US -> UK english (partial)
- fix tex_load double-free bug
- move win32 mouse cursor code into sysdep
- error dialog is now topmost to make sure it's visible (was a problem)
- handle WM_QUIT before displaying error dialog (makes sure it's shown)

also as in previous 3 revisions.

This was SVN commit r2588.
2005-08-09 16:23:19 +00:00
28e50ab752 - sysdep: moved posix versions of display_msg etc. to new unix.cpp
- add new portable display_error (and convenience macro DISPLAY_ERROR,
if advanced params aren't needed; don't want to break C compat). this is
the old assert dialog and more; allows ErrorReaction (see sysdep.h) to
be carried out according to users wishes.
- add win_is_locked for deadlock avoidance

This was SVN commit r2420.
2005-06-21 16:44:12 +00:00
f911bdc4b1 move debug_microlog to debug.cpp, call it debug_wprintf_mem. move MICROLOG define to pyrogenesis.h.
major cleanup+documenting in debug.h; added breakpoint interface.
sysdep: moved debug_out definition to udbg.cpp

This was SVN commit r2287.
2005-05-11 22:44:20 +00:00
cb74250a51 - moved assert2 to sysdep/debug.h
- sysdep/debug.h includes platform-specific version, so they can define
debug_break
- no longer a debug_break wrapper that calls to specific versions (so
that the debugger breaks in the target function directly)
- unix-specific stuff is only debug ATM; call it udbg instead of unix.*

This was SVN commit r1813.
2005-01-25 18:27:00 +00:00
36c5db05cd Added includes for non-pch build
This was SVN commit r1807.
2005-01-24 23:08:30 +00:00
e332d876f8 stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

This was SVN commit r1773.
2005-01-23 17:48:32 +00:00
df1b502bbd Linux Compat and some updated PARANOIA code
This was SVN commit r1189.
2004-09-22 15:20:58 +00:00
777f06143d - A lot of small network fixes
- Connecting client(s) to a server and giving orders to a shared set of
entities now works - Yeah!
- Removed thread sync from CNetServer

This was SVN commit r1180.
2004-09-21 14:40:43 +00:00
a0f0215c15 fixed debug_check_heap definition
This was SVN commit r1167.
2004-09-19 18:45:04 +00:00
1768ccded3 Miscellaneous GCC fixes
This was SVN commit r948.
2004-08-09 16:44:08 +00:00
db344d5f51 add get_executable_path (used by file_rel_chdir)
This was SVN commit r920.
2004-08-05 19:21:35 +00:00
05f02111da split debug functions out into separate sysdep/debug header
This was SVN commit r883.
2004-08-02 13:47:38 +00:00
d6a68ad232 Fixed headers for non-PCH, again
This was SVN commit r818.
2004-07-25 11:30:05 +00:00
c8514b7d28 OpenGL cursor (for non-Windows)
This was SVN commit r817.
2004-07-24 19:38:12 +00:00
fe1bee706b Fixed loads of /W4 warnings, because it's easier than doing anything useful. Added some asserts to check potentially dangerous assumptions, implemented a few missing bits of code, adjusted some comments, etc.
This was SVN commit r814.
2004-07-24 14:04:40 +00:00
3f7797b762 Prototype support for using 32-bit textures as cursors on Windows
This was SVN commit r813.
2004-07-23 19:07:18 +00:00
8684287360 Linux fixes
This was SVN commit r763.
2004-07-15 19:59:27 +00:00
82de48832e MICROLOG function for high-speed logging of everything that happened just before a crash
This was SVN commit r761.
2004-07-15 19:29:56 +00:00
b284b47a06 add crash log (call stack and minidump)
This was SVN commit r757.
2004-07-15 02:39:25 +00:00
81b1c6a5ea add portable clipboard routines (wchar_t)
This was SVN commit r740.
2004-07-13 21:17:26 +00:00
aa9c6e7d30 Created a Unix sysdep/ folder, and implemented a unix debug_break function
This was SVN commit r735.
2004-07-12 22:05:49 +00:00
89d47437b4 add debug_break and assert2
This was SVN commit r729.
2004-07-12 16:48:10 +00:00
32b6627645 Miscellaneous gcc fixes
This was SVN commit r541.
2004-06-18 18:56:10 +00:00
4daa183dd3 stripped some headers from deprecated prometheus.h => huge rearrange
This was SVN commit r378.
2004-06-03 01:43:33 +00:00
f1a3cd9e31 ../lib/lib.cpp
This was SVN commit r349.
2004-06-02 15:12:48 +00:00
f383cfd4a8 fix for vc7 (incomplete type in container). also some updates to vfs
This was SVN commit r221.
2004-05-08 01:11:51 +00:00
5b5726ed4d merge of (work in progress) VFS code with new dir layout
This was SVN commit r216.
2004-05-06 17:14:30 +00:00
a470253b0b big merge goes linux! ; )
This was SVN commit r171.
2004-03-04 20:36:31 +00:00
9c2a8a5658 fixed little gremlin due to i64 handle change (implicit conversion in overloaded function)
This was SVN commit r163.
2004-03-03 00:37:41 +00:00
89c5b0d88c the big merge (tm). see forum post for changes made.
This was SVN commit r158.
2004-03-02 23:56:51 +00:00