Commit Graph

472 Commits

Author SHA1 Message Date
cd2f3948dd changed sys_cursor interface to load directly from file; can add createFromMemory version later if ever needed.
cursor: reflects the above; much simplified now.

ogl_tex: preserve all texture state across reloads. add quality
mechanism (perf boost on older cards). split up upload code. add
ogl_tex_transform(). add more docs.

renderer, GUIrenderer, unifont: bring in line with ogl_tex changes (int
-> uint and call setters before ogl_tex_upload)

GameSetup.cpp: add tex quality mechanism

This was SVN commit r2803.
2005-09-29 05:00:20 +00:00
b67b023513 Add more verbosity to the shutdown sequence.
Shutdown doesn't look clean on Linux, and this might help highlight
current and future problems. Besides, we don't want shutdown to take
ages, do we? ;)

This was SVN commit r2801.
2005-09-29 02:30:30 +00:00
7fbbc1b0c6 Darken the background of the profile viewer for better readability.
This was SVN commit r2798.
2005-09-28 22:35:08 +00:00
609be94b8c comments/cosmetics;
fix UNREACHABLE def on unix;
string_s: use HAVE_STRING_S;
wdbg_sym: fix option set code; explain why search path isn't needed
WriteScreenshot: make sure there's enough mem; use Handle to free mem
(more efficient+less error prone)

This was SVN commit r2779.
2005-09-27 15:20:56 +00:00
8e31f44249 This is what the explicit "this->" before accesses of members of a
template base class needs to look like. More will surely follow.

This was SVN commit r2772.
2005-09-26 23:37:37 +00:00
ee35659dc7 udbg fixes and a fix for the underscore problem in the assembler symbols
This was SVN commit r2765.
2005-09-26 05:38:40 +00:00
37e9fc0388 - update load times
- config: add proper HAVE_ macro for string_s functions rather than
checking MSC ver directly
- string_s: disable parts of the self-test that trigger errors if not
using the string_s.cpp implementation

This was SVN commit r2760.
2005-09-21 16:42:56 +00:00
8ba42d5a3c ia32.asm: add explicit init function (simplifies other code)
memcpy no longer requires SSE yet is still efficient (clever trick,
hehe)

This was SVN commit r2757.
2005-09-20 04:05:23 +00:00
e5dea3e5a1 Water source code :|.
This was SVN commit r2746.
2005-09-18 03:47:15 +00:00
4a7d0e9038 Config: Changed -e to -entgraph (to avoid conflicts with -editor).
Premake: Don't compile Atlas when compiling ScEd, though I can't
remember why.
Atlas: Load existing maps.

This was SVN commit r2720.
2005-09-14 05:37:52 +00:00
aa118403bb Terrain: CalcFromPosition, to convert world-space to tile-space.
ScEd: Compilation fixes.
Atlas: Screen-space to world-space conversion when editing terrain.
Wireframe option. Minor wxWidgets 2.6.1 fixes. AoE3Ed.

This was SVN commit r2698.
2005-09-12 20:04:26 +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
3c9ad073bc minor error reporting / wording changes while cruising through.
This was SVN commit r2691.
2005-09-08 01:48:57 +00:00
1a7d67a97f dyn_array: efficient expandable array that doesn't waste mem or relocate itself. TODO: self test and dox
file: expose block size constant; always round user transfers up
tex: transform() now receives what to change, not what to achieve.
tex*: encoding works with DynArray+VFS backend
GameSetup: free g_BuildingPlacer to avoid mem leak.
fixed some warnings+bugs.

This was SVN commit r2679.
2005-09-06 22:44:48 +00:00
9dc8a71b15 Added health properties to BaseEntity so they work properly for Entity as well (on units that don't directly specify them).
This was SVN commit r2677.
2005-09-06 19:30:41 +00:00
6f10e8c09c Updated building placement cursor to make the object glow read and not be placeable if trying to place in an invalid area.
Also a small fix: made the selection bandbox not appear when the view is
being rotated using left+right drag (it doesn't make sense to show it
then).

This was SVN commit r2674.
2005-09-06 08:25:41 +00:00
11de356225 Improved building placer to show the actor that will be placed instead of the original white lines.
This was SVN commit r2671.
2005-09-05 23:44:21 +00:00
65e90614f2 Added hitpoint bars above selected and mouseovered units.
This was SVN commit r2669.
2005-09-05 21:45:26 +00:00
1af9aa074e Added initial version of building placement cursor, which can be shown with the startPlacing(templateName) JS function.
Also activated depth test for selection outlines so they don't overlap
units.

This was SVN commit r2667.
2005-09-05 19:48:28 +00:00
50ea8c532c - PathPackage now does CHECK_ERR. adjusted callers appropriately
- mem.h: export mem_assign (needed to wrap a mem buffer)
- use stricmp in some file extension comparisons
- wposix: properly sets last-error code when opendir fails
- also: misc comments

This was SVN commit r2650.
2005-09-02 03:03:06 +00:00
21709a5a7a (as before, belonged in the previous batches)
This was SVN commit r2649.
2005-09-02 02:58:40 +00:00
ed5041a301 some infrastructure for self-tests: gets rid of boilerplate code.
squelch debug asserts during self-tests to avoid warning about intended
errors (passing invalid data into functions to test their error
reporting)

This was SVN commit r2646.
2005-09-02 02:47:25 +00:00
5d62c3f3f7 Atlas: Simple undo system
This was SVN commit r2627.
2005-08-20 15:44:50 +00:00
a10082d69b Minor fixes
This was SVN commit r2625.
2005-08-16 19:51:18 +00:00
b4ad393ee4 moved ps/X* to ps/XML/
premake: reflect 2 added and 1 removed source dir
add ps/Util - some helpful functions that were previously in main.cpp

This was SVN commit r2624.
2005-08-14 23:50:37 +00:00
70b44f6485 moved self-tests into their respective files (this makes checking if a file has one easier) and automatically calls them if #if PERFORM_SELF_TEST == 1 (allows global enable/disable of all tests and also per-file override).
This was SVN commit r2623.
2005-08-14 23:36:43 +00:00
dc027002c0 host of changes to accommodate Atlas:
- input.cpp allows feeding in events from the outside (will be used by
main.cpp and Atlas msg loop)
- most of main.cpp split into ps/GameSetup.*
- main.cpp is now a "controller" that drives the game via SDL events
(Atlas is another such controller that can override main.cpp). it calls
GameSetup functions to set up and processes messages.
- add functions to import AtlasUI.dll automatically

also, the usual refactoring ;)

This was SVN commit r2622.
2005-08-14 23:34:37 +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
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
52ebd6ba11 scripting-interface improvements
- strict param count checks
- use ScriptingHost::RunMemScript instead of copy+pasted code
- replace duplicated parameter access code with macros

StringBuffer: use pointer instead of reference to allow
compiler-generated copy ctor
singleton: fix whitespace

This was SVN commit r2586.
2005-08-09 16:02:15 +00:00
a69ac0dee9 - fix w4 warnings
- add convenience macros for config_db(CFG_GET_SYS_VAL)
- VFSUtil::EnumDirEnts now uses flags instead of bool recursive
- UNUSED() for params, UNUSED2 (<- need better name) for variables
- config.h defines must be tested with #if (always defined) -> allows
detecting misspellings thanks to compiler warnings
- replace debug_assert(0) with debug_warn (its sole purpose)
- replace ScriptingHost::ValueToInt et al with ToPrimitive
- use nommgr.h to disable both mmgr and VC debug heap

This was SVN commit r2585.
2005-08-09 15:55:44 +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
a04abf2967 Fail more quietly while loading
This was SVN commit r2565.
2005-07-30 20:12:41 +00:00
c3d42c1025 Fixed mmap bug, and GUI memory leak.
This was SVN commit r2560.
2005-07-28 17:39:27 +00:00
524263577f Updated Errors.cpp
This was SVN commit r2516.
2005-07-22 19:21:19 +00:00
f715e6c226 ScriptableComplex.h: ScriptingHost already includes SpiderMonkey.h
scriptglue: additional refactoring
scriptinghost: remove useless GC function
SpiderMonkey.h: more dox

This was SVN commit r2497.
2005-07-20 04:53:58 +00:00
549150fe38 Atlas: simple camera control and terrain editing.
Terrain: added terrain-editing code to CTerrain, for better
encapsulation or something.
Console: simplified screen resizing.
Game/etc: removed some unnecessary header file inclusions.

This was SVN commit r2459.
2005-07-03 16:25:48 +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
cf37e9cbe6 Atlas: Added a button. Reorganised game<->UI communication system.
main.cpp: Allowed correct operation when not calling Init/Shutdown.
Game.cpp: Stopped complaint when starting game with no GUI.

This was SVN commit r2446.
2005-06-27 23:04:34 +00:00
064dd5699d - read() and write() are now implemented as functions (avoids having to #undef them)
- HAVE_DEBUGALLOC renamed to HAVE_VC_DEBUG_ALLOC

This was SVN commit r2426.
2005-06-22 03:14:35 +00:00
f3951fbfae all JS-dependent code now includes scripting/SpiderMonkey.h instead of <js*.h> directly - see rationale in that header.
singleton: removed unnecessary headers

This was SVN commit r2425.
2005-06-22 02:23:46 +00:00
d4617cbd3e Minor warning-fixes and miscellaneous tidiness
This was SVN commit r2416.
2005-06-20 22:04:08 +00:00
7577d224a6 Terrain XML loading, plus mouse/JS portability and some misc stuff to mix it up
This was SVN commit r2412.
2005-06-20 15:14:36 +00:00
92d221f183 Interact.cpp: Use double instead of float for storing absolute times (since the precision is required).
Atlas: Nicer handling of menus.

This was SVN commit r2400.
2005-06-17 23:14:06 +00:00
471fd5d6f3 Unbroke more; plus some minor changes.
This was SVN commit r2398.
2005-06-17 01:28:35 +00:00
40b26227d7 singleton.h: use assert2 (avoid trouble in wdbg code)
lib.h: reorder error codes (more clear) and add a few

detect.cpp, gfx.h: move gfx_mem (amount of video memory) here from ogl

This was SVN commit r2391.
2005-06-16 21:46:33 +00:00
dd3c8f6fb5 Use the standard Singleton for CLogger, to fix problems with unordered shutdown
This was SVN commit r2383.
2005-06-13 19:31:48 +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
982e051c54 Changed PSERROR to inherit from std::exception
This was SVN commit r2344.
2005-05-24 00:00:40 +00:00
aa027d20ec Fixed ScEd again - renamed the network system's CCommand to CNetCommand, since ScEd used that name first :-P
This was SVN commit r2337.
2005-05-23 02:39:07 +00:00
21149d9fd0 Renamed translate() to I18n::translate(), to minimise conflicts
This was SVN commit r2334.
2005-05-22 22:58:27 +00:00
0331883a86 Temporary fix for mouse input. Improved performance in player-colour model renderer. Also improved performance in lighting, at least in unoptimised builds.
This was SVN commit r2328.
2005-05-20 17:09:47 +00:00
f1e9bf6227 Fixed warnings
This was SVN commit r2319.
2005-05-18 21:19:56 +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
1ff0d112d2 revise loader return values - nicer interface now.
This was SVN commit r2281.
2005-05-11 04:39:21 +00:00
ab980c1a31 Updated map format, to store lighting information in XML. Also, vital whitespace consistency improvements.
This was SVN commit r2276.
2005-05-11 03:07:08 +00:00
bc5122fa08 UTF-8->CStrW conversion; used in saved console history.
This was SVN commit r2272.
2005-05-10 18:15:03 +00:00
MarkT
86dc351205 Projectile code and updates to some actors that can use it (celt_ijv and hele_iar)
This was SVN commit r2266.
2005-05-10 07:13:25 +00:00
229a6b7a16 Loader: reword comment
EntityHandles.cpp: 4096 -> MAX_HANDLES

This was SVN commit r2259.
2005-05-09 04:37:36 +00:00
01588f267f Corrected garbage collection problem
This was SVN commit r2255.
2005-05-09 03:26:04 +00:00
f8f94e02aa add high-level dox and updated some comments
This was SVN commit r2249.
2005-05-06 20:02:00 +00:00
daddeed4bb fix really stupid bug in ReadFileLines - was always setting first array element
This was SVN commit r2246.
2005-05-05 16:41:16 +00:00
1bcf156680 added macro that takes care of boilerplate "check for timeout and return progress" code.
This was SVN commit r2242.
2005-05-04 23:10:11 +00:00
05a2ec78d3 add default ctors for XMBElement and XMBElementList (required by ReadXML closure)
This was SVN commit r2234.
2005-05-03 21:39:51 +00:00
22ee082694 - more accurate progress calculation (avoids accumulating errors)
- revised time accounting allows updates during a task that's
interrupted
- cleaned up LDR_NonprogressiveLoad

This was SVN commit r2233.
2005-05-03 21:39:03 +00:00
1f1642bfe3 revise thunks to not free their MemFun_t if the registered function times out
This was SVN commit r2232.
2005-05-03 21:37:49 +00:00
f0e311440e all functions called via delay-load mechanism now return int (allows closures that can interrupt themselves when time is up)
This was SVN commit r2231.
2005-05-03 21:36:57 +00:00
f34cd1ee08 more revisions to comments to match dox
This was SVN commit r2229.
2005-05-03 16:57:56 +00:00
b8cb80898f split common error handling code into macro.
documented each function (contents from wiki)

This was SVN commit r2228.
2005-05-03 16:41:09 +00:00
c79a71ec4d This was SVN commit r2225. 2005-05-03 05:16:10 +00:00
ee9757b79b - add usage comment for each function
- remove unnecessary vfs_exists
- improve error handling
- <path> is already dir+name

This was SVN commit r2224.
2005-05-03 05:15:18 +00:00
03a3fd6091 update EnumDirEnts docs. disambiguate <path> parameter - it's dir+name
This was SVN commit r2220.
2005-05-03 05:03:27 +00:00
MarkT
c8cd52578a Put the extra animation event in the struct def, also adding Jan's VFS script wrapper.
This was SVN commit r2218.
2005-05-03 04:27:07 +00:00
87f4cc2592 This was SVN commit r2212. 2005-05-02 19:47:06 +00:00
MarkT
db168702df Jason's animation events. Also reworked entity-types system.
This was SVN commit r2209.
2005-05-01 19:09:13 +00:00
dc210f9f0e playercolor adjustments
This was SVN commit r2205.
2005-05-01 11:51:07 +00:00
64c7bbd91d Player color tweaks
This was SVN commit r2202.
2005-05-01 00:05:34 +00:00
889b81433a [Subtle hint to the autobuilder that it might want to upload the newest version...]
This was SVN commit r2192.
2005-04-29 04:46:14 +00:00
7327e942d6 replaced Ykkrosh clone with "Clausewitz". exercise for the reader: who's that? >:-)
This was SVN commit r2176.
2005-04-26 20:49:08 +00:00
MarkT
bcabe3aa53 Script integration work - valueOf() is no longer required most of the time; also property-change watches and enumeration over entities (but not yet other native objects), rudimentary beginnings of a global events system, and adjusted the status orb to update only on changes.
This was SVN commit r2157.
2005-04-22 07:12:55 +00:00
MarkT
2120576bc7 Gathering and unit training (engine-side); also other minor improvements
This was SVN commit r2132.
2005-04-15 04:23:33 +00:00
d2948937a0 Fixed prop player-colouring. Allowed per-object colours. (Coming soon: data to demonstrate it.)
This was SVN commit r2113.
2005-04-07 04:29:07 +00:00
6a0b5fa0ab ScEd: Added unit deletion. Made zoom less frustrating. Let >2 players work.
Fixed random actor props.

This was SVN commit r2109.
2005-04-03 05:02:00 +00:00
5e742f5615 Setup all the sample players in SP games [bug #52]
This was SVN commit r2099.
2005-03-31 05:14:17 +00:00
0eb78450c0 Maybe fixed GUI event-handler function things. Other minor changes and fixes.
This was SVN commit r2096.
2005-03-30 22:33:10 +00:00
MarkT
701fd17595 Sorry, SVN doesn't seem to be picking up modifications today.
This was SVN commit r2093.
2005-03-30 18:32:16 +00:00
MarkT
bb7a22f32a First draft of a GPG3-style profiler (including tracing into scripts, after a fashion)
This was SVN commit r2090.
2005-03-30 16:14:19 +00:00
8b12c84df7 ScEd: allowed creation of non-entity objects, pending total entitisation
This was SVN commit r2085.
2005-03-30 05:43:22 +00:00
22dd4dd67b Entities: Removed Tag attribute; it is taken from the filename instead. Made entity XML files be loaded on demand. Probably stopped crash when maps contain non-existent entities. Fixed a few bugs in entity definitions.
Maps: Stored non-entity objects in XML instead of PMP, for easier manual
editing. Updated existing maps to newest format, so that they can still
work. Added undocumented _rewriteMaps() JS function. Also renamed _mem
to vmem, and reclassified its undocumentedness as unintentional, since
it's reasonably useful.
Loader: added NonprogressiveLoad function, for ScEd/_rewriteMaps/etc
which don't care about progressiveness.
main.cpp: re-enabled vfs_display, since it doesn't crash now
Vector3D: stopped warning

This was SVN commit r2078.
2005-03-29 20:50:04 +00:00
MarkT
3c99f0f2eb Minor JavaScript updates
This was SVN commit r2073.
2005-03-28 22:13:47 +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
a1981970e5 new EnumDirEnts call; replaces previous implementation in BaseEntityCollection.cpp that didn't handle subdirectories
This was SVN commit r2057.
2005-03-27 01:44:41 +00:00
ba636ca96c wposix: fix for USE_MMGR: undef getcwd
singleton: switch to assert2
loader: simpler HaveTimeForNextTask check

This was SVN commit r2056.
2005-03-27 01:37:10 +00:00
020645d583 Hacked up ScEd a bit, to disable its actor editor and to let users place entities (rather than actors) on the map.
This was SVN commit r2039.
2005-03-22 23:31:30 +00:00
f19d8dafee improved update frequency and accuracy of progress bar (by splitting up more init functions).
also add thunk mechanism to ease binding to member functions;
finally, added instrumentation to measure how long functions really take

This was SVN commit r2038.
2005-03-22 21:00:56 +00:00
5b11dbb6b0 Corrected string conversion slightly
This was SVN commit r2034.
2005-03-22 12:09:11 +00:00
6d792365aa rough but functional loading progress bar support.
numerous TODOs remaining - initial update instead of only after
completing first job; fix GUI overdraw issue; decrease granularity
(currently only 3 updates)

This was SVN commit r2033.
2005-03-22 02:17:55 +00:00