1
0
forked from 0ad/0ad
Commit Graph

373 Commits

Author SHA1 Message Date
71f7fccd12 split texture loader into codecs (greatly eases navigation)
tex.cpp now has loader API and codec support routines.
provide for codecs "transforming" the image; this allows e.g.
decompressing DDS, which is currently done in ogl code (but belongs
here)

This was SVN commit r2648.
2005-09-02 02:56:54 +00:00
9ec828f6fd - both tex.cpp and ogl_tex.cpp had functions named tex_* - confusing. renamed to ogl_tex* to disambiguate.
- ogl_tex_bind now supports multitexturing (avoids need to get id and
then bind manually)
- provide nicer API for querying texture properties (no longer one big
getter). improved GUI determination of texture alpha.
- renderer: another see-if-texture-has-alpha and fixed alpha map code
(wasn't checking if all are same size. only worked because the first map
was larger than the rest

This was SVN commit r2647.
2005-09-02 02:54:02 +00:00
9e40ebc93d RealDir.watch wasn't initialized, leading to complaints at exit. fixed
This was SVN commit r2614.
2005-08-13 23:37:31 +00:00
a0e7d02cdd Fixed and rebuilt ScEd. Updated tex to handle greyscale PNGs.
This was SVN commit r2610.
2005-08-13 17:14:57 +00:00
0e20c08969 waio: fix spurious WARN_ERR
vfs: integrate hotload code
fixed a few warnings as well.

This was SVN commit r2609.
2005-08-13 17:09:57 +00:00
fac9a8aa87 reading a gamedev thread triggered the realization that WDIR no longer needs to store full path in dirent. therefore, streamlined opendir/readdir/closedir; I guess they are a good bit more efficient now.
This was SVN commit r2606.
2005-08-12 22:19:31 +00:00
4aa740bff5 - split up lib/res into file, graphics and sound.
- wposix.cpp: initial support for MEM_RESERVE and MEM_COMMIT semantics
in mmap
- cstr: removed no longer necessary serialization header
- xmlutils: wrap new() calls in nommgr/mmgr; allows tracking other
allocs in this file.
- add u64_from_u32
- various minor comments/improvements.

This was SVN commit r2604.
2005-08-12 17:06:53 +00:00
aba23e4fdb config: got my grubby hands on a list of OS defines, so those have been assimilated. also add STL_ defines for GCC and ICC.
vfs.h: wording in dox
win.cpp: add note on suspending threads in display_error_impl

This was SVN commit r2598.
2005-08-10 20:53:52 +00:00
622ceeda94 - color -> colour
- add note on performance in TextureManager.cpp

debug_stl: more fine-grained #if STL_DINKUMWARE (gets this closer to
working on other STL implementations)
vfs.h: improved dox and moved vfs_path public functions here.
cursor: pass g_mouse_x as a parameter (SwEng)

This was SVN commit r2595.
2005-08-10 01:12:03 +00:00
ff97a903b8 wpthread: improved code and avoid memory alloc during thread creation
wsdl and tex: use british english terms

This was SVN commit r2594.
2005-08-10 00:33:15 +00:00
4b33f49da1 - sysdep cursor functions renamed sys_cursor_*
- res/cursor.cpp cleaned up, uses sys_cursor_*; also fixed some bugs.

This was SVN commit r2593.
2005-08-10 00:27:56 +00:00
b63bc42245 TextureManager: stopped memory leaks
wsdl: create window at expected size, and retrieve correct mouse coords
CStr: not ISerializable (=> not virtual)
Game: less excessive complaining, since the original problem seems to be
fixed
Entity: fixed evaluation order
Others: minor comments/etc

This was SVN commit r2591.
2005-08-09 21:26:40 +00:00
78c751aff6 ogl: add oglSquelchError call. use that if you know a piece of code will trigger an error and want to suppress it (e.g. INVALID_ENUM after using GL_CLAMP_TO_EDGE although we've already warned the user that not everything may work)
file: now provides a much more efficient alternative to file_enum that
does not sort all files (this was a problem for check_if_oal_dll which
was scanning the entire system32 dir)

- use the same DirEnt struct for file and VFS due to clever name pointer
trick.
- wposix: avoid malloc for most opendir() and fix mmap() bugs (thanks to
Philip for noticing+reporting them)
- VFS: was getting too large to manage, now split into an additional
file
- WIP: much more efficient mounting; supports other mount sources than
file or zip (e.g. if we want to add network files); clean separation
between VFS submodules; dox; beginning of thread locking.

This was SVN commit r2589.
2005-08-09 16:32:23 +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
b3a9ed2886 New terrain properties stuff, gcc compatability and updated unix debugging stuff
This was SVN commit r2581.
2005-08-07 21:58:36 +00:00
67777bd159 cursor: remove old Win32 implementation
main: add new variable for clarity

scriptglue: massive refactor. added docs, rearranged into groups,
eliminate forward decls, consistent param checking, some progress on
consistent naming and formatting.

This was SVN commit r2492.
2005-07-20 00:57:17 +00:00
1d69845cee snd: better snd_disable dox
ia32: fix comments and fix EBP warning
wdbg: fix bug if exception locus is unavailable
wdetect: store full DS driver path (-> version reported correctly)

This was SVN commit r2491.
2005-07-20 00:54:39 +00:00
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