Commit Graph

134 Commits

Author SHA1 Message Date
Matei d9702ca590 Added dependency on comsuppw to fix VC2005 build.
This was SVN commit r5216.
2007-06-30 16:45:24 +00:00
Ykkrosh ec9b5c982e Replaced Windows SpiderMonkey library with a threadsafe build of version 1.6.
Fixed linking with wxWidgets.
Enabled RTTI for non-engine packages.
Fixed wxJS for Windows.
Fixed failure to load on Windows 2000 due to IsWow64Process import.
Fixed trivial warnings.

This was SVN commit r5155.
2007-06-09 02:40:48 +00:00
janwas 4fbaea3780 # fix for exceptions when not running in debugger
move exception-specific stuff into wseh. it now grabs the entry point
and wraps it in a __try block (but only for the main EXE).
this works around issues with the previous SEH registration code
(exceptions weren't caught in release mode when not running in debugger)

This was SVN commit r5151.
2007-06-08 17:44:24 +00:00
janwas 2405a98b58 fix for immediate exit in autobuilt EXE
(problem was the vc7 linker stripping out stuff that we needed)

This was SVN commit r5149.
2007-06-07 19:32:13 +00:00
Ykkrosh 914e5f7c2f Rename stdafx.h to precompiled.h
This was SVN commit r5146.
2007-06-05 18:35:05 +00:00
Ykkrosh 4e83672579 # Added scripting support to the scenario editor UI
Added modified version of wxJavaScript.
Added Atlas script interface.
Rewrote the Map sidebar in JS.

This was SVN commit r5144.
2007-06-05 18:16:55 +00:00
janwas db189468a9 (update-workspace required)
found another means of doing startup/shutdown that doesn't require
hooking and allows init callbacks to use CRT functions (avoiding
problems similar to the recent rash of pre-libc bugs). also, callback
registration no longer needs ugly #pragma syntax.

remove 'Detours' (evil and no longer needed)

This was SVN commit r5137.
2007-06-04 00:00:57 +00:00
Ykkrosh c3de4710d3 Reverted update-workspaces.bat
This was SVN commit r5127.
2007-06-02 15:24:20 +00:00
janwas cf89464e64 # autobuilder fix
detours is configured as a static lib, which would require using the
same compiler, but we have several in action.
fix: include a stripped down version of its code in the main source tree

This was SVN commit r5126.
2007-06-02 12:43:42 +00:00
Ykkrosh 6b6b6198f9 # Linux ICC compatibility.
Don't disable PCH in AtlasUI for non-GCC builds.
Prevented some excessive warnings ("implicitly-signed bit field of
length 1").
Removed (wcs|str)nlen functions on OS_UNIX, since they were already
removed from the .h.

This was SVN commit r5125.
2007-06-01 00:34:36 +00:00
Ykkrosh d90975ee1e # Slightly improved Linux compatibility for Atlas.
Properly enabled PCH in GCC.
But wx 2.8 (with anonymous namespaces) and GCC <4.2 and PCH conflict, so
PCH is disabled when building AtlasUI on broken compiler versions.
Removed media player, because it's useless and makes building harder.
Removed unnecessary wx linking.

This was SVN commit r5122.
2007-05-31 01:47:17 +00:00
janwas 7fe6c3d77f add detours library for API hooking.
(update aken driver while at it)

This was SVN commit r5107.
2007-05-28 15:01:29 +00:00
janwas 349d9b9afe add whrt dir, remove winmm delayload and dsound dependency
(workspace must be updated)

This was SVN commit r5095.
2007-05-26 17:17:47 +00:00
janwas 9d2acce9d8 # SwEng/cleanup
- deleted most old libraries/headers in codepit to avoid confusion (they
are now in SVN anyway). updated required-libraries-linux.txt accordingly
- moved rand() into separate file, out of lib.cpp
- removed CGUIScrollBarStyle.cpp to avoid empty-file warning
- wxwidgets.h: remove redundant #pragma lib and include wxw PCH
- move openal-specific stuff to external_libraries/openal.h
- cpu, bsd: macosx is-a bsd, so only test OS_BSD

This was SVN commit r5082.
2007-05-18 00:14:26 +00:00
olsner 7d4af5979b Fixes for the Mac.
# The engine now builds and runs on Mac OS X.

Most changes were localized to the sysdep/ folder and the build system.
This
is what porting should be like! Hopefully nothing breaks on the other
platforms though ;-)

This was SVN commit r5081.
2007-05-17 03:37:49 +00:00
janwas 31a60bf1d8 - debug version of xerces libs and updated headers
- update premake for wxw 2.8 and make some required fixes in
VideoRecorder.cpp

This was SVN commit r5068.
2007-05-13 10:27:48 +00:00
janwas d69a0c52bb update OpenAL include/lib from SDK (nothing really changed in the header)
add crypto++ to libraries (will later be used for checksums)

This was SVN commit r5058.
2007-05-11 09:41:46 +00:00
janwas b918fec071 add new directories
This was SVN commit r5033.
2007-05-05 17:36:24 +00:00
Seth 3c1bcde78f Replaced
#include <malloc.h>
with
#include <stdlib.h>

Because it caused some build errors on the Mac OS X

This was SVN commit r5002.
2007-04-28 16:23:50 +00:00
janwas ab22765232 add new source dir (requires rebuilding workspace)
This was SVN commit r4996.
2007-04-25 18:32:07 +00:00
Ykkrosh ccf4425f75 # Linux fixes
update-workspaces.sh: Ensure 'gcc' directory exists, to avoid confusing
errors.
extern_libs.lua: Don't use libraries/ (except for cxxtest and fcollada)
on Linux. Changed to native EOL.

This was SVN commit r4991.
2007-04-24 20:41:54 +00:00
janwas 58aaff1ff2 explain how/where to build premake
This was SVN commit r4987.
2007-04-23 08:34:16 +00:00
Ykkrosh 49efe728fd Added binaries and some example data for COLLADA conversion.
Added FCollada 3.02 library files (but Collada*.dll is not built by
default since it doesn't work in VS2003 (because the FCollada*.dll files
use the VC80 CRT)).
Changed Premake to use optimize-speed instead of optimize, since the
latter does /Ox (in MSVC) which is kind of unofficially deprecated.

This was SVN commit r4935.
2007-03-01 22:34:38 +00:00
Ykkrosh 236224eea9 # Updated video encoding library.
(in particular the one file that I'd forgotten about when updating the
rest)

This was SVN commit r4928.
2007-02-25 22:08:31 +00:00
Ykkrosh c2b119e721 # Linux fixes.
Disabled CONFIG_USE_MMGR by default, since it seems unnecessary and it
makes debug builds slow (extremely slow under Valgrind) due to symbol
lookups when allocating memory.
Fixed minor warnings and errors.

This was SVN commit r4927.
2007-02-25 21:11:57 +00:00
janwas 27b6ffe2d6 # housekeeping
sorry, update-workspaces + rebuild is necessary (moved boost/utility
into PCH)

- ps/ : committed additional documentation on behalf of Joe.
- lib/ : HAVE_C99 - replace with specific e.g. HAVE_NPRINTF; intended to
help with MacOSX compat (by no longer requiring us to lie about
STDC_VERSION)
- NO_COPY_CTOR -> boost::noncopyable

This was SVN commit r4825.
2007-02-01 01:34:17 +00:00
Ykkrosh 8a9ddae60b Oops, I broke GCC PCH a month ago. Fixed, and added a comment so I now know why it does what it does.
Also, updated the dependency checking so it rebuilds the PCH file when
included files change.

This was SVN commit r4813.
2007-01-26 21:16:49 +00:00
Ykkrosh 3573c4a4e3 # Optimisations for Linux
GCC: Don't export symbols from DSOs by default - see
http://gcc.gnu.org/wiki/Visibility

This was SVN commit r4812.
2007-01-26 18:26:45 +00:00
Ykkrosh 2d4f5478de Added ICC-Linux PCH support in Premake. (It's much more like the MSVC approach than the GCC one.)
Passed --have-std to CxxTest so it always adds the same code before
including precompiled.h, so that the PCH is usable.

This was SVN commit r4736.
2007-01-04 03:22:23 +00:00
Ykkrosh 0bdc1c22c8 # Made the Atlas scenario editor partly work on Linux.
- Made the canvas get shown before it's used.
 - Added some bits of SDL initialisation so that SDL_GL_GetProcAddress
is happy.
SnapSplitterWindow: fixed virtual override.

This was SVN commit r4735.
2007-01-03 15:45:13 +00:00
Ykkrosh 1926317975 # Linux/ICC fixes
- added "--icc" Premake flag, to disable PCH and set different warning
flags
 - added required headers
 - changed debug_warn to not generate constant-expression-in-conditional
warnings
 - changed FAM popup-warning into a log message, so it's not so
irritating
 - Atlas: pass around wxGLCanvas instead of wxGLContext, because the
context is sometimes just NULL

This was SVN commit r4733.
2007-01-02 18:11:00 +00:00
janwas ebfd7910cf fixes: (after testing on other machine)
- add newly added dirs to premake.lua
- self_test is in lowlevel project and thus doesn't have cxxtest include
path set => must not include self_test.h
- wposix: make each _CRTIMP declaration extern "C" (can't rely on
definition of _CRTIMP, nor that the header is wrapped in extern "C" {})

This was SVN commit r4730.
2007-01-01 22:54:42 +00:00
Ykkrosh 8b7d1fcfb3 * Moved command-line options list from system.cfg into readme.txt. Updated the list to reflect reality. Removed -novbo option because you can use the .cfg file instead.
* Changed log files to trigger standards mode in Firefox (to be
consistent with other browsers), by making it valid HTML5. Changed the
font and some spacing.
 * Made CLogger default to ignoring messages if it hasn't been
initialised yet, instead of crashing.
 * Added leak reporting to the unit tests.
 * Renamed mods/_tests to mods/_test.xero, since it's only used by
Xeromyces and the other tests use mods/_test.otherstuff instead.
 * Fixed Atlas compilation on Windows.
 * Moved Atlas's DLL-loading code into a separate class, so it can be
shared.

This was SVN commit r4707.
2006-12-20 03:09:21 +00:00
Ykkrosh 13f2e3ca0c Tried compiling with ICC9 on Linux, which raised various issues:
* Fixed some bugs with incorrect macro usage (SDL_BYTE_ORDER vs
SDL_BYTEORDER, {MSC,GCC}_VER vs {MSC,GCC}_VERSION, OS_WIN/OS_UNIX in
projects where they're not defined).
 * Removed some redundant declarations of g_Console.
 * Removed some unnecessary semicolons.
 * Removed some unused variables.
 * Added throw specification to operator new.

This was SVN commit r4698.
2006-12-16 01:01:15 +00:00
Ykkrosh cbafd43eea # Changed handling of command-line arguments.
* Added CmdLineArgs, which does the parsing then lets various pieces of
code check for whatever arguments they want.
 * Made Atlas exit out of main() cleanly, instead of calling exit()
itself.
 * Disabled the global exception-catching in unit tests, via a
entry_noSEH, so it doesn't make debugging harder.
 * Added nice printing of CStr in unit test failure messages, and added
comparison of vector vs constant array.

This was SVN commit r4688.
2006-12-09 14:39:52 +00:00
Ykkrosh da266ebcb8 GCC compatibility for COLLADA converter
This was SVN commit r4683.
2006-12-06 17:39:49 +00:00
Ykkrosh 8fa6b12568 # Initial COLLADA support.
Just does static geometry at the moment.

This was SVN commit r4680.
2006-12-06 00:06:05 +00:00
Ykkrosh 2c71c22045 # Added basic video recording.
* Included FFmpeg library for video encoding. (LGPL, dynamically
linked.)
 * Added 'record' button to cinematics - plays the selected track at a
fixed framerate, and saves the output to a video file (preferably
MPEG4). Slightly lacking in reliability and features (fixed at 640x480,
no choice of codec, probably crashes horribly if any problems occur
while encoding, etc).
 * Moved icon bitmaps out of mods directory. Added 'record' icon.

This was SVN commit r4676.
2006-12-05 02:35:00 +00:00
Ykkrosh e6cab9495e Generate documentation for all source (except tools), with more sensible project hierarchy
This was SVN commit r4669.
2006-12-01 20:42:30 +00:00
Ykkrosh 4d8133f785 # Fixes for MSVC
Use _WIN32/__WXMSW__ instead of OS_WIN.

This was SVN commit r4668.
2006-12-01 20:34:28 +00:00
Ykkrosh 835003d525 # Fixes for GCC
Renamed 'not' to 'negated', since 'not' is special in C++. Added some
includes, etc.

This was SVN commit r4665.
2006-11-29 23:37:10 +00:00
olsner 35ac7776ee GCC PCH support: closes #155, and decreases build times by a BUNCH!
Changed the default to generating PCH's for all platforms and added a
premake
command line option --without-pch, in case it breaks somewhere (but
AFAIK, Mac's
use recent enough versions of GCC, so it should be fine).

# Added support for precompiled headers into the Linux build system.
Build times are now significantly reduced (up to 50%!)

This was SVN commit r4642.
2006-11-12 19:46:47 +00:00
olsner 05c9525fdc update-workspaces.sh: generate atlas makefiles by default
*.lua: some extra libraries and options to make atlas work
premake:
- fixed #156 (creation of spurious dirs with strange permissions)
- implemented the "run" project kind to run the tests automatically
- changed the clean target for cxxtestgen projects to delete the
generated .cpp
files so that a make clean all actually regenerates the tests.

This was SVN commit r4639.
2006-11-12 03:39:40 +00:00
Ykkrosh de0f893c18 Recompiled Premake on Windows. Added some headers so HAVE_PCH=0 works in MSVC.
This was SVN commit r4442.
2006-09-30 21:36:19 +00:00
Ykkrosh d0dd86d0b4 # Fixed unit test build system on Linux
This was SVN commit r4441.
2006-09-30 21:09:02 +00:00
Ykkrosh 2763d3a311 Made CxxTest work a bit more on Linux
This was SVN commit r4438.
2006-09-30 18:47:24 +00:00
dave b899ff6823 Premake need to be changed to create makefiles which work on OSX
updated the lua to handle os x project files

This was SVN commit r4293.
2006-09-04 16:33:47 +00:00
Ykkrosh 35e91718c5 # Added tool for viewing models and animations outside the game.
Atlas: Added ActorViewer. Moved GL canvas into separate class for shared
use. Disabled message-handling callback while blocked on the game, and
stopped creating dialog boxes inside the game thread in order to avoid
deadlocks (hopefully). Support multiple Views (for independent sets of
camera/update/render code). Recalculate territory boundaries when
necessary. Changed default list of animations to match those currently
used by actors.
# Tidied up more code.
Moved some more #includes out of .h files, to minimise unnecessary
compilation.
MathUtil: Deleted unused/unuseful macros (M_PI (use PI instead), M_PI_2
(use PI/2), MAX3, ABS (use abs)).
ObjectManager: Removed some ScEd-specific things.
Unit: Moved creation out of UnitManager, so units can be created without
adding to the manager. Changed CStr8 to the more conventional CStr.
app_hooks: Removed warning for setting multiple times.
win: Restored SEH catcher.
GameSetup, GameView: Removed RenderNoCull, because it doesn't seem to do
what it says it does ("force renderer to load everything") since we're
loading-on-demand most stuff and it doesn't seem especially useful since
we'd prefer to minimise loading times (but feel free to correct me if
I'm wrong). (And because it crashes when things need to be initialised
in a different order, so it's easier to remove than to understand and
fix it.)
PatchRData, Renderer: Work sensibly when there's no game (hence no LOS
manager, water, etc).
LOSManager: Use entity position instead of actor position when possible.
TerritoryManager: Allow delayed recalculations (so Atlas can issue lots
of move+recalculate commands per frame).
Cinematic: Non-pointer wxTimer, so it doesn't leak and doesn't have to
be deleted manually.

This was SVN commit r4261.
2006-08-28 17:36:42 +00:00
janwas bc24974496 # sweng
forward declare SDL_event. remove SDL dependency of network code.
refs #140

This was SVN commit r4252.
2006-08-26 21:52:18 +00:00
janwas 4114d24d3e (pt2 - tortoiseSVN didn't want to do "recursive commit of dir deletion")
This was SVN commit r4250.
2006-08-26 20:26:17 +00:00