Commit Graph

98 Commits

Author SHA1 Message Date
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
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
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
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
fd4eb91e93 debug_out -> debug_printf; MICROLOG moved to ps/Pyrogenesis.h
This was SVN commit r2285.
2005-05-11 18:56:30 +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
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
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
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
ab67b4f3fa move VFS::is_subpath to file::file_is_subpath
This was SVN commit r1943.
2005-02-27 14:33:59 +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
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
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
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
46f5c61179 Linux/GCC/glibc Compat
This was SVN commit r1532.
2004-12-18 23:30:28 +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
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
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
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
d9ed18f8ca fixed stupid bug, simplified vfs_next_dirent
This was SVN commit r1389.
2004-11-23 23:51:34 +00:00
313df4064c vfs_next_dirent filter can now match *? wildcards (no longer limited to extensions)
updated dox, and added ERR_VFS_DIR_END code

This was SVN commit r1386.
2004-11-23 21:12:18 +00:00
f66de9d098 log when files are opened (used to arrange files in zip archive)
also added mtime to *_stat calls for XMB (check date instead of
checksum)

This was SVN commit r1288.
2004-11-07 23:00:32 +00:00
0f93e53e61 \n on debug_out
This was SVN commit r1266.
2004-10-21 15:08:10 +00:00
d272a7ebb4 remove ofs field for vfs_start_io - never used
This was SVN commit r1249.
2004-10-16 20:52:18 +00:00
4f230f061d less dependencies: handle.h forward-defines Handle, so that not everything that uses res headers is dependent on h_mgr
This was SVN commit r1213.
2004-10-06 14:00:43 +00:00
df1b502bbd Linux Compat and some updated PARANOIA code
This was SVN commit r1189.
2004-09-22 15:20:58 +00:00
c28c5a1beb fix of VC2k5 fix (both pointers to tokenized string are now char*)
This was SVN commit r1186.
2004-09-22 00:46:12 +00:00
a1bd91d198 VC2k5 fix: don't keep converting char* -> const char* -> char*
This was SVN commit r1184.
2004-09-21 22:10:49 +00:00
0868b2ee6c VC2k5 fix: strchr return value saved as const char* (cf Stu's CVS report #161)
This was SVN commit r1183.
2004-09-21 18:43:58 +00:00
d3f452cd80 - add vfs_io_complete (wasn't in header) and vfs_size (convenience function)
- have vfs_load allocate the buffer, so mem_assign is no longer needed.
exposes buffer alignment requirement to VFS, but hey. simplifies things
a good bit.
- moved performance measuring crap to vfs_timed_io, a wrapper function
- various fixes for streaming code

This was SVN commit r1159.
2004-09-19 15:42:32 +00:00
1aae7dcead more dox!
also found problem with partial reads from zip; not important since all
files are currently loaded in one go, but will attack tomorrow.

This was SVN commit r1065.
2004-08-27 00:33:20 +00:00
df5ba1f690 simplification: only VFS allocates output buffer
This was SVN commit r1051.
2004-08-24 17:34:00 +00:00
0706801286 heeding thoreau's "simplify" call. fat trimmed from tree_lookup and remount;
no longer support single archives: discussed with stu, it's not
necessary

This was SVN commit r1020.
2004-08-19 12:02:15 +00:00
4934c7cbe2 don't cache VDir (not copy equivalent). fixes bug that caused terrain textures not to load.
also renamed FileIO

This was SVN commit r1014.
2004-08-18 02:06:23 +00:00
611ec4f10d add throughput measure
This was SVN commit r1002.
2004-08-16 13:19:10 +00:00
48ecbe3c48 VFS wraps async IO control block in a handle (better separation of powers ;))
This was SVN commit r1000.
2004-08-15 21:49:17 +00:00
0b452320ef add callback for sync I/O (useful for reporting progress)
This was SVN commit r978.
2004-08-12 15:51:31 +00:00
df9dcc5711 opening files as a directory -> problem with dir_watch. solved
This was SVN commit r977.
2004-08-11 23:25:37 +00:00
04c4e7ae02 now case-insensitive; added tags to each path variable to tell what kind
also fixed some bugs, Zip loading is successfully integrated.

This was SVN commit r975.
2004-08-11 20:24:26 +00:00