Commit Graph

508 Commits

Author SHA1 Message Date
Mark Vejvoda
3b9f799d26 - it is now possible to explicitly specify which units should count towards victory conditions. In the unit's xml file add:
<?xml version="1.0" standalone="no"?>
<unit>
	<parameters>
               <!-- valid values are true or false for this optional parameter -->
		<count-in-victory-conditions value="false"/>
        </parameters>
</unit>
2012-05-03 20:25:35 +00:00
Mark Vejvoda
897346d1f5 - added the beginning work to support translatable techtrees 2012-05-02 20:46:47 +00:00
Mark Vejvoda
5c0db25c86 - added a few new lua methods to register cell 'areas' for unit or for factions for wciwow 2012-05-02 06:07:11 +00:00
Mark Vejvoda
dbb116f250 - load of changes to get things compiling under VC++ 2010 (with updated deps seperate for vc2010) 2012-04-20 01:04:05 +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
Titus Tscharntke
ed201fa5d3 "save game" in ingame menu( I don't know how a quick "load last saved game" ould work from ingame menu :-/ ) 2012-04-13 23:13:02 +00:00
Mark Vejvoda
9aca26a0f0 - bugfix for unit selection segfault on game exit
- added thread hardening to try to ensure we never try to delete a thread more than once.
2012-04-12 20:43:19 +00:00
Mark Vejvoda
76c3fa1949 - fixed segfault when a unit is selected and they die (this is a long standing bug and not related to savegame) 2012-04-12 15:38:53 +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
2ab041813f - code cleanup based on cppcheck report 2012-04-05 03:53:59 +00:00
Titus Tscharntke
6c12bfbec8 Improved resource object selection implementation which allows highlight effects now too.
Generally changed highlight effect to something more obvious
2012-04-04 00:30:16 +00:00
Titus Tscharntke
1df365d697 I removed the automatic game pausing when message are shown because I don't like it ( sc does not like it at all so ... ). Still auto-pausing while showing menues ingame in singleplayer. 2012-04-03 00:32:52 +00:00
Mark Vejvoda
5b5d753341 - bugfixes for save / load game bugs reported 2012-04-02 15:02:44 +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
Titus Tscharntke
874b1a5049 In non network games the game is paused automatically if a menu/message is raised. I am not sure if I should do this for scenario messages too? 2012-04-01 18:23:26 +00:00
Mark Vejvoda
3d386936dc - updated loading games to translate tutorials and scenario paths 2012-03-31 20:58:33 +00:00
Mark Vejvoda
74910ea0b2 - bugfix for loading saved scenario 2012-03-31 20:33:56 +00:00
Mark Vejvoda
152e83399d - added a new lua method isUnitAlive(unitId) 2012-03-31 20:17:19 +00:00
Mark Vejvoda
030582c1ef - added a new EnumParser class to convert enum to string and vice versa
- factions can now customize some more of the AI behavior
2012-03-31 05:54:24 +00:00
Mark Vejvoda
53d0204cb9 - bugfix network messages 2012-03-31 00:52:43 +00:00
Titus Tscharntke
d8ba2443cf new switches "count-unit-death-in-stats", "count-unit-production-in-stats" and "count-unit-kill-in-stats" for unit.xml ( allows better "resource" production for example ) 2012-03-30 23:38:05 +00:00
Mark Vejvoda
fa31fed5bd - updated to add isGameOver 2012-03-30 14:48:54 +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
f7423608ce - bugfix for lua strings 2012-03-30 01:48:41 +00:00
Mark Vejvoda
435e06db20 - attempt to bugfix lua save/load games, added a new section for scenario files called:
<global>
</global>
Where global vars (but more importantly declared functions) should be declared
- updated amazones scenario to move globals into the global section
2012-03-29 22:30:58 +00:00
Mark Vejvoda
c13e0ef788 - better error handling logic on crashes
- translate scenario to correct file on players system
2012-03-29 00:43:03 +00:00
Mark Vejvoda
9286130138 - bugfixes and code cleanup found using cppcheck 2012-03-28 06:25:57 +00:00
Mark Vejvoda
8a2b90895d - auto stop efficient timer event after it is triggered 2012-03-27 19:28:16 +00:00
Mark Vejvoda
d25fc14244 - added some new 'predictable' random number generation for use in lua scripts 2012-03-27 07:05:07 +00:00
Mark Vejvoda
5cc39e7c53 - added a new type of lua script timer for efficient checking of elapsed time 2012-03-27 06:42:55 +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
d356e5f5de - added new headless server status check:
on the SAME box as the headless run:
./megaglest --headless-server-status
2012-03-25 06:55:43 +00:00
Mark Vejvoda
1b8e1af25b - cleanup of console and button placement in load game menu 2012-03-20 15:01:18 +00:00
Mark Vejvoda
d502e95d9f - bugfix for saving / loading cell info, fixes the resource explored bug 2012-03-20 07:14:50 +00:00
Mark Vejvoda
fc6da7f924 - added a status message while replaying commands 2012-03-20 05:58:24 +00:00
Mark Vejvoda
05c35aa9f4 - a little cleanup for command replay 2012-03-20 05:23:32 +00:00
Mark Vejvoda
a7e45eb354 - added the ability to record all game command to a replay file. To test saving / loading games from a replay file, add this to glestuser.ini:
SaveCommandsForReplay=true
2012-03-20 04:53:26 +00:00
Mark Vejvoda
c8df9dba1c - disable newline in chat mode 2012-03-19 05:51:35 +00:00
Titus Tscharntke
91dce63aac savegame screenshot has smaller size (configurable)/ screenshots are deleted too 2012-03-17 11:26:39 +00:00
Mark Vejvoda
1ac9aa6d3f - fixed xml loading via rapidxml for some scenarios that had embeddex xml comments in lua
- added automation abilities for automated testing with automated saved games
2012-03-17 08:20:17 +00:00
Mark Vejvoda
617344c97d - do not take screenshot when saving game on headless server 2012-03-17 04:19:17 +00:00
Mark Vejvoda
5584121aa7 - updated load game screen and added some missing language text 2012-03-17 03:32:20 +00:00
Titus Tscharntke
7f46cf2749 save a screenshot with every game save and show it in load menu ( you must have set screenshot type set to .jpg at the moment) 2012-03-17 01:32:18 +00:00
Mark Vejvoda
01f8f518b3 - saved games now go into saved folder 2012-03-15 22:09:11 +00:00
Mark Vejvoda
3eeb1ddea4 - added option to specify which game to load when loading a saved game.
- added a hotkey to save games any time during game play (F11). This saves files with a timestamp
- we now keep track of the last game the user saved and if commandline does not specify a game to load it uses the last saved game
2012-03-15 15:57:21 +00:00
Mark Vejvoda
fc125bec37 - added command groups and unit selection to save / load game info 2012-03-15 07:09:36 +00:00
Mark Vejvoda
d1dd79047e - no need for xerces anymore? All XML is now done by rapidxml by default (loading and saving) 2012-03-15 05:59:23 +00:00
Mark Vejvoda
7425dc8fdf - ALL XML loading will default to rapidxml, we now ONLY use xerces for saving the game (until i get time to implement xml save using rapidxml) 2012-03-14 22:48:46 +00:00
Mark Vejvoda
4bd6b53f9d - added insanely fast rapidxml as a supported xml engine to use. Currently its ONLY used for loading saved game xml and the currently class ONLY handles loading (not saving) xml's. 2012-03-14 21:52:13 +00:00
Mark Vejvoda
8d5de12d42 - added some particles to load game logic 2012-03-14 07:23:41 +00:00
Mark Vejvoda
5f95b08c17 - a ton more load game state now working (including commands) 2012-03-13 15:21:25 +00:00
Titus Tscharntke
edd7f732ea alpha correction in options menu ( checkin with error included , which needs to be fixed! ) 2012-03-13 00:44:55 +00:00
Mark Vejvoda
485b74af8b - load game restore more game state 2012-03-13 00:00:10 +00:00
Mark Vejvoda
82cd1d3e9c - restore timeflow and gamecamera on load game 2012-03-12 23:40:54 +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
246f4b326f - attempt to see if threaded client network receive improves performance (ThreadedNetworkClient=true to enable on a client) 2012-03-03 23:59:44 +00:00
Mark Vejvoda
94f3665285 - added nick sound when user mentions another players name in chat (in game lobby and in game) 2012-03-03 08:45:20 +00:00
Mark Vejvoda
8b7e2a7b9e - when searching for hud, loop until we find a file 2012-03-03 07:48:05 +00:00
Mark Vejvoda
3eba87727c - bugfixes for headless mode, map selection logic was broken for admin user
- during in game, if admin user disconnects, server re-assigns a new admin user so paused game can be unpaused by a new administrator
2012-03-03 04:33:39 +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
9870c13a6b GraphicMessageBox can handle multiple buttons now 2012-02-19 17:37:53 +00:00
Mark Vejvoda
4ad42518c0 - updated for better handling of streflop on different platforms
- attempt for bugfix on windows when socket send buffer is continuously full
2012-02-10 06:21:06 +00:00
Mark Vejvoda
3049c5e376 - attempt to fix using grouping hotkeys for AZERTY keyboards (so user can press shift + #) 2012-01-09 21:08:19 +00:00
Mark Vejvoda
50f1fa65ca - bugfix on battle screen when 8 players playing, last player is sometimes chopped off
- masterserver mode bugfix for map filter
- masterserver now outputs in-game stats to console every 10 minutes (can be adjusted via ini setting: GameStatsDumpIntervalSeconds=x where x is update interval in seconds
2012-01-06 06:55:27 +00:00
Mark Vejvoda
ced374410c - added GAE compatible stubs for a few new lua methods 2012-01-05 20:01:22 +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
a1a0b9e79c - bugfix for not finding hud for scenarios with embedded techtree 2012-01-04 04:10:11 +00:00
Mark Vejvoda
ec2f889a76 - scenario pause command should work in network mode 2011-12-28 07:26:16 +00:00
Mark Vejvoda
ebba25b06f - updated so streflop can be totally ignored when that cmake switch is off 2011-12-16 06:24:21 +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
f6dafcde3c - added stats on console for headless server when game exits 2011-12-02 17:27:13 +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
7cf9c189b2 - disallow non compressed tileset downloads when client IP not on same subnet as host
- bugfix for LAN server broadcasting
- bugfix for empty message on player disconnect (now properly shows that player switched to AI mode)
2011-11-29 05:07:18 +00:00
Mark Vejvoda
c16cdad134 - more complete fix for debug render placement 2011-11-28 07:05:00 +00:00
Mark Vejvoda
cfe01253b9 fixed ambient sounds when rain is disabled. 2011-11-28 06:38:07 +00:00
Mark Vejvoda
1658306b59 - fixed debug output font position --> just for you james! 2011-11-28 05:54:31 +00:00
Mark Vejvoda
4e882796a1 - a bold attempt to push the socket read threads to read continuously to see if this is:
a) stable without causing out of synch
b) not too hard on the CPU
2011-11-25 17:01:35 +00:00
Mark Vejvoda
2a8c712b1a - more socket performance changes
- auto complete now works also in IRC chat, and tabbing loops through all matched names.
2011-11-25 09:12:53 +00:00
Mark Vejvoda
c6b7d3991e - attempt to fix network game play 'stuttering'
- bugfix for ip address gathering
- added tab autocomplete in chat windows for playernames
2011-11-24 23:15:21 +00:00
Mark Vejvoda
3cdf50c399 - a load of bugfixes including:
- proper handling of invalid client connects, after 6 bad attempts in a 60 second period of time the IP address is blocked from the current game
  - Added check for invalid particles for tileset objects
  - Made messagebox wider in game mod menu
  - Fixed numerous threading issues discovered while testing on my 8 core CPU
  - a Little bit of rendering cleanup
2011-11-23 08:00:09 +00:00
Mark Vejvoda
f626ebbe45 - attempt to fix lua code to properly get unit's killer:
lastDeadUnitKillerName
lastDeadUnitKiller
2011-11-18 15:43:05 +00:00
Mark Vejvoda
d29293d3cf - added new lua method lastDeadUnitCauseOfDeath, possible int values are:
None = 0
	Attacked = 1
	AttackBoost = 2
	StarvedResource = 3
	StarvedRegeneration = 4
2011-11-16 21:43:19 +00:00
Mark Vejvoda
2d367bd26e - added new lua functions from Muwum:
new events:
    unitAttacked
   unitAttacking
 
   methods:
   lastAttackedUnitName()
   lastAttackedUnit()
   lastAttackingUnitName()
   lastAttackingUnit()
   giveKills(unit,amount)
2011-11-16 21:38:12 +00:00
Mark Vejvoda
b2adc16ca6 - added Muwums lua function 2011-11-15 17:39:49 +00:00
Mark Vejvoda
41ae17757b - just for you james! Fixed about screen text alignment
- re-enabled unit titles in special debug mode (requires special keys to toggle)
2011-11-15 04:48:57 +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
22c8881902 - update fonts for console when language is toggled 2011-11-03 23:38:43 +00:00
Mark Vejvoda
4930ec109d added a new lua method from Muwuum 2011-11-03 18:24:02 +00:00
Mark Vejvoda
5b0c3accfc changed lua method to camelcase 2011-11-03 17:04:49 +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
33549e2b0b no longer show resource info in debug stats in game 2011-10-26 05:10:36 +00:00
Mark Vejvoda
c045f06f44 allow pause hotkey for network games 2011-10-26 04:13:14 +00:00
Mark Vejvoda
50adfb3305 - added ability to switch languages from nearly anywhere (and new hotkeys to do so):
CTRL+L shows language popup selection, CTRL+SHIFT+L toggles to next language automatically
2011-10-25 18:39:11 +00:00
Mark Vejvoda
2cecb2c3a0 fixed horrible UPNP bugs related to timing, where ports would be either NOT properly opened or not closed due to thread timing and no thread protection. 2011-10-23 00:55:34 +00:00
Mark Vejvoda
6863876359 bugfixes from transition to battle end and back to menu 2011-10-22 19:45:05 +00:00
Mark Vejvoda
5ee20018d8 d new way to manage the sound fade for game start/stop via optional ini: GameStartStopFadeSoundMilliseconds=3500 2011-10-21 22:42:59 +00:00