Commit Graph

258 Commits

Author SHA1 Message Date
Mark Vejvoda
adc62b7df8 - updated code to protect against null pointers and uninitialized values and threading issues 2013-02-05 00:01:40 +00:00
Mark Vejvoda
f87b8b6ee2 - updated code to protect against null pointers and uninitialized values and threading issues 2013-02-04 08:30:43 +00:00
Mark Vejvoda
fe942809e6 - fixed a few issues found by JeffM (debian games team irc channel) while testing on Windows 7 64 bit 2013-01-30 06:08:14 +00:00
Mark Vejvoda
d9fac85d21 - added more debug logging 2013-01-27 07:26:35 +00:00
Mark Vejvoda
8cd7aa0e43 - code cleanup from cppcheck 2013-01-25 02:55:28 +00:00
Mark Vejvoda
4d0811f0ec - update debug stats to remove unused items
- disable interpolation when doing unit or resource selection
2013-01-12 07:36:14 +00:00
Mark Vejvoda
69a15d4544 - added a new skill to toggle fog of war for any command. 2013-01-11 18:40:47 +00:00
Mark Vejvoda
7b99501697 - added a new skill to toggle fog of war for any command. 2013-01-11 18:18:58 +00:00
Mark Vejvoda
5d2066fdbb - added a new thread manager to try to see if it takes less CPU cycles while the thread controller waits for slaves to do their work. To enable the experimental thread manager set: EnableNewThreadManager=true 2013-01-10 21:16:28 +00:00
Mark Vejvoda
b96eba3829 - a better way to cache fog of war and use much less memory 2013-01-04 18:00:51 +00:00
Mark Vejvoda
1f49886755 - re-enabled fog of war cache to improve performance
- improve xml file loading speed
2013-01-03 17:30:59 +00:00
Mark Vejvoda
1dbcabf12c - minor feature request added from sourceforge, when command given cannot be executed, sometimes we show the requirements of the command so the user knows why it failed 2012-11-10 19:39:55 +00:00
Mark Vejvoda
81989f5947 - bugfix if user clicks around while game loading
- cleanup from last checkin (corrections)
2012-10-26 04:35:14 +00:00
Mark Vejvoda
28d65e8d55 - cleanup from last checkin (corrections) 2012-10-26 03:08:40 +00:00
Mark Vejvoda
3419127632 - proper way to handle size_t objects (cleanup warning on other platforms) 2012-10-26 02:42:10 +00:00
Mark Vejvoda
011e0263b0 - lots more code cleanup, using safe buffer size code to avoid buffer overflows 2012-10-19 01:31:20 +00:00
Mark Vejvoda
505206059b - added new lua method for Muwuum:
void giveStopCommand(int unitId)
	bool selectUnit(int unitId)
	void unselectUnit(int unitId)
	void addUnitToGroupSelection(int unitId,int groupIndex)
	void recallGroupSelection(int groupIndex)
	void removeUnitFromGroupSelection(int unitId,int group)
	void setAttackWarningsEnabled(bool enabled)
	bool getAttackWarningsEnabled()
2012-10-17 20:15:50 +00:00
Mark Vejvoda
b65bdee592 - added more info to error message 2012-10-15 00:48:05 +00:00
Mark Vejvoda
e63e634e1e - added a bit more lua and updated capture enemy flag 2012-10-13 07:33:33 +00:00
Mark Vejvoda
0180aa6bba - added new lua functions:
triggeredCellEventUnitId()
showMarker(int flashCount, int factionIndex, string note, string textureFile,Vec2i pos)

1. The first one can be called in a cell trigger event and tell you which unit triggered the event
2. The second flashes a position in the minimap
2012-10-13 05:06:53 +00:00
Mark Vejvoda
87c3a11876 - bugfix for lua setUnitPosition method 2012-10-12 21:50:00 +00:00
Mark Vejvoda
5e42c6dc03 - loads of code cleanup based on verbose output from the latest git version of cppcheck 2012-10-06 07:06:40 +00:00
Mark Vejvoda
7c0e10684a - added lua functions to add / remove cell markers:
addCellMarker(0,'test from scenario!','',cellMarker)
param1=factionindex
param2=cell hint
param3=empty string
param4=cellPosition

removeCellMarker(0,{46,13})
param1=factionindex
param2=cellPosition
2012-09-25 07:05:52 +00:00
Mark Vejvoda
3ede912b9a - added support for custom video's on battle end screen:
look for videos in the following order:
1. check faction xml file for the following attributes (depends on win/lose) on the faction tag:
faction-battle-end-win-video="<path to video>"
faction-battle-end-lose-video="<path to video>"

if not defined 2. check the faction folder for the files:
battle_end_win_video.*
battle_end_lose_video.*

if not found check the data/core/menu/videos/ paths for:
battle_end_win.*
battle_end_lose.*
2012-09-25 00:23:25 +00:00
Mark Vejvoda
8e88b36723 - removed pathfinder from GAE and all references 2012-09-22 21:39:13 +00:00
Mark Vejvoda
0b9ad4c457 - added support for throwing known errors and skipping stack traces (For friendlier error messages) 2012-07-20 23:51:10 +00:00
Mark Vejvoda
ed9ae076c5 - attempt to fix pizza's crash
- safer use of random # in unit updater (not backward compatible with other builds)
2012-07-20 23:07:44 +00:00
Mark Vejvoda
c42d44a53a - attempt to fix pizza's crash 2012-07-20 22:18:34 +00:00
Mark Vejvoda
9f0546c008 - set correct exit codes (for tomreyn)
- fix loading when too many units on map (do not segfault)
- deprecate ThreadedNetworkClient setting
2012-07-17 23:04:30 +00:00
Titus Tscharntke
e311c439f6 sound is no more switched on when switching factions ( not a 100% fix but I think good enough ) 2012-07-15 19:45:55 +00:00
Mark Vejvoda
d9e2a64bb3 *NOTE: This is not backwards compatible with previous builds
- disable the alpha fog of war cache as it takes too much RAM (not sure if it really improves performance that much)
- inline some common functions for speed
2012-07-03 19:31:52 +00:00
Mark Vejvoda
0f5cb29919 - build silhouette now uses team colour and you see all team players building placement
- improve performance when rending cell markers
2012-06-22 13:30:15 +00:00
Mark Vejvoda
acc2a5f9c9 - show light green with alpha silhouette of building when unit is moving to a location to build another unit 2012-06-22 04:58:44 +00:00
Mark Vejvoda
8fd436b612 - added new lua method to play video's in scenarios:
playStaticVideo
2012-05-22 06:17:56 +00:00
Mark Vejvoda
0f25276e6f - applied patch from MuwuM 2012-05-21 20:15:37 +00:00
Mark Vejvoda
2d6cda1f6f - more pathfinder tweaks to try improve performance 2012-05-09 23:56:14 +00:00
Mark Vejvoda
3ff0796bec - some in progress pathfinder work 2012-05-04 21:03:52 +00:00
Mark Vejvoda
c8fdc9269f - fix win32 build
- cleanup a lot of win32 compiler warnings
2012-04-16 20:15:57 +00:00
Mark Vejvoda
8c0bf75bf5 - got built in memory leak working. Just edit leak_dumper.h and uncomment:
//#define SL_LEAK_DUMP
- got better / more accurate stack dumps when we detect errors in game.
- Both of these need to be worked on in windows next, win32 may not compile for now until i fix it on that platform.
- BE VERY CAREFUL when working in leak_dumper.* it may cause GCC and your system to crash if you don't know what you are doing!
2012-04-14 21:21:09 +00:00
Mark Vejvoda
22f43f4267 - added new lua method for setting the direct position of a unit (can be used for teleporting):
setUnitPosition(int unitId, Vec2i pos)
2012-04-11 05:41:40 +00:00
Mark Vejvoda
d16396db0a - more save / loadgame bugfixes 2012-04-02 15:17:31 +00:00
Mark Vejvoda
fce4d55dd5 - better error handling, try to display proper error message and restore state as best as possible 2012-04-02 01:45:13 +00:00
Mark Vejvoda
152e83399d - added a new lua method isUnitAlive(unitId) 2012-03-31 20:17:19 +00:00
Mark Vejvoda
2f885406e0 - added logic to delay AI player from path finding more than 10 units per frame (we make him think he is blocked and he will retry another frame) 2012-03-31 19:50:45 +00:00
Mark Vejvoda
c02c90427b - added some more lua commands:
vector<int> getUnitsForFaction(factionIndex,commandTypeName, field)
int getUnitCurrentField(unitId)
2012-03-30 07:10:14 +00:00
Mark Vejvoda
45b92f4316 - allow for a scenario based faction to be 'neutral' by specifying a team # of 9
- added some new lua methods:
networkShowMessageForFaction(text,header,int factionIndex)
networkShowMessageForTeam(text,header,teamIndex)
2012-03-30 05:53:33 +00:00
Mark Vejvoda
9286130138 - bugfixes and code cleanup found using cppcheck 2012-03-28 06:25:57 +00:00
Mark Vejvoda
c0f3658faa - bugfix for network scenarios to NOT close unconnected network slots before loading, they will turn into AI players (this is required because the scenario code may require those factions)
- added ability to morph and indicate the morph command should ignore resource costs, add this to the command type:
<ignore-resource-requirements value="true" />
2012-03-27 03:23:03 +00:00
Mark Vejvoda
163271203d - tilesets now support animated models:
<model path="models/copter_sit.g3d" anim-speed="190"/>
2012-03-26 23:24:29 +00:00
Mark Vejvoda
4f1bee5aea - attempt to save and load scenario info in saved games 2012-03-26 06:48:58 +00:00
Mark Vejvoda
5f95b08c17 - a ton more load game state now working (including commands) 2012-03-13 15:21:25 +00:00
Mark Vejvoda
9271d7d7f6 - initial loading logic for loading of saved games.
- currently we always save the game during out of synch or on game quit.
- added a new commandline option to load the last saved game, this doesn't do much yet, just creates units in the map locations they were when the game was saved
./megaglest --load-saved-game
2012-03-12 23:08:22 +00:00
Mark Vejvoda
c5331b7e8a - initial work to save game state to XML. Current only saves when out of synch or game end occurs and saves to same folder as log files and file is called: megaglest-saved.xml
(Currently we store way too much info but this is a starting point)
2012-03-10 03:27:25 +00:00
Mark Vejvoda
9d6607a051 - added new lua method so users can create units without spacing rules:
createUnitNoSpacing
2012-02-21 21:56:20 +00:00
Titus Tscharntke
9f703f2303 faction links, modders can include factions from other techtrees if techtree.xmls are compatible.
( Still problems with CRC-calculation and download in Multiplayer for those linked factions )
2012-01-17 01:34:50 +00:00
Mark Vejvoda
e351def1cb - added new lua function to display playername:
getPlayerName(i)
2012-01-05 00:45:17 +00:00
Mark Vejvoda
6f924b310d - added new lua method to get system macro values:
dofile(getSystemMacroValue("$SCENARIO_PATH") .. "unit.ai.class.lua")
2012-01-05 00:04:55 +00:00
Mark Vejvoda
ec2f889a76 - scenario pause command should work in network mode 2011-12-28 07:26:16 +00:00
Mark Vejvoda
9852325da6 - fixed Martiño Figueroa's name in all copyrights in source code
- added copyrights to files that were missing it
2011-12-14 07:40:48 +00:00
Mark Vejvoda
609bc528d2 - fixed fog of war bug in map preview for connected client
- in headless mode keep three caches in case its related to out of synch
- comment out spurious irc console text
2011-12-03 01:19:54 +00:00
Mark Vejvoda
d33e1174a5 - bugfixes related to cppcheck report
- bugfixes found using valgrind (memory leaks)
2011-12-02 16:07:59 +00:00
Mark Vejvoda
03a7a72ef5 revert network code back to beta1 code 2011-11-27 05:27:50 +00:00
Mark Vejvoda
fbb3f0b8e5 - faction threads now use semaphores to signal completion lowering cpu use on main thread 2011-11-26 23:11:33 +00:00
Mark Vejvoda
b2adc16ca6 - added Muwums lua function 2011-11-15 17:39:49 +00:00
Titus Tscharntke
cbdde66999 we dont need to be too picky with translations which are mainly meant for logfiles 2011-11-04 01:12:05 +00:00
Mark Vejvoda
30e1f45cc7 - intro is now fully translatable and configurable (see english.lng file at the bottom for intro strings)
- added game loading text strings to language file
- ONLY load the font type we are using
2011-11-02 17:17:28 +00:00
Mark Vejvoda
762699ef88 - bugfixes for passing from one scenario into another when keeping faction state 2011-10-07 03:25:17 +00:00
Mark Vejvoda
a7cfcc1d99 - added special placement code when carrying over units from one scenario to another 2011-10-06 22:19:58 +00:00
Mark Vejvoda
b126768d9c - updated scenario lua function to allow carry over of factions or not 2011-10-06 20:44:55 +00:00
Mark Vejvoda
2d42f59fe1 - added a new lua function to allow loading a new scenario from inside an existing scenario
loadScenario('capture_the_flag2')
2011-10-06 18:04:59 +00:00
Mark Vejvoda
aed293bba2 - fixed a bunch of memory leaks that will hopefully mean less overall memory requirements. 2011-09-28 06:57:42 +00:00
Mark Vejvoda
c68aa74fcf - more updates for headless mode (try to avoid using opengl completely), server now runs at around 20 MB RAM at game start. 2011-09-27 05:29:57 +00:00
Mark Vejvoda
ece2927350 - attempt to fix command grouping 2011-09-25 04:07:59 +00:00
Mark Vejvoda
37fd0d6c71 - disable grouped commands by default until i track the segfault 2011-09-23 19:19:09 +00:00
Mark Vejvoda
72c12a3459 - another attempt to fix command grouping bug (its now turned on be default again), please test for crashes or out of synch 2011-09-22 20:42:06 +00:00
Mark Vejvoda
7d53df698a - added new in-game popup menu and new ability to switch teams in game (turned off by default in advanced settings) 2011-09-21 06:51:28 +00:00
Mark Vejvoda
c2b2e41935 - disabled grouped commands for now 2011-09-09 20:42:02 +00:00
Mark Vejvoda
41dfe298d3 - re-enable grouped commands for better unit moving (was previously causing out of synch but i think it works properly now) 2011-09-09 17:49:10 +00:00
Mark Vejvoda
bb68106912 - phase 3 of cppcheck verbose fixes 2011-09-01 18:08:56 +00:00
Mark Vejvoda
57afc2d715 - phase 2 of cppcheck verbose fixes 2011-09-01 01:11:23 +00:00
Mark Vejvoda
a388c92be6 - disable group unit commands as default being enabled (since its is causing out of synch) 2011-07-18 18:31:54 +00:00
Mark Vejvoda
5ffc0937f1 - added new ini setting to toggle grouped commands processing (hunting down out of synch). To turn it off try:
AllowGroupedUnitCommands=false
2011-07-12 23:41:14 +00:00
Mark Vejvoda
b8bd927b7b - finally fixed the unit sorting hang bug, try it tomryen 2011-07-06 06:38:56 +00:00
Mark Vejvoda
15488ddb31 - bugfixes related to attack-boost memory leaks 2011-07-06 05:16:25 +00:00
Mark Vejvoda
1fd179196c - attempt to fix hang issue reported by tomreyn 2011-07-05 18:26:09 +00:00
Mark Vejvoda
2c80543889 - attempt to group command execution so units given the same command at the same time will work more smartly (closer units go first and so on) 2011-07-05 04:37:35 +00:00
Mark Vejvoda
e221011af2 - bugfixes so that the mingw compile builds 2011-05-24 22:51:45 +00:00
Mark Vejvoda
1085f24c6f - more updates to handle unicode (most of the focus was getting tools working in windows using non ascii file paths) 2011-05-23 19:23:00 +00:00
Mark Vejvoda
60b8093f5b - attempt to get non ascii file paths working in megaglest (Japanese etc...) 2011-05-18 21:49:11 +00:00
Mark Vejvoda
e34e70a0c8 - added code to merge duplicate sounds used in a techtree 2011-05-06 07:47:31 +00:00
Mark Vejvoda
6492832c35 - added initial validation code to warn about duplicate data used in factions 2011-05-05 19:21:50 +00:00
Mark Vejvoda
cb113514e1 - limit current resource amounts to max storage allowed at game start 2011-04-25 06:39:40 +00:00
Mark Vejvoda
4bce94fbbb - make messageboxes less alpha background so they are darker and easier to read (try it ultifd)
- made lag timeout max set to 35 instead of 65 since 35 is bad enough
- added another error check
2011-04-18 06:42:25 +00:00
Mark Vejvoda
a04557ee7f - set pathfinder values back to be compatible with beta2 2011-04-14 03:27:34 +00:00
Mark Vejvoda
9b91bf5c68 - modified lua method addConsoleText to look in scenario language file for text
- added new commandline options to display CRC values for various items (like maps, tilesets etc)
2011-04-09 06:20:43 +00:00
Mark Vejvoda
3b56aa4475 - performance changes... (problem found by titi) most debug calls line are skipped when the debug flag is disabled even BEFORE getting into the handledebug method.
This improves performance VERY MUCH.
2011-03-28 03:54:23 +00:00
Mark Vejvoda
9681e7f1bc - initial code for managing mod content (downloads and removal of user data) 2011-03-25 10:11:16 +00:00
Mark Vejvoda
47a81f8b44 - performance improvements for units using the stop command when units are idle 2011-03-24 21:55:39 +00:00
Mark Vejvoda
8a9505e1e8 - added conditional check to only issue a stop command to units if they are not already stopped
- memory cleanup on unit errors
- mutex for checksum class
2011-03-23 00:49:21 +00:00
Mark Vejvoda
0379b7284d - removed requirement to have a newer libcurl, now most platform, should be able to build mg more easily (only require 7.16.4 or newer instead of 7.21.0) 2011-03-20 00:11:00 +00:00