Commit Graph

406 Commits

Author SHA1 Message Date
7a889deca3 cursor: tried all sorts of implementations to fix bug#66, but after 2 days of debugging, the problem was found to be elsewhere (issue with delay-loading). fixed by keeping a reference to user32 at startup.
main: replace old memory_debug_turbo_extreme_plus with debug_heap_enable

This was SVN commit r2488.
2005-07-16 17:52:05 +00:00
2f5b116842 mmgr: remove random fill option (makes no sense, since we want to fill with unused and freed memory pattern only)
snd: better explain __try hack; avoid any updates if not initialized
ia32: no longer user declspec(naked) (unsafe)
wdbg_sym: also declspec(naked) and refactor display of libstdc++ objects
wdll: remove redundant #undef
wsdl: add comment

This was SVN commit r2487.
2005-07-16 17:49:38 +00:00
5754128dec lib.h: have CHECK|RETURN_ERR etc. store+compare as i64 (safer). document details.
h_mgr.h: debug_warn if H_DEREF fails

have vfs / res functions only CHECK_ERR (i.e. complain) once per call
sequence. made sure vfs_load and vfs_open debug_warn and everything else
just passes on the error.

This was SVN commit r2482.
2005-07-14 00:19:56 +00:00
57f396a5b8 little stuff (adopt debug_get_nth_caller change, document catch(...))
snd: make __try() more obvious and fix old bug that causes a NULL read
when many sources are playing
add alloca implementation (takes care of stack overflow handling)

This was SVN commit r2475.
2005-07-09 20:20:57 +00:00
3d23b2d9f5 debug.h: more dox
snd.cpp - remove stack size note
vfs_tree - fix uninitialized variable problem
string_s - match official rename of strlen_s to strnlen
ia32 - fix infinite recursion, the apparent cause of bug#64

This was SVN commit r2470.
2005-07-04 17:03:08 +00:00
2ea40a23a3 VS2005 compatibility fixes and warning adjustments:
Updated DLLs.
Added DirectX headers/libraries, since they're not in the platform SDK.
Fixed invalid STL iterator usage.
Disabled STL in stack trace, since it breaks.
Added comments for some reported warnings.
Corrected some apparent off-by-one errors.
Defined strlen_s to strnlen.
Probably broke pre-beta2 versions of VC2005.

This was SVN commit r2454.
2005-07-02 21:42:55 +00:00
f3b5e08030 CStr: VC2005 fix - mustn't dereference end()
snd: Only open device once

This was SVN commit r2452.
2005-07-01 22:53:03 +00:00
ec6b78b252 rename assert2 debug_assert; use instead of all plain assert(), since there are no longer any issues (e.g. can't use while handling an exception)
This was SVN commit r2447.
2005-06-28 04:06:25 +00:00
8f9a3fc38f - config.h: massive improvements, much clearer.
- tentatively activate PCH if gcc > 3.4. remove XP_ defines (which were
undocumented; now in scripting/spidermonkey.h)
- rename some config defines
- move sysdep/debug.h to lib/debug.h (it's portable; was wrong all
along)
- grouped all debug heap related stuff to debug.h:debug_heap_*
- sysdep: fix circular include issue with debug.h

This was SVN commit r2427.
2005-06-22 03:23:22 +00:00
40bfeb37c1 ogl_tex: max_tex_size -> ogl_max_tex_size
assert_dlg, udbg, debug.h: dialog with stack trace is now used in dev
mode for exceptions as well

This was SVN commit r2393.
2005-06-16 21:52:35 +00:00
d24fd1b0c9 Use gl*ARB wherever possible. They are mapped onto the core gl* function if the driver's version is high enough, else onto the extension's gl*ARB function.
(Just for fun, compressed texture uploads are mapped onto a
decompression function if the user's system doesn't understand S3TC
textures.)
Corrected (unless I'm wrong) GL version identification logic.

This was SVN commit r2384.
2005-06-14 03:33:16 +00:00
b657a1cbca Added CStr and some other things to precompiled.h, to reduce build times.
Altered CStr/UniDoubler's macros, to avoid polluting/conflicting/etc.
Fixed headers in non-PCH builds.
Used the _d version of vorbisfile*.lib in Debug builds.

This was SVN commit r2366.
2005-06-01 20:12:45 +00:00
641806cc22 zip, lockfree: minor comments
debug.*: move crashlog write code here
wdbg: improvements to breakpoint code. major cleanup in exception
handler; de-hackified. mostly done, not yet stress-tested when not
running in debugger

This was SVN commit r2333.
2005-05-22 22:32:58 +00:00
d0f7cb015c - Linux/GCC (as usual :P)
- Ported lockless code to gcc inline assembly
- A few new net messages (gather, attack, add waypoint)
- Support for new messages in network->entity order converter
- Implemented rudimentary JS interface for Interaction
- issueCommand JS API, connected to the network
- Removed Interaction stuff now replaced by JS
- And something in there should probably break VS builds :P

This was SVN commit r2316.
2005-05-18 05:32:09 +00:00
758251edfd further debug_out -> debug_printf; (comment) cleanup
ogl_tex: minor formatting improvements

This was SVN commit r2286.
2005-05-11 22:40:19 +00:00
fd4eb91e93 debug_out -> debug_printf; MICROLOG moved to ps/Pyrogenesis.h
This was SVN commit r2285.
2005-05-11 18:56:30 +00:00
5821ebb629 Tidied up a bit more
This was SVN commit r2283.
2005-05-11 05:26:24 +00:00
6034821b4a Slightly more readable enum naming in mipmap code
This was SVN commit r2282.
2005-05-11 04:56:05 +00:00
1436e919c1 Support reading DDS files with mipmaps
This was SVN commit r2273.
2005-05-10 18:29:18 +00:00
216eb8d2fe fix rare corner case where filter would be reset to GL_LINEAR. thanks, Philip!
This was SVN commit r2240.
2005-05-04 22:03:00 +00:00
4566893042 add include guards; reflect lockfree.h rename
This was SVN commit r2184.
2005-04-27 16:16:52 +00:00
9fd08fb044 vfs_tree: revise hash table implementation to make it reusable (not yet finished)
This was SVN commit r2122.
2005-04-09 22:25:23 +00:00
9d139926c9 file: provide FILE_TEXT flag that enables newline translation - useful when outputting XML files, so notepad doesn't see "\n" (which it can't handle)
vfs: no longer watch dirs when mounting - need to pass flag. allows
turning this off for screenshots dir (where hotloading doesn't make
sense)

vfs_tree: expand hash table when 3/4 full; 1/2 was quite wasteful.

main: do CPU init early, so timing during init can use TSCmain: do CPU
init early, so timing during init can use TSC

This was SVN commit r2098.
2005-04-29 13:17:17 +00:00
e86001f45e - file bugfix: truncate when opening for writing (problem reported by philip)
- file: now return size at close() time for use with VFS
- zip: tested open speed, added [exec time]  notes

This was SVN commit r2075.
2005-03-29 06:27:35 +00:00
36cd555ba7 slight change to error paths for convenience (RETURN_ERR)
This was SVN commit r2068.
2005-03-27 17:40:40 +00:00
2fa430a4e6 - fix bug (wasn't setting mount_point of dir being mounted => crash while writing screenshot)
- add check for changing filters while enumerating dirents
- add path_component_valid
- change iterator to only return valid entries (removing that burden
from user code)

This was SVN commit r2067.
2005-03-27 17:27:49 +00:00
f777979cc8 detect: add posix.h so _SC_* defines are visible (enables mem detect)
in several files, expand one-line function bodies (hard to debug)

This was SVN commit r2066.
2005-03-27 17:24:57 +00:00
6bf2600808 huge change:
- replace std::map with custom filename lookup container (more
efficient)
- split into 3 parts (was too big)
also added struct stat-like fields to vfsDirEnt

still under heavy development.

This was SVN commit r2058.
2005-03-27 01:46:54 +00:00
a4aa9ab246 zip: add instrumentation, see how much time decompression takes
This was SVN commit r2011.
2005-03-18 22:18:34 +00:00
c3bd4efa9b add O_NO_AIO_NP - if file.cpp doesn't want AIO access, the wposix code shouldn't open another (AIO capable) handle
wposix: also cleanup aio_reopen

This was SVN commit r2010.
2005-03-18 22:15:49 +00:00
ae172a9a01 Disabled mipmaps on GUI textures and cursors
This was SVN commit r1999.
2005-03-17 00:06:51 +00:00
8afc1d9daf use H_DEREF
This was SVN commit r1994.
2005-03-15 18:24:00 +00:00
1b2527c49e add dox to posix.h;
pre-existing dox have been converted to /* */; added "KEEP IN SYNC WITH
WIKI" warning

This was SVN commit r1993.
2005-03-15 18:23:13 +00:00
f1f945c2fa fix for bug reported by philip: had dxt1a and dxt1 backwards
This was SVN commit r1991.
2005-03-10 20:29:27 +00:00
3f15b5555c massive cleanup related to internal format. now calculated along with fmt during reload.
more changes pending (split TexData and its settings; make tex.cpp wrap
its data in Handle; clean up 'is loaded' checks)

This was SVN commit r1988.
2005-03-10 17:04:42 +00:00
a61e31e0a3 hook up JPG encoder. minor changes with JPG (en|de)code function shutdown
This was SVN commit r1987.
2005-03-10 17:02:10 +00:00
eab8c2957a add VFS destination plugin for jpeg-6b (allows writing out images as JPG)
removed unnecessary SIZEOF macro (replaced with sizeof)

This was SVN commit r1985.
2005-03-10 16:59:01 +00:00
11419fc1fe add pitch shift capability to snd.cpp and JS binding
This was SVN commit r1977.
2005-03-09 16:17:26 +00:00
56af3ca47d Made lodbias and vsync config options work. Removed CHEEZY_NOMIPMAP (which forced mipmaps to be enabled), since it's evil.
This was SVN commit r1971.
2005-03-09 00:55:22 +00:00
da1622ca06 reloading is optimized and armor-plated. eliminated an evil race condition.
wdir_watch.cpp: remove debug output and fix dir_get_changed_file
interface bug (was returning ERR_AGAIN instead of 1)

This was SVN commit r1964.
2005-03-02 12:06:40 +00:00
2b33ba8ade security push: checked every strcpy / strncpy. converted most to strcpy_s; some are flagged as "safe" (e.g. if copying literal that's obviously OK)
This was SVN commit r1962.
2005-03-01 20:13:00 +00:00
540a76e88b clean up reload code; add cache invalidate call when reloading (make sure file contents are actually loaded)
This was SVN commit r1948.
2005-02-27 19:11:39 +00:00
a8ef1b911e make reload ignore logic more clear
This was SVN commit r1945.
2005-02-27 14:35:38 +00:00
8e7b800521 remove atexit, minor improvements
This was SVN commit r1944.
2005-02-27 14:34:46 +00:00
ab67b4f3fa move VFS::is_subpath to file::file_is_subpath
This was SVN commit r1943.
2005-02-27 14:33:59 +00:00
3eb6d152d6 add high level dox to snd.h; improve comments; slight improvements to GCC-compat fixes
This was SVN commit r1934.
2005-02-26 14:52:57 +00:00
28602d600d mmgr ported to linux
This was SVN commit r1895.
2005-02-02 17:01:33 +00:00
79c7ca4cf6 fix for file_rel_chdir: check if n_path is valid, instead of argv0 (since argv0 is 0 when running sced)
This was SVN commit r1889.
2005-02-02 03:27:40 +00:00
d34780fb79 win_internal: add _getcwd prototype, made all extern
file: correct getcwd return value

This was SVN commit r1878.
2005-01-30 16:13:15 +00:00
f093b53459 Fixed problems in texture converter's DDS output, and in the game's DDS input.
This was SVN commit r1862.
2005-01-29 17:18:14 +00:00
f25f6a2d70 wdbg: fix crash when exiting abnormally (alt+f4) - was erasing elements from container while iterating through it
win internal files: slight changes while looking through

This was SVN commit r1850.
2005-01-28 18:16:51 +00:00
b48ede5438 Accept DDS files with mipmaps
This was SVN commit r1846.
2005-01-28 15:37:01 +00:00
b704c7b0e4 endian.h renamed (conflict with linux system header)
This was SVN commit r1844.
2005-01-27 20:00:47 +00:00
f3a61e4f69 wsdl: add prototypes for VC endian swap routines (avoid warning)
endian.*: split out of lib.* to reduce default dependencies
tex,zip: now include endian.h

This was SVN commit r1838.
2005-01-27 15:40:23 +00:00
6ca71568f5 vfs, ps/game.cpp: lint
dbghelp_funcs: no longer needed, since we load dbghelp statically

This was SVN commit r1788.
2005-01-23 19:49:45 +00:00
8c7df579bc precompiled: hook up mmgr (needs to be included in all files)
tex: lint fixes

unifont: split out glvprintf

This was SVN commit r1786.
2005-01-23 18:23:29 +00:00
e4bcd210d3 win_internal: move VC debug heaps here to avoid conflicts with mmgr
vfs: lint fixes

mem: remove h_add_ref from mem_get_ptr (was a hack, breaks some code)

This was SVN commit r1783.
2005-01-23 18:17:46 +00:00
85fd8a0f0e stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

also KB -> KiB, MB -> MiB

This was SVN commit r1775.
2005-01-23 17:54:20 +00:00
44ffb32169 fix include path (relative to lib)
This was SVN commit r1774.
2005-01-23 17:50:07 +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
a43205148b stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

This was SVN commit r1772.
2005-01-23 17:45:25 +00:00
4360c501d8 mouse_x/y => g_mouse_x/y
This was SVN commit r1771.
2005-01-23 17:42:28 +00:00
bcf89936c1 Fixed a few memory leaks as well as the CPlayer/SColour crash-on-exit bug
This was SVN commit r1756.
2005-01-23 01:36:47 +00:00
2077698156 New JavaScript interface for the network client, plus some linux/gcc/misc fixes
This was SVN commit r1730.
2005-01-17 04:52:02 +00:00
38b30e5eb4 Corrected ICC errors and some warnings. Removed some unnecessarily verbose logging. Did minor things.
This was SVN commit r1718.
2005-01-13 00:17:31 +00:00
16a3ee4a4b Fixed fix, to correct precedence (as warned about by the friendly compiler ;-) )
This was SVN commit r1707.
2005-01-11 16:40:01 +00:00
629e5999e0 vfs: fixed an apparently untested "quick change" to an assert that was triggering. boo!
This was SVN commit r1704.
2005-01-10 22:51:08 +00:00
fba99c3414 vfs: fix mounting archive contents - now relative to mount point as it should.
added flags to vfs_mount that enable looking for archives and mounting
subdirectories (previously always done, but slow)
main: uses above flags when mounting

This was SVN commit r1695.
2005-01-10 18:44:41 +00:00
e632c0ff1d zip: fix overrun when reading uncompressed data: truncate to output buffer size
vfs: fix archive file add routine: wasn't starting at mount point,
didn't handle files in archive root dir correctly

tex: add tex_is_known_fmt

lib: add ERR_TIMED_OUT

This was SVN commit r1693.
2005-01-10 13:42:10 +00:00
56949e6fc4 lib: add big endian readers; add VC intrinsic bswap routines
tex: improve flip / bgr convert (now generalized "transforms"); add
support for transforming image before encoding

wsdl: add SDL_ShowCursor, minimize when tasking out

main: WriteScreenshot improved, fixes flipped screenshots

This was SVN commit r1689.
2005-01-09 14:23:59 +00:00
37d2d83a9d Adjusted things to work with the new top-down orientation
This was SVN commit r1668.
2005-01-07 14:10:14 +00:00
8633123520 default orientation is now top-down to match Photoshop DDS plugin (thanks, Philip!)
This was SVN commit r1667.
2005-01-07 13:48:49 +00:00
974292c5b7 forgot to add yesterday :/
I/O plugin for libjpg that reads from memory

This was SVN commit r1661.
2005-01-07 11:13:20 +00:00
dd3a0dd657 tex:
- complete+document+fix texture orientation code
- add JPG codec
- file extension check bugfix: now case-insensitive
also some general cleanup.

This was SVN commit r1660.
2005-01-07 02:00:14 +00:00
f503a1f4e7 handle.h: include guard
vfs: path_append and exact-case handling bugfixes

wtime: added FILETIME->time_t conversion; small improvements

This was SVN commit r1658.
2005-01-07 01:16:43 +00:00
e6a12f76e2 aio: check for NULL aiocb* params; made aio_h get/set static; various small improvements
mem: explicit mem_shutdown call - try to avoid exit order problems

unifont: remove logger calls (dependency on ps/)

This was SVN commit r1657.
2005-01-07 01:13:48 +00:00
577c23d936 cursor: remove dependency on CVFSFile (all lib/res files must not depend on ps/, so that they can be reused in other projects)
wposix:
- FILETIME->time_t conversion for *stat
- improve opendir/readdir etc.; add readdir_stat_np
- add pthread_join and pthread_cancel
- add portable sem_* semaphore functions (alternative to SDL semaphores)

file: use readdir_stat_np instead of reading non-portable struct dirent
fields

This was SVN commit r1656.
2005-01-07 01:10:00 +00:00
fcd1adcea3 Removed my earlier 'fix' (related to a bug when adding new files to a directory that was previously archived) which was completely rubbish, and replaced it with one that is hopefully less stupid (and actually fixes the problem)
This was SVN commit r1605.
2005-01-01 13:43:43 +00:00
f9c51d8ec7 Replaced - with _ in GUI
This was SVN commit r1604.
2005-01-01 12:06:17 +00:00
855e1a7f81 Small ScEd updates
This was SVN commit r1601.
2004-12-30 23:01:09 +00:00
7efc7a7903 Fixed memory leak
This was SVN commit r1598.
2004-12-30 17:27:53 +00:00
46f5c61179 Linux/GCC/glibc Compat
This was SVN commit r1532.
2004-12-18 23:30:28 +00:00
bb2de67c31 fixed incorrect handling of extra fields
(zip archives with extended file attributes failed to load)

improved z_extract_cdfh/z_enum_files.

This was SVN commit r1527.
2004-12-18 14:45:04 +00:00
5bb24a387f fix dir_cancel_watch issue: fail silently if watch=0 (happens if directory mounted only from archive, i.e. there's no real directory to watch)
This was SVN commit r1524.
2004-12-18 03:45:12 +00:00
d8ae8a524c Fixed something that looked like a potential bug
This was SVN commit r1515.
2004-12-16 15:15:24 +00:00
851a30215f add h_add_ref; add leak report (currently disabled, since all textures are leaked)
This was SVN commit r1511.
2004-12-16 01:17:50 +00:00
b259381fbf 1) minor error handling improvements (was passing back invalid handle error, instead of the cause; also added a CHECK_ERR)
2) we attempt to load missing files (see bug #32). with the fix above,
CHECK_ERR would fire every run (which it should until the problem is
fixed :P), which is annoying.
Instead, FileUnpacker now checks if the file exists; if not, it throws
immediately and thereby bypasses the VFS error mechanism.

This was SVN commit r1503.
2004-12-15 14:24:12 +00:00
9d317d8164 1) removed scaffolding from file
2) VFS: add path_copy convenience routine
3) various lib code: removed unnecessary const cluttering things (like
const char* _const_ name in param list)

This was SVN commit r1483.
2004-12-09 23:12:02 +00:00
cc02422908 1) TIMER added to timer.h (moved from main)
2) wposix: cache file status in struct dirent (Win32 specific)
3) vfs: speed up vfs_mount (via 2) and zip_cb path lookup caching
scheme)
4) temp scaffolding added to file.cpp to measure performance

This was SVN commit r1482.
2004-12-09 20:17:09 +00:00
643810a276 cleaned up VFS after yesterday's new code;
explicit shutdown, instead of atexit

This was SVN commit r1472.
2004-12-07 22:10:46 +00:00
e76871e7b0 - heavy changes to VFS tree internals: now allows loose files and archives to coexist, choosing archive if they're the same date+size
- reworked tree_lookup: dir names now require trailing '/' to
disambiguate. exception: vfs_open_dir (convenience)
- display VFS tree in stdout.txt unless g_Quickstart

This was SVN commit r1466.
2004-12-07 01:22:25 +00:00
e15562b7ae 1) file: clean up path conversion call sites (was using private routine)
2) all: change file_enum and cohorts to pass struct stat instead of just
size

3) minor cleanup

This was SVN commit r1465.
2004-12-07 01:19:10 +00:00
3fb241054f add master sound disable, triggered if g_Quickstart == true.
(skips OpenAL init => speeds up startup)

This was SVN commit r1437.
2004-12-01 22:19:58 +00:00
f1dac9c626 better error handling: lots of little changes.
added some error codes, tried to eliminate unspecific return -1  where
it made sense.

This was SVN commit r1436.
2004-12-01 21:37:01 +00:00
6c2f455547 added tga and raw encoders (based on common routine extracted from bmp encoder), so I wouldn't have to add NOT_IMPLEMENTED error returns :P
This was SVN commit r1435.
2004-12-01 21:34:49 +00:00
2c0d5c0248 bugfix: needs to use full path conversion routine
This was SVN commit r1434.
2004-12-01 21:34:01 +00:00
c0ef326340 1) file.cpp: add functions for relative path conversion, also better dox
2) ERR_PATH_LENGTH (instead of ERR_VFS_): now used by file.cpp also
3) better document file_enum and FileCB

This was SVN commit r1433.
2004-12-01 18:44:38 +00:00
f04af0077e ignore .svn folders (and their contents) when mounting dirs
This was SVN commit r1432.
2004-12-01 08:16:01 +00:00
4d83cba7e6 add required precompiled header include
This was SVN commit r1431.
2004-12-01 06:52:39 +00:00
d9f30a5d42 Faster Ogg reading (~2.5x in extremely unoptimised builds)
This was SVN commit r1408.
2004-11-27 04:14:34 +00:00