Commit graph

48 commits

Author SHA1 Message Date
Itms
404e1a9a4a Add a mod installer, fixes #4027.
pyrogenesis can now take a zip file (rename it to .pyromod for direct
file association following 943a61e4ea) and install it. It then starts
the mod selector.

Patch by vladislavbelov, with contributions from Imarok, elexis and
myself.
Differential Revision: https://code.wildfiregames.com/D1142
This was SVN commit r21726.
2018-04-15 01:46:28 +00:00
vladislavbelov
7e239f38a3 Adds a wireframe mode to the water rendering.
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D769
This was SVN commit r20378.
2017-10-30 00:02:29 +00:00
elexis
09e974e1cb Bump year number of files changed this year in the license headers.
This was SVN commit r19503.
2017-05-01 14:28:22 +00:00
wraitii
1db8562d05 Revert and fix 4523c50850: fix water disappearing in Atlas when clicking on the object tab.
Reviewed by wraitii.
Differential Revision: https://code.wildfiregames.com/D329
This was SVN commit r19425.
2017-04-17 08:59:12 +00:00
elexis
417c84870c Actually remove trailing tabs from source/.
This was SVN commit r18991.
2016-11-23 14:09:58 +00:00
historic_bruno
d644845ae5 Fixes Atlas on Linux with SDL2 by reordering OpenGL init, based on patch by yashi, fixes #2847
This was SVN commit r16356.
2015-02-20 05:46:24 +00:00
historic_bruno
7f1fd01174 Moves some includes out of Renderer.h to slightly optimize compilation
This was SVN commit r15912.
2014-10-28 03:57:22 +00:00
leper
be2f0e69fc Make the modmod standalone.
Mount public in case we are starting Atlas and no mods are specified in
the config.
If users remove all mods and save this to the config and try to start
Atlas it will
crash, as it cannot find some needed files.

This was SVN commit r15678.
2014-08-25 16:38:54 +00:00
leper
523d220ac5 Add engine support to load mods from config and restart into mods.
Restructure mod mounting code a bit to make it reusable, and use it for
replays. Fixes #2703.

This was SVN commit r15676.
2014-08-25 16:02:40 +00:00
historic_bruno
f947fa6afe Fixes stack overflow in stack dump logic, by special-casing boost::unordered types, fixes #1813.
Adds INIT_HAVE_DISPLAY_ERROR init flag to correctly override
ah_display_error in Atlas (InitVfs was overriding it again), but don't
use it because it's ugly and broken, refs #1729

This was SVN commit r13724.
2013-08-20 21:07:42 +00:00
historic_bruno
772b38e6be Fixes player colors in actor viewer, based on patch by mk12. Fixes #1022.
This was SVN commit r11527.
2012-04-17 01:26:24 +00:00
vts
4cb7972ec2 Renamed some Atlas classes and g_GameLoop to better reflect their Atlas-related nature and to lower potential confusion with similar main-game-related functionality. Refs #678.
This was SVN commit r11232.
2012-03-03 23:48:04 +00:00
historic_bruno
fc27a5c0ea More FreeBSD build fixes.
Fixes some warnings about files that don't end with newline.

This was SVN commit r10991.
2012-01-30 06:21:11 +00:00
historic_bruno
893cb2668e Renames our sdl.h to libsdl.h, to avoid case sensitivity errors when it includes SDL.h.
This was SVN commit r10904.
2012-01-12 23:32:27 +00:00
historic_bruno
5bf70e52de Fixes Atlas startup in Windows when using SDL.
This was SVN commit r10855.
2012-01-02 22:48:43 +00:00
vts
427674f713 Fix for compilation failure of [10703] on 64-bit systems
This was SVN commit r10705.
2011-12-10 11:53:39 +00:00
vts
fbb0e3995f Added prop point axes markers to Atlas' Actor Viewer panel
This was SVN commit r10703.
2011-12-10 05:11:25 +00:00
Ykkrosh
e7f0639054 Set Atlas canvas size before potentially rendering to it. Fixes #987.
This was SVN commit r10526.
2011-11-13 12:57:34 +00:00
historic_bruno
769a927446 Changes Atlas toolbar construction to use CreateToolBar instead of explicitly setting it (which doesn't work on wxOSX 2.9).
Adds a call to Atlas_GLSetCurrent after setting Atlas resolution on OS X
(otherwise the canvas doesn't seem to update properly).

This was SVN commit r10129.
2011-08-28 21:10:45 +00:00
Ykkrosh
3eed24a338 Fix Mesa S3TC-enabling to work in Atlas
This was SVN commit r8433.
2010-10-21 23:44:54 +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
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
11a20e1bcf # Handle terrain passability and movement costs in pathfinder.
Simplify terrain code (remove Handle indirection).
Delete unused terrain properties.

This was SVN commit r7590.
2010-05-27 23:31:03 +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
Ykkrosh
a56bd4b2c1 Add GPL header to Atlas code
This was SVN commit r6910.
2009-06-20 16:13:29 +00:00
janwas
c0ed950657 had to remove uint and ulong from lib/types.h due to conflict with other library.
this snowballed into a massive search+destroy of the hodgepodge of
mostly equivalent types we had in use (int, uint, unsigned, unsigned
int, i32, u32, ulong, uintN).

it is more efficient to use 64-bit types in 64-bit mode, so the
preferred default is size_t (for anything remotely resembling a size or
index). tile coordinates are ssize_t to allow more efficient conversion
to/from floating point. flags are int because we almost never need more
than 15 distinct bits, bit test/set is not slower and int is fastest to
type. finally, some data that is pretty much directly passed to OpenGL
is now typed accordingly.

after several hours, the code now requires fewer casts and less
guesswork.

other changes:
- unit and player IDs now have an "invalid id" constant in the
respective class to avoid casting and -1
- fix some endian/64-bit bugs in the map (un)packing. added a
convenience function to write/read a size_t.
- ia32: change CPUID interface to allow passing in ecx (required for
cache topology detection, which I need at work). remove some unneeded
functions from asm, replace with intrinsics where possible.

This was SVN commit r5942.
2008-05-11 18:48:32 +00:00
janwas
e2eb5b2610 part4: adapt codebase to changes in lib/
mostly straightforward except for CVSFile / Filesystem. moved the former
into the newly created latter component. removed VFSUtil entirely (that
functionality is available from lib/file/file_system_util.h)

Xeromyces.cpp: simplify buffer handling since smart pointers are now in
play. also use WriteBuffer instead of membuffer.

This was SVN commit r5519.
2007-12-20 20:21:45 +00:00
janwas
22e4d2fd98 # win/macosx compat, add hooks to disable OpenGL feature usage
config: add 2 parameters to allow disabling s3tc/auto mipmap gen
wpthread: add support for named semaphores (required for macosx compat)
openal, ogghack: remove direct use of __APPLE__ macro (replace with
OS_MACOSX)
GraphicsSetupHandlers.cpp: fix incorrect usage of OS_ macros (they're
always defined, so the test should be if their value is != 0)

This was SVN commit r5316.
2007-09-02 21:44:56 +00:00
Matei
08d3ff2952 Updates for OS X and gcc 4.0 compatibility.
- Fixed some invalid member function references in wxJS code that gcc
4.0 didn't like.
- Some conversion changes.
- Don't try to construct wxSound from memory in OS X (it's not
available).
- Added dependency on zlib in AtlasUI (something there uses _compress).
- Added Mac code for finding current executable's path.
- Added dummy code for getting display size that does not use X.
- Fixed dir_get_changed_file stub to return ERR::AGAIN (end of files)
instead of INFO::OK.

This was SVN commit r5312.
2007-09-02 16:50:20 +00:00
Ykkrosh
5ef98758b2 Atlas: Fixes for compiler warnings and UI layout issues on Windows. Fixed territory updates when deleting units.
This was SVN commit r5176.
2007-06-14 15:42:24 +00:00
Ykkrosh
69404654bf Fixed #186 (problems with entity deletion in Atlas).
Maybe fixed errors from rare Atlas double-shutdown, but I don't know how
to reproduce the condition.

This was SVN commit r5162.
2007-06-10 19:00:25 +00:00
janwas
4be0fe18a0 # SwEng
. major compat fixes for interoperation with wxw.
. add crashlog_sender (modified version of debgrpt wxw sample). compiles
but untested, will be changed heavily
further improvements:
. wposix no longer declares CRT functions. instead, use CRT headers..
but don't allow their (incorrect/non-POSIX) declarations to propagate to
users.
. split up win.cpp into wstartup, wutil, winit
. extern "C" -> EXTERN_C
. move sdl.* to lib/external_libraries and add png.h+zlib.h (fixes for
and include of the library)

This was SVN commit r5028.
2007-05-04 17:30:32 +00:00
janwas
73683b6109 # SwEng
. the massive renaming undertaking: camelCase functions -> PascalCase.
. add some cppdoc.
. minor additional renaming improvements: e.g. GetIsClosed -> IsClosed
. in entity code, replace constructs like "pvec = new vector; return
pvec; use *pvec; delete pvec" with a simple stack variable passed as
output parameter (avoid unnecessary dynamic allocs)
. timer: simpler handling of raw ticks vs normal timer (less #if)

This was SVN commit r5017.
2007-05-02 12:07:08 +00:00
Ykkrosh
8da71a84a7 # Fixed crash when saving in actor editor
This was SVN commit r4788.
2007-01-18 15:29:12 +00:00
Ykkrosh
ec69bccb2c # Tidied up some code.
- Made some classes not be singletons, since there's no reason why they
should be.
 - Made them non-global too (because globals have unclear lifetimes, and
make it harder to test things, etc). They're now owned by CGameView and
CWorld, and mostly accessed via g_Game or arguments (vaguely trying to
avoid the graphics code calling into the game code).
 - Moved CGameView implementation into pimpl, so the header file isn't
so heavy.
 - Changed a few pointers into references, to indicate that they're
never NULL.

This was SVN commit r4756.
2007-01-08 01:56:46 +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
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
olsner
db045c330b # Made Atlas compile on linux
graphics: basic terrain passibility
atlas: lots of changes to make atlas compile under linux
unix/X: more clipboard support - copy from 0AD to other programs
unix/debug: use sys_get_executable_name instead of hard-coded paths
... and lots of other misc. changes

This was SVN commit r4640.
2006-11-12 04:02:36 +00:00
Ykkrosh
2f53eea71a Actor Viewer: Added controls for wireframe, background colour, move-when-walking. Reduced CPU usage when 'playing' things with no animation.
Color: Moved SColor* structs into SColor.h, so they can be used without
indirectly including CVector[34]D.
Terrain: Added 'base colour', for the Actor Viewer to be able to
modulate the colour of normally-white terrain.
Removed some "using namespace std" (because it doesn't make the code
easier to read, and it defeats the point of namespaces, and the rest of
the code doesn't do it).

This was SVN commit r4392.
2006-09-26 01:44:20 +00:00
Ykkrosh
a1a7dac59c # Integrated Actor Viewer and Actor Editor tools
ObjectManager: Removed ObjectTypes because it hasn't been used for
years.
Atlas: Fixed leak when saving with Xerces. Changed range of water
shininess slider.
Actor Editor: Relabelled "Freq" to "Ratio". Made modal dialogs use the
correct parent.

This was SVN commit r4376.
2006-09-22 17:43:00 +00:00
Ykkrosh
8e02ec84f9 Updated OpenAL to 1.1 (which no longer includes ALUT).
Changed player-id code a bit so the entity and actor and unit should
stay in sync more often. (The entity/actor/unit mixing still looks a bit
dodgy and unreliable, though.)
Simplified console help code.
Allowed init/shutdown to be done with the simulation/world/etc parts
disabled (so the actor viewer can load faster).

This was SVN commit r4289.
2006-09-02 21:20:25 +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
Ykkrosh
d39a4fac21 Premake: include precompiled.h in the project; set up dependencies for Atlas projects.
# Attempted to make compilation faster
by including as little as possible in some .h files, and moving it into
.cpp.
Fixed BaseTechCollection memory leak.

This was SVN commit r3992.
2006-06-09 16:44:16 +00:00
Ykkrosh
54c1508db6 Renamed autobuilt ps.exe to pyrogenesis.exe, to match the new project layout.
Fixed Atlas project creation.
Improved VS2005 linking speed.
Added work-in-progress environment (water, sun) editing to Atlas.

This was SVN commit r3935.
2006-06-03 05:08:32 +00:00
Ykkrosh
235e19c58f # Atlas: Updated Atlas DLL with fixed manifest. Double-click resizable panels to reset to default size. Moved player selection into extremely ugly drop-down list. Fixed culling when changing visible window's aspect ratio. Added manifest to VS2003 builds, to enable XP themes.
This was SVN commit r3814.
2006-04-25 05:10:47 +00:00
Ykkrosh
3d26549032 Fixed file properties - removed svn:executable and svn:keywords (left over from CVS conversion?) from all files; set svn:eol-style=native for *.cpp, *.h (and fixed files with inconsistent line endings)
This was SVN commit r3802.
2006-04-23 23:14:18 +00:00
Ykkrosh
001e951066 Autobuilder: Notify autologger of commits.
Interact.cpp: Added category to LOG calls.
Atlas: Renamed all handler source files, so they won't conflict with
other files of the same name. (Fixes bug #77)

This was SVN commit r3721.
2006-04-03 21:08:58 +00:00
Renamed from source/tools/atlas/GameInterface/Handlers/GraphicsSetup.cpp (Browse further)