1
0
forked from 0ad/0ad
Commit Graph

317 Commits

Author SHA1 Message Date
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
fe54b3deeb Fixed minor warnings
This was SVN commit r1406.
2004-11-27 03:22:04 +00:00
Gee
caff02e8da I had to ask some things to make some word-processing easier/faster. Feel free to adjust anything that's crooked.
This was SVN commit r1395.
2004-11-24 23:47:48 +00:00
30ad195c0b Linux/GCC Compat
This was SVN commit r1393.
2004-11-23 23:56:10 +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
03db724b99 better error handling: no assert blowing up in your face if SndData_reload fails (or is made to fail)
This was SVN commit r1382.
2004-11-23 19:08:30 +00:00
b2ba38e7a4 define ZLIB_DLL before zlib.h
This was SVN commit r1374.
2004-11-22 00:17:37 +00:00
af56d5829b improved png write code while searching for cause of bug #24
This was SVN commit r1373.
2004-11-22 00:10:16 +00:00
d5473db68e warning fix: remove redundant uint >= 0
This was SVN commit r1358.
2004-11-19 22:40:27 +00:00
e1bb0a3d2e get ride of separate snd_open_def (simplifies JS interface)
filename is assumed to be a definition file if extension == .txt

This was SVN commit r1329.
2004-11-15 18:34:13 +00:00
MarkT
793794649f Combat code, some scripting, broken network, and fixed some bugs.
This was SVN commit r1301.
2004-11-11 07:09:32 +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
3136791492 Linux/GCC Compat(tm)
This was SVN commit r1284.
2004-11-07 21:30:47 +00:00
2cf79ca6cf more dox :]
This was SVN commit r1279.
2004-10-30 15:17:19 +00:00
4e7b6bd165 improved dox a bit; explicit deque_finished_bufs call, instead of changing update behavior via VS_ flags.
This was SVN commit r1278.
2004-10-25 13:07:34 +00:00
06051e3628 cleaned up and documented. ready for use.
This was SVN commit r1275.
2004-10-23 19:55:41 +00:00
MarkT
d33d2e4450 Added some support for user profiles
This was SVN commit r1270.
2004-10-23 14:39:28 +00:00
01456b797c further cleanup + fixed another shutdown order bug via h_force_close
This was SVN commit r1269.
2004-10-22 22:00:57 +00:00
6f114dcd5e h_force_close support for sound shutdown issue
This was SVN commit r1268.
2004-10-22 21:58:03 +00:00
0f93e53e61 \n on debug_out
This was SVN commit r1266.
2004-10-21 15:08:10 +00:00
27d52a8c45 WIP. have added some dox and armor-plated the lower-level components.
fixed shutdown order issue mentioned in task report.

further refactoring expected for vsrc_update et al (messy) and list_*

This was SVN commit r1264.
2004-10-20 23:18:52 +00:00
1ef7ce088c add support for forcibly closing cached files (needed when closing all active sounds before resetting openal)
This was SVN commit r1261.
2004-10-20 00:58:55 +00:00
8764693bd8 allow 0-length allocs without complaint (required when vfs_loading 0-length files, as happens with current art pack)
This was SVN commit r1258.
2004-10-19 13:29:51 +00:00
34b553e2b2 remove ogg_display junk
This was SVN commit r1256.
2004-10-18 14:25:13 +00:00
b5d9f886a4 Don't complain when shutting down without having played a sound
This was SVN commit r1252.
2004-10-17 10:21:06 +00:00
f144aa0686 as per meeting today, disabled use of OpenAL ogg extension; wrote a quick, ugly, no-good hack to decode OGG files 'manually' (using vorbis)
(it doesn't stream, it loads the whole thing into memory - baad)
but the steaming pile seems to work! all is good ;)

This was SVN commit r1250.
2004-10-16 20:54:24 +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
cd24c9c6f7 fixes for RES_UNIQUE (used by sound instances) - no longer add such handles to the h_find lookup data struct, because it can't handle several instances backed by the same file
This was SVN commit r1239.
2004-10-15 13:19:37 +00:00
6f2c1fbb8c WIP; still tons of debug code
now theoretically supports 3d positional sound; solidified snd data
provider -> VSource code

This was SVN commit r1238.
2004-10-15 13:18:34 +00:00
Gee
5b74afce82 Added unifont_height...
This was SVN commit r1235.
2004-10-14 10:09:51 +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
fecb8e38de buggy, work-in-progress. can now again play sounds. basic culling/prioritization code in place.
This was SVN commit r1210.
2004-10-05 13:11:28 +00:00
7a0cf92c25 add RES_UNIQUE, required for sound code
This was SVN commit r1209.
2004-10-05 13:10:49 +00:00
13dfff0e12 removed unnecessary (unused) calc
This was SVN commit r1208.
2004-10-05 13:07:25 +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
7925a3fc4d Avoid crashing when something minor that should never fail fails (though the cause of that failure is fairly major (but currently unknown))
This was SVN commit r1174.
2004-09-20 18:27:22 +00:00
ae2d42bbad fix incorrect buffer free (now handled by ALBuffer); work in progress
This was SVN commit r1172.
2004-09-19 19:29:03 +00:00
85cf439f62 slight changes (memset IOSlot; if(.. < 0) -> CHECK_ERR)
This was SVN commit r1171.
2004-09-19 19:28:00 +00:00
b459e7e640 fixed debug_check_heap definition
This was SVN commit r1170.
2004-09-19 19:27:04 +00:00
cfe4562e6a move low-level sound/music code from musicplayer to res/snd; also put oal.* in there
work in progress.

This was SVN commit r1162.
2004-09-19 15:57:20 +00:00
f6cfcd0555 slight change to interface (FileIO* vs simple void* output value) to simplify Zip interface (needed to change because now it has to store data of its own in IOs when doing partial reads)
This was SVN commit r1161.
2004-09-19 15:51:12 +00:00
5db49638cf worked on partial zip reads. also changed to bring in line with file/vfs for slightly changed streaming interface
This was SVN commit r1160.
2004-09-19 15:49:46 +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
b3a5bad377 fix 2 stupid h_mgr_shutdown bugs leading to failure to close some leaked handles at exit (see bug 26)
- was iterating over all HDATA slots up to last_in_use, but it is
inclusive
- when closing, wasn't resetting refcount, so h_free kept those with
refcount > 1 open

This was SVN commit r1158.
2004-09-19 13:46:38 +00:00
a872461a47 no longer 2 tex_write calls - just one that fills a TexInfo directly => no longer need mem_assign to wrap a pointer, only to dereference immediately thereafter
This was SVN commit r1157.
2004-09-19 13:43:53 +00:00
d46cf9cf1f remove mem_assign and mem_assign_user (all call sites rewritten so that they're no longer needed)
still available in source, but shouldn't be necessary.

This was SVN commit r1156.
2004-09-19 13:41:49 +00:00
e4f160df27 fix headers: ogl_tex.h is user-level texture stuff, tex.h is only the texture loader.
this came up due to header change - some unnecessary stuff isn't
included by default anymore.

This was SVN commit r1155.
2004-09-19 11:57:51 +00:00
02ec0a7e62 add comment: tex_upload binds texture as a side effect
This was SVN commit r1154.
2004-09-19 11:40:42 +00:00
7c269d7735 better encapsulation of header (=> less dependencies)
This was SVN commit r1151.
2004-09-19 11:36:26 +00:00
5a8dd803a7 fix for gcc: philip reports it doesn't have upper_bound (although it's part of STL). replaced with equal_range
This was SVN commit r1150.
2004-09-19 11:23:12 +00:00
Gee
5c2838f7cf Forgot to remove a temp log-output
This was SVN commit r1129.
2004-09-06 03:21:56 +00:00
Gee
6e07632775 Changed a function that the GUI uses to Unicode.
This was SVN commit r1127.
2004-09-06 02:24:34 +00:00
3b15f3f1e4 Text alignment alterations
This was SVN commit r1119.
2004-09-04 20:35:12 +00:00
f05afa04a2 fix incorrect Tex_reload state handling (caused actual reloads to fail, i.e. display white texture)
This was SVN commit r1079.
2004-08-28 17:44:28 +00:00
c630437a9e Removed -- it was no longer used (replaced by unifont.(cpp|h)) and causing conflicts with ps/Font.cpp
This was SVN commit r1077.
2004-08-28 13:35:48 +00:00
70d84beab2 Altered font handling -- now uses CFont in preference to unifont_* (yay, pointless OO) and allows font mapping ("default"=>"palatino12", etc) using .cfg files
This was SVN commit r1074.
2004-08-27 22:08:30 +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
c01f1f00a8 Minorly better error handling
This was SVN commit r1053.
2004-08-24 21:07:20 +00:00
4ce93a9f12 remove misalign warning (no longer relevant)
This was SVN commit r1052.
2004-08-24 17:42:46 +00:00
df5ba1f690 simplification: only VFS allocates output buffer
This was SVN commit r1051.
2004-08-24 17:34:00 +00:00
13e5f5dc11 underwent review, armor-plating and documentation. "finished" (i hope) except for one last outstanding issue:
special-casing uncompressed files in archive. the impl is hackish ATM,
and requires further work on the file_io cache.

This was SVN commit r1050.
2004-08-24 17:29:54 +00:00
59fd28fc93 GCC fixes: made zip_archive_open/close not inline
This was SVN commit r1033.
2004-08-21 12:54:25 +00:00
57fad52ef3 GCC non-fixes: marked broken code
This was SVN commit r1032.
2004-08-21 12:53:17 +00:00
a8f64267a2 GCC fixes: evil goto.
This was SVN commit r1030.
2004-08-21 12:50:55 +00:00
f94ecbd6d7 hide ugly multimap code behind interface
This was SVN commit r1022.
2004-08-19 12:03:15 +00:00
e6324c95d6 add rationale for non-caching async IO and not prefetching
This was SVN commit r1021.
2004-08-19 12:02:58 +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
d58e16e0ff work in progress. caching moved to sync IO code (simplifies things).
This was SVN commit r1017.
2004-08-18 02:12:52 +00:00
e2970992fd fix FileIO type; also new transfer mode for uncompressed files that allows using the file cache (HACK!)
This was SVN commit r1016.
2004-08-18 02:11:50 +00:00
3d455fc05f h_find now via hash multimap instead of linear search (it's called often)
This was SVN commit r1015.
2004-08-18 02:08: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
0d6477d83b add note and added (currently commented out) debug_outs to determine when/why handles are being allocated
This was SVN commit r1011.
2004-08-17 21:06:08 +00:00
8e823492b5 better names for inf_* routines
This was SVN commit r1003.
2004-08-16 13:20:53 +00:00
611ec4f10d add throughput measure
This was SVN commit r1002.
2004-08-16 13:19:10 +00:00
94316413db rough initial implementation of revised L3 file block cache. works, considerable speedup.
also: async routines now fill a control block, instead of returning a
handle (that's now done by VFS)

This was SVN commit r1001.
2004-08-15 21:50:29 +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
caedad6fc4 allow freeing 0 ptrs
This was SVN commit r999.
2004-08-15 21:48:34 +00:00
788b177e81 async routines now fill a control block, instead of returning a handle (that's now done by VFS)
This was SVN commit r998.
2004-08-15 21:47:47 +00:00
5ff6c98c95 bugfix in IO callback (was incorrectly reporting # bytes read); async routines now fill a control block, instead of returning a handle (that's now done by VFS)
This was SVN commit r997.
2004-08-15 21:47:32 +00:00
5edadf1433 don't cache handles that don't have a key (i.e. couldn't be found when reloading)
This was SVN commit r991.
2004-08-14 12:36:03 +00:00
3ba9855b2e wasn't converting native path to portable before sending to VFS.
fixes assert after screenshot write reported by stu

This was SVN commit r990.
2004-08-14 12:28:54 +00:00
7e1bcd5159 Slightly nicer cursor loading (using the resource system for caching)
This was SVN commit r986.
2004-08-12 17:36:48 +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
1f2ebb678e slightly change file_enum interface (don't need flags); comments
This was SVN commit r974.
2004-08-11 20:23:22 +00:00