Commit graph

211 commits

Author SHA1 Message Date
janwas
48360edf21 noticed during testing that the file cache is much smaller than our dataset; added logic to choose a decent size. rebuild-workspaces required.
wversion: move into separate component from wutil to allow inclusion
from GameSetup without pulling in windows.h (causes conflicts)

This was SVN commit r8319.
2010-10-09 21:14:08 +00:00
Ykkrosh
a4e47abf34 Stop suggesting the now-unnecessary libtxc_dxtn when S3TC support is missing
This was SVN commit r8315.
2010-10-09 16:07:41 +00:00
Ykkrosh
6c7830df3f Rename CTextureManager and CTextureEntry since they are only for terrain textures
This was SVN commit r8076.
2010-09-04 21:26:52 +00:00
Ykkrosh
2529ae2a7b Fix #543 (Replace skybox with black background), based on patch from Jayschwa
This was SVN commit r8018.
2010-08-21 22:43:35 +00:00
Ykkrosh
b292a32505 Add JS memory usage to profiler.
Add dumpHeaps() console function for debugging JS memory usage.
Increase default JS heap size.
Make call-time profile table appear first when toggling.
Remove some unused script functions.

This was SVN commit r7842.
2010-08-02 19:23:58 +00:00
Ykkrosh
8286218cad Delete lots of obsolete unused script-interface code.
Delete unused code from various other places.

This was SVN commit r7839.
2010-08-01 20:56:34 +00:00
Ykkrosh
9674c3c0fe Remove ScriptingHost initialisation code (share with ScriptInterface instead).
Fix GUI scripts to avoid strict warnings.
Rejig GUI/SpiderMonkey interface to use less custom code, and to work
with JSOPTION_VAROBJFIX.
Add event name to GUI event handler function names (visible in the
profiler).

This was SVN commit r7769.
2010-07-19 23:01:58 +00:00
Ykkrosh
88f25849b3 Windows fixes
This was SVN commit r7715.
2010-07-07 22:23:18 +00:00
Ykkrosh
4b06ebd52d Add basic help page into the main menu.
Add buttons to open the web site and IRC.
Tentatively allow Atlas to be launched from the menu.
Add some shutdown functions to support relaunching into Atlas without
having to restart the whole process.

This was SVN commit r7714.
2010-07-07 21:47:31 +00:00
Ykkrosh
31699e830d Handle disconnections better.
Remove local sessions (just use ENet for everything instead) because
they add far too much complexity.
Fix memory leaks.

This was SVN commit r7706.
2010-07-06 19:54:17 +00:00
janwas
d2cf6ceb88 less global variables: make most uses of g_VFS explicit (required for another app that has two VFSes), g_yres is no longer required by cursor module
This was SVN commit r7686.
2010-07-04 10:15:53 +00:00
Ykkrosh
56b836f58d Call enet_initialize (see previous commit message). Fixes #509.
This was SVN commit r7681.
2010-07-03 19:31:14 +00:00
Ykkrosh
051aa70940 Basic disconnection handling.
Pre-game chat.
Fix dynamic updates of focused input controls.
Allow scrollable texts to automatically scroll to the bottom.
Force usernames to be unique.

This was SVN commit r7664.
2010-07-02 21:28:48 +00:00
Ykkrosh
1c0536bf08 # Refactored the networking code, and redesigned the game setup screen.
Major updates to most network classes.
Simplify CNetServer so it doesn't duplicate any client behaviour; all
players now run CNetClient.
Remove most player/slot management from networking code.
Wait for all players to finish loading before starting the simulation.
Remove CGameAttributes; attributes are now just a JS object.
Remove CPlayer; they are now just simulation entities.
Handle player colours via simulation system.
Add a default map for Atlas, so it always has something to load.
Move network documentation to Doxygen.
Remove lots of now-unused code.

This was SVN commit r7653.
2010-06-30 21:41:04 +00:00
Ykkrosh
dfb10c8209 # Various networking code cleanups.
Don't flush network queue after every message.
Desingletonify CGameAttributes to allow testing.
Make network server/client basically testable.
Add very basic tests for network server/client.
Fix FsmActionCtx memory leak.
Split CNetHost into a separate file.
Convert CNetHost, CNetSession to a more conventional coding style.
Delete CNetLogger, since it's a lot of complexity and is barely used and
is redundant with CLogger.
Other minor simplifications.

This was SVN commit r7623.
2010-06-07 22:19:05 +00:00
Ykkrosh
2c160e5bd8 Delete script scheduler, since it causes GC crashes and isn't used for anything important and could be implemented in pure JS instead.
This was SVN commit r7622.
2010-06-07 18:41:03 +00:00
Ykkrosh
d3048906cb # Unit animation improvements.
Animate props much more sensibly.
Move ammo code out of CUnit.
Move animation logic out of CModel.
Launch projectiles from the correct location.
Use entity's speeds and sounds in actor viewer.
Add -nosound option to disable audio, and allow audio by default in
Atlas.
Remove some obsolete options.

This was SVN commit r7609.
2010-06-05 00:49:14 +00:00
Ykkrosh
0f611042b1 # Support alt+enter to toggle fullscreen mode. Make game window resizable.
Refactor the video mode setting logic to cope better with dynamic
changes.

This was SVN commit r7606.
2010-06-03 19:07:59 +00:00
Ykkrosh
23ab6dad38 Make session GUI visible and usable when playtesting from Atlas.
Fix Atlas icon on non-Windows.
Remove some nonexistent-hotkey config.

This was SVN commit r7602.
2010-06-02 00:36:21 +00:00
Ykkrosh
65cf204423 Display warnings and errors on screen for a short time (fixes #119).
Add warn(), error() functions for simulation scripts.

This was SVN commit r7600.
2010-05-31 22:44:59 +00:00
Ykkrosh
7dca91f26b # Various changes to the text rendering system.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.

This was SVN commit r7595.
2010-05-30 13:42:56 +00:00
Ykkrosh
56bb858802 # Delete a lot of obsolete simulation code.
This was SVN commit r7555.
2010-05-20 18:09:23 +00:00
Ykkrosh
a78e6dbe26 # Delete a lot of obsolete networking code.
Remove the -sim1 flag since it no longer works.

This was SVN commit r7554.
2010-05-20 17:58:37 +00:00
Ykkrosh
c684c211a2 # Basic experimental multiplayer integration with new simulation system.
Add new turn manager that should be more correct and potentially more
efficient.
Remove evil CNetServer/CNetClient multiple inheritance of CTurnManager.
Add multiplayer autostart.
Various minor cleanups.

This was SVN commit r7551.
2010-05-20 00:59:01 +00:00
Ykkrosh
78ccac427d Remove -fixedframe mode since it doesn't work at all
This was SVN commit r7549.
2010-05-20 00:55:02 +00:00
Ykkrosh
4a4bc50ff8 Fix non-PCH compiles
This was SVN commit r7537.
2010-05-11 13:24:25 +00:00
Ykkrosh
93c30810c8 Fix tests. Tidy up some old files.
This was SVN commit r7507.
2010-05-07 16:32:33 +00:00
Ykkrosh
fe53bce3b1 Rewrite the clone-object-between-JS-contexts code (for GUI<->simulation interface) to be more efficient.
Delete unnecessary unused incomplete profiler scripting support.
Clean up some JSAPI code to use newer features.
Display simulation script functions in the profiler.

This was SVN commit r7503.
2010-05-05 22:36:35 +00:00
Ykkrosh
e140aa7baf Avoid running the old simulation code in the background when it's not needed.
Optimise GUI updates to only occur when necessary.
Switch to more peaceful music after starting the game.

This was SVN commit r7492.
2010-05-01 16:20:58 +00:00
Ykkrosh
40688ec5df # Initial support for automatic validation of entity template XML.
Add RelaxNG schemas for all current components.
Add -dumpSchema command-line option to dump the combined entity schema.
Add a Perl script to validate entity templates against the schema.
See #413.

This was SVN commit r7452.
2010-04-09 19:02:39 +00:00
Ykkrosh
13302cc133 Disable visible warnings when gamma-setting fails. Fixes #480.
This was SVN commit r7410.
2010-03-28 18:33:35 +00:00
Ykkrosh
ccbc8d534a Show DRI S3TC message on all platforms that probably use Mesa. See #313.
This was SVN commit r7402.
2010-03-26 17:22:13 +00:00
Ykkrosh
00e18e4ea8 Report S3TC non-support with an in-game GUI message box.
Fixes #313.

This was SVN commit r7390.
2010-03-23 22:45:07 +00:00
janwas
a8b3cc4812 add both the (potentially) read-only data from SVN and the appdata path to the config/ search path
(fixes #450)

This was SVN commit r7382.
2010-03-20 21:37:14 +00:00
janwas
4059826759 when mounting a mod, don't attempt to create the directories (it's reasonable to assume the mod must exist, there is no value in creating a dummy mod directory - unlike the screenshots/logs etc. mounts)
this fixes write errors because mods/internal doesn't exist in public
SVN checkouts and the default mount logic tries to mount internal anyway
(and now just fails that operation silently)
fixes #458

This was SVN commit r7375.
2010-03-20 18:12:48 +00:00
janwas
73f67a2272 set crashlog location as soon as it is known to avoid writing to the default location (system/binaries), which might not be writable.
fixes #403

This was SVN commit r7373.
2010-03-20 17:20:23 +00:00
janwas
a7484933e7 wchar.h -> utf8.h (see previous change)
This was SVN commit r7341.
2010-03-01 14:55:34 +00:00
olsner
5bb14c7a59 Misc. unity fixes (missing includes, undefs, and other things that could be considered generic cleanup)
This was SVN commit r7328.
2010-02-18 00:06:50 +00:00
Ykkrosh
bd4cd244cf Make -autostart=mapname more useful with new sim system
This was SVN commit r7306.
2010-02-03 20:46:05 +00:00
Ykkrosh
7c2e9027c2 # Rewrite of the game's simulation system
Giant merge from
http://svn.wildfiregames.com/hg-source/file/5fb522019d5e
Infrastructure is largely complete, gameplay is largely missing
Disabled by default; use command-line flag "-sim2"
(Second attempt at commit...)

This was SVN commit r7259.
2010-01-09 19:20:14 +00:00
Ykkrosh
f0d9806b3f # Restructured GUI implementation
CGUI now represents a single 'page'. CGUIManager maintains multiple
pages and switches between them.
Split the XML files into pregame, loading, session and messagebox pages.
Added hotloading of GUI pages.
Minor GUI cleanups.
(Merge from hg 81862d33780c)

This was SVN commit r7214.
2009-12-03 20:17:22 +00:00
janwas
ff15c522fe implement changes suggested by Philip:
- add self-test
- allow decoding UTF8 values beyond BMP (and replace them later)
- quietly replace invalid bytes

This was SVN commit r7187.
2009-11-09 20:53:48 +00:00
janwas
450da0aaf7 rename [w]string_to_[w]string UTF8
add safer/more portable/less dependent on locale implementation of
wchar_t <-> UTF8

This was SVN commit r7185.
2009-11-09 14:52:51 +00:00
janwas
f432d9d18b fix dehydra warnings (some of which were dangerous pass-user-string-as-format-string vulnerabilities)
This was SVN commit r7177.
2009-11-07 09:32:19 +00:00
Ykkrosh
3334c83ce0 Fix build and tests on Linux
This was SVN commit r7174.
2009-11-06 18:35:32 +00:00
janwas
8fefedb5ae fix: native and vfs directory paths should end with '/' (more code cares about this now)
refactor: simplify dir_watch_Poll interface (returns vector)
wdir_watch: major refactor: use shared_ptr for reference-counting shared
watch state
remove no longer needed path_util functions

This was SVN commit r7168.
2009-11-05 20:46:15 +00:00
janwas
b48e877f5b VFS fixes+refactoring
- fix: archive_zip: avoid crash if zip file contains empty filenames
- real_directory: enable dir watch
- refactor vfs_tree interface (move recursive calls into VFS)
- VFS: return text representation instead of only printing it

This was SVN commit r7165.
2009-11-04 17:26:54 +00:00
janwas
da3030cfe6 more unicode/string cleanup:
- swprintf -> swprintf_s
- use secure_crt's _wfopen_s instead of conversion+fopen
- centralize all MBS <-> WCS conversion in new wchar.cpp (requires
workspace rebuild)
- remove no longer needed os_path
- remove unnecessary fs::wpath / VfsPath constructor casts
- fixed buffer size parameters -> ARRAY_SIZE

This was SVN commit r7162.
2009-11-03 22:27:25 +00:00
janwas
8a52113e60 huge cleanup and conversion of most string handling (especially paths) to unicode
please note: format strings must be %hs for char* arguments and %ls for
wchar_t*

This was SVN commit r7161.
2009-11-03 21:46:35 +00:00
janwas
10cc678ffb move Paths into separate file (requires update-workspaces)
This was SVN commit r7088.
2009-08-08 11:11:26 +00:00