1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
Commit Graph

799 Commits

Author SHA1 Message Date
Ivan Savenko
8eba824ada - updated icons + psd file
- better log messages if server failed to open port
 - 1148 should be fixed. Cleanup in CGameHandler::moveHero()
 - compile fixes
2012-11-15 21:29:22 +00:00
Ivan Savenko
0d863c83d7 - removed autogenerated by autotools files
- fixes for #386 using patches from Ixtreon
2012-11-10 21:56:19 +00:00
beegee1
105083dd70 * Code convention updates * Default values for CMap types * Updated BinaryReader c-tor * Converted "bool" int types to bool in CMap classes * Removed map event operators in favor of member methods 2012-11-06 16:39:29 +00:00
beegee1
a878f5f79a * Separated map loading from the map object * Moved map classes to lib/Map * Renamed map.h/cpp to CMap.h/cpp * Profiling of map loading is now optional * Updated CMemoryStream 2012-11-03 13:30:47 +00:00
beegee1
720deba838 * Added comments to map.h * Refactoring(renamed attributes, some steps towards coding guidelines, ..) 2012-10-26 17:51:05 +00:00
Ivan Savenko
db10f512d5 - game won't crash on missing dwellings (instead random one will generated)
- added disabled code that can be used to fix buildings blit order
- minor fixes
2012-10-07 14:58:48 +00:00
Ivan Savenko
c071a03a8a - fix for #1135
- merged wall_pos.json into town config
- removed tower_shooter field from creatures.json
2012-10-05 18:03:49 +00:00
Ivan Savenko
f113f9573d - CPack support. Works on my side, needs tweaks for Win 2012-10-05 12:38:17 +00:00
Ivan Savenko
3542bfdc63 - fixed #1128 #1127 #1121 #1119
- instructions in linux readme use cmake instead of autotools
- update autoconf files
2012-10-02 14:22:58 +00:00
DjWarmonger
1cf99f7be1 - Improved exploration algorithm. AI will avoid dead-end barriers and thus explore much faster.
- Fixed crash when there are no heroes available to recruit in the map. TODO: make AI handle it
- Fixed crash when Chain Lightning has not enough targets
- Fixed crash at Hill Fort (?)
- AI will buy Spellbook for its heroes
- AI will try to use Cartographer and Observatory when exploring
- AI will not visit Prison when heroes are at max
- Experiment: AI will try to capture Mines and Dwellings when there are no enemies around (part of CONQUER goal)
2012-10-01 18:25:43 +00:00
Michał W. Urbańczyk
3de9b71cc3 Fixed crash when unit dies by entering obstacle (eg. moat) on the way to perform attack. 2012-09-30 17:48:21 +00:00
Michał W. Urbańczyk
f30ee8ff04 * fixed possible corruption of pack sent by server when player request is rejected
* BattleAI will restore callback to its previous state, fixes freeze after battle #1104
* BattleAI won't lose turn when unable to correctly evaluate a spell
* VCAI will correctly recognize hero standing on town entrance
* War machines of defender will have correctly set side
* Faction 9 as neutral causes crashes, changing to -1 as used elsewhere in the code
2012-09-29 14:44:06 +00:00
Michał W. Urbańczyk
786bd73e67 Fixed #1092. 2012-09-28 11:43:19 +00:00
DjWarmonger
076974729a Fixed #1089. 2012-09-28 06:10:01 +00:00
Ivan Savenko
15a7f43e11 - fixed #1075, #1080, #1081
- fixed some warnings from cppcheck
2012-09-26 13:13:39 +00:00
Michał W. Urbańczyk
ecd8947d8e Crashes on starting next campaign mission should be fixed. 2012-09-25 18:00:55 +00:00
mateuszb
f3f4a7633d * fixed 1085
* fixed starting hero is granted in normal scenarios
* introduced TArtifactInstanceID
2012-09-25 14:40:39 +00:00
mateuszb
18bd898cb1 * fixed bug when starting certain maps in campaigns
* introduced TPlayerColor typedef
2012-09-24 16:14:53 +00:00
Michał W. Urbańczyk
95b866c131 * Further work on Battle AI. Now it is able to cast a number of offensive spells. Battle callback exposes more spell-casting info.
* Took down the one Boost.Assign usage offending VC11. I'm getting impatient I guess...
2012-09-23 23:10:56 +00:00
mateuszb
6a81c8b1af * campaign against magic numbers
* ArtifactID was misleading and wrongly used in one place -- renamed and fixed
* minor changes
2012-09-23 18:01:04 +00:00
mateuszb
8e3de98059 * restoring campaign features
* minor improvements
2012-09-21 17:59:54 +00:00
Michał W. Urbańczyk
62e63d45b1 Work in progress on BattleAI. Related changes:
* battle AIs receive ptr to CBattleCallback (not sure why it was CPlayerBattleCallback, likely mistake)
* reworked some battle callback methods to be more generic and able to handle some hypothetic scenarios
* for testing purposes in duel mode the first AI will be taken fro mconfig and the second will remain stupid ai
* minor changes
2012-09-20 16:55:21 +00:00
mateuszb
aa04a5bcd0 * removed unnecessary include in .h -- they should be avoided
* fixed bug 1074
* fixed starting new custom campaign
* fixed building of ERM project
2012-09-18 15:06:29 +00:00
alexvins
2b2b02cccc [static analysis] [WIP] fix few possible bugs
CBattleAnimations.cpp,CBitmapHandler.cpp,CGameHandler.cpp Possible null pointer dereference
2012-09-16 14:36:31 +00:00
Ivan Savenko
0ca9f64573 Next part of town configuration:
- town screen is mostly implemented, has some minor issues
- factions are now separate from towns, neutrals have faction with id=9
- more constants to GameConstants: town-specific buildings, strings for terrains and resources
- replaced most access to builtBuildings with isBuilt() method
- replaced id's with enums for town subtype and buildings id's
2012-09-05 12:49:23 +00:00
Ivan Savenko
44cc848edc first part of town configuration:
- moved almost all loading to TownHandler
- CBuildings and CStructures are now part of CTown
- merged hall.json into buildings.json

Should not cause any crashes or glitches
2012-09-02 10:33:41 +00:00
Michał W. Urbańczyk
6530e7a1e1 * servers will not allow using out-of-range slots ( #1061 )
* server won't crash on some scenarios when they're used
* fixed some minor discrepancies with creature placement in creature banks
2012-08-30 16:01:19 +00:00
Ivan Savenko
8fac276922 - a bit nicer stack queue. Check forum for graphics.
- warning fix
2012-08-28 16:28:21 +00:00
Michał W. Urbańczyk
830d94064e Fixed #1056, #1057 and #1058.
Should also fix #152.
2012-08-28 12:28:13 +00:00
Michał W. Urbańczyk
a14f381d48 Fixed #1055 - hang when creature performed automatic (not controleld by player) action.
Fixed possible crash on arrow turret turn.
2012-08-27 12:34:43 +00:00
Ivan Savenko
7ce9e95525 - death stare works identically to H3
- gcc warnings fix
2012-08-27 10:47:02 +00:00
Michał W. Urbańczyk
7c09f73402 * INFINITE_DIST is now enum, it should cause least trouble that way. Uh, it's so hard to fight magic values these days.
* Fixed crashes in battles after loading game
* Fixed crash in battle AI, when stack is blocked and stands next to an enemy
* Fixes problem when server's moveStack is called with dest==position
* Above should cover #1053.
2012-08-26 19:13:57 +00:00
Ivan Savenko
656999e99f - fixed bug in AI town development
- fixed too slow generation of FowChange package
2012-08-26 12:26:07 +00:00
Michał W. Urbańczyk
d390113c23 * New files for lib: CBattleCallback.cpp and CBattleCallback.h
* Updated MSVC project files
* Filesystem: My version of .SND archive does not have \0 after WAV extension. Fixed (though hardcoded 3-char extension length).
* New bonus types: BLOCK_MAGIC_ABOVE for blocking casting spells above given level and BLOCK_ALL_MAGIC for blocking all magic.
* Heavy rewrite of battle callbacks. Fixed some minor bugs. Code reusage between lib/client/server (removed proxy calls). Better access control and support for various perspectives.
* Fixed #1031
* Fixed Orb of Inhibition and Recanter's Cloak (they were incorrectly implemented). Fixed #97.
* Fleeing hero won't lose artifacts. Spellbook won't be captured. Fixed #980.
* Fixed crash when attacking stack dies before counterattack (ie. because of Fire Shield)
* Server does some basic checks if action requests during battle are valid
* Minor stuff.
2012-08-26 09:07:48 +00:00
DjWarmonger
edbc7f1223 - Some hardcoded settings will now be read from config/defaultMods.json
- Fixed AI crash when it was placed in closed and safe area
2012-08-11 09:06:23 +00:00
DjWarmonger
289b7b68d9 Mod Handler class. It is connected with engine, but doesn't do anything yet. 2012-08-10 13:07:53 +00:00
Ivan Savenko
9cbc1f1058 - merged basicCreatures and upgradedCreatures into single array
- missing fix for savegames
2012-08-07 21:46:24 +00:00
Ivan Savenko
8040a81eec - fixed save games issues (#1044)
- hopefully some speedup for filesystem loading (#1048)
2012-08-07 11:28:52 +00:00
Ivan Savenko
e67f8afdd9 - removed multiple unused files
- config folder with all json files is used via new FS API
- fixed campaigns loading. Replaced "detect h3m starts" heuristics with CCompessedStream::getNextBlock()
2012-08-02 11:03:26 +00:00
Ivan Savenko
b3c17d2788 large filesystem update. Filesysytem is now fully functional, everything should work.
- completely replaced CLodHandler, removed bitmaph and spriteh
- replaced CLodStream in favour of CCompressedStream (2 new files)
- renamed CResourceLoaderFactory and ResourceIndetifier to shorter names
NOTES:
- campaign loading is currently broken. Will fix.
- I am going to remove several unused files in several days (e.g. LodHandler)
2012-08-01 12:02:54 +00:00
Ivan Savenko
a72a294a46 some work on new filesystem, not tested
- one more new file
- removed duplicating code
- filesystem parser is now recursive
- decompression should be possible if decompressed size is unknown
- autotools and cmake update
2012-07-23 10:23:43 +00:00
Ivan Savenko
13de841e10 - minor tweaks to quest window
- fixed #531
- fixed query crash (empty funciton)
2012-07-21 20:16:54 +00:00
Ivan Savenko
e4c88d5088 - moved ParseBonus to JsonNode.cpp (linkage errors)
- fixes to CMakeLists - vcmi can be compiled and started with cmake
- gcc\clang warnings fixes
2012-07-19 18:52:44 +00:00
DjWarmonger
b86706d58c Commander can now die in a battle and will be automatically rised when visiting town. 2012-07-17 08:52:27 +00:00
ddaroo
69de38bf1d Tweaks for cmake build system: data dir definitions, flags for clang (not tested), missing CQuestLog.cpp file for the client, naming convention of few binaries same for autotools and cmake 2012-07-15 16:05:41 +00:00
Michał W. Urbańczyk
edccbd4809 Rewritten many parts of query handling. Fixed several scenarios leading to a hang (including #1012). Purged boost::function from player interface (handy but impossible to serialize). VCAI will keep description for each unanswered query, so the further debugging will be easier. 2012-07-15 15:34:00 +00:00
DjWarmonger
e3e4bc4c9c Second part of interactive Commander level-up. Quite messy. 2012-07-04 14:41:53 +00:00
ddaroo
758fb0679e Stub for a CMake build system. 2012-07-01 14:27:41 +00:00
Ivan Savenko
613172fa45 - fixed #582, #1019 and #1022
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Ivan Savenko
47945383da gcc-4.5 compatibility 2012-06-23 17:19:50 +00:00
Michał W. Urbańczyk
84630a0984 Fixed #993, tent code cleanups. 2012-06-10 13:07:08 +00:00
Michał W. Urbańczyk
e6ebf42308 #994 should not crash anymore. 2012-06-09 19:58:17 +00:00
Michał W. Urbańczyk
247fabc3a6 Seems to be actually a missing return and redundant check. 2012-05-29 23:22:28 +00:00
Ivan Savenko
faaf799d95 - fixed some extra warnings. Mostly harmless.
NOTE: Please check changes in BattleState.cpp and GameHandler.cpp for possible bugs
2012-05-28 19:29:32 +00:00
Ivan Savenko
61ccabde53 - vcmi can be compiled with clang-3.1 2012-05-27 19:06:35 +00:00
Frank Zago
ee103c7bcd Compile fix. 2012-05-26 03:29:34 +00:00
Ivan Savenko
49495c9caf - possibly fixed #966 and #958
- fixed crash on shutdown 
- fixed compile issue #973
2012-05-25 11:49:56 +00:00
DjWarmonger
d34cf90bf7 Support for Chain Lightning.
Fixed getClosestTile function.
2012-05-20 11:40:23 +00:00
DjWarmonger
6419f953cb Some (disabled) work for commander artifacts. Hero artifacts window seems broken.
Minor fixes.
2012-05-19 18:27:23 +00:00
Michał W. Urbańczyk
d2756e8c88 Partial fix for #961.
Minor fixes for VS project files.
2012-05-18 22:47:54 +00:00
Michał W. Urbańczyk
d168f3eac2 * Implemented Moat functionality during siege (stops movement and deals dmg)
* Mostly implemented battle spells:
 - Fire Wall
 - Force Field
 - Land Mine
 - Quicksands
2012-05-18 20:50:16 +00:00
DjWarmonger
5435101182 Lots of fixes and improvements for Commander interface. 2012-05-18 19:44:15 +00:00
DjWarmonger
d491bc1c3a Commanders can level up. It's non-interactive yet.
Printing secondary skills for Commanders.
2012-05-18 14:02:27 +00:00
Ivan Savenko
97aeaa9f28 - moved ColorPutter's to separate SDL_Pixels.h file
- added Channels namespace for accessing subpixels in format-independent way
- fixed several big-endian issues
- re-generated buld system
2012-05-17 10:44:48 +00:00
Ivan Savenko
8de71c2b39 - fixed #711, #862, #321
- moved PutPixel templates into header to allow inlining
2012-05-15 08:47:11 +00:00
DjWarmonger
05742afd60 Final fix. AI heroes won't loose their turn when visiting adjacent objects. 2012-05-08 09:38:01 +00:00
DjWarmonger
ee2768ab07 - Some work for commanders
- New creature window - visit forum for package with necessary graphics: http://forum.vcmi.eu/viewtopic.php?p=6908#6908
- More AI optimizations - heroes will be processed starting from the fastest one.
- AI will check is GATHER_ARMY object is reachable
2012-05-07 12:54:22 +00:00
Ivan Savenko
82b60c00a2 - fixed compile issues. Renamed several "battleobstacleSplaced" to "battleobstacleplaced"
- implemented --disable-video command line switch
2012-05-05 08:32:55 +00:00
Michał W. Urbańczyk
5449546447 Advanced work on support for Quicksand and Land Mine spells. 2012-05-04 21:16:39 +00:00
DjWarmonger
bd2a0c2a2b "You have captured enemy artifact" window. All arts from commander & stacks will also be looted. 2012-05-02 08:37:11 +00:00
DjWarmonger
6f108c41df Fix for previous commit. Now artifacts from defeated hero are passed to winner. 2012-05-01 14:38:53 +00:00
DjWarmonger
5d311fb3ed - Hopefully fixed possibleActions for every case
- better algorithm for looting artifacts, yet buggy
2012-05-01 13:56:32 +00:00
DjWarmonger
c4d933c668 Quick fix for previous commit. 2012-05-01 09:02:27 +00:00
DjWarmonger
2fbc57e140 1. Better way to disable stack / cursor glitches
2. An attempt to handle looting artifacts after battle
2012-05-01 08:52:22 +00:00
Ivan Savenko
d479341a5a - gcc compile and warning fixes 2012-04-30 12:13:36 +00:00
DjWarmonger
25bdcd3cab - Fixed wrong creature teleported
- Support for Sacrifice
2012-04-28 19:40:27 +00:00
Michał W. Urbańczyk
7dc0d6878e Rewritten battle obstacles. New file for lib: CObstacleInstance.cpp.
Now obstacles should be placed exactly like they were in OH3. 
All problems with displaying obstacles in battlefield should be gone. They should be now matched to the single pixel. 
If there are still some discrepancies, please report them.
2012-04-23 19:56:37 +00:00
Michał W. Urbańczyk
017013a5a4 Throwing runtime_errors instead of string (or even char*) objects. 2012-04-22 07:32:45 +00:00
DjWarmonger
cd1a9414ac - Restored Genie random spell
- Fixed crashes in many strange creature-spellcasting scenarios, including stack with multiple cast abilities and Enchanter with non-stadard spell
2012-04-18 15:57:49 +00:00
DjWarmonger
05311dd30c - Fixed and simplified Teleport casting
- Stack artifacts will now not be wearable by hero (by default)
- Fixed crash involving clone
2012-04-18 13:24:18 +00:00
DjWarmonger
f720038ca5 - Battle interface fixes. It's possible to move stacks & attack
- Creature window allows to pass stack artifact to hero
- Fixes for Mana Drain, including #916
2012-04-17 14:50:23 +00:00
Ivan Savenko
66f5b5e2d7 - gcc compile fixes 2012-04-14 16:28:36 +00:00
Michał W. Urbańczyk
6ec3501909 Fixed #927. 2012-04-14 07:39:32 +00:00
Michał W. Urbańczyk
722ec55384 Redid stack artifacts. Broken save compatibility. Added serializer support for boost::variant and sending CStackInstace* over network by implicitly passing IDs. Moved seeds and checksum to StartInfo. Various minor changes. 2012-04-14 02:20:22 +00:00
Michał W. Urbańczyk
c61f536d8b * fixed remaining parts of #760
* it's possible to switch active creature during tacts phase by clicking on stack
* a few minor fixes after handleHex rewrite
2012-04-02 23:23:14 +00:00
Michał W. Urbańczyk
c80d9b0a51 Possibly "fixed" #915.
Fixed server output (printing ui8 as %d apparently breaks boost.format :/).
2012-03-31 15:10:16 +00:00
Michał W. Urbańczyk
a9af0da0ab Rewritten handling mouse movement over hex and l-clicking hex into one procedure. That way the tooltip and cursor are always accurate, because they're set by the same routing that selects action. Having that logic duplicated in two methods was unmaintainable. [though the new one is still monstrous...] By the way fixed numerous issues, including:
* #785 and parts of #760
* first aid tent can heal only creatures that suffered damage
* war machines can't be healed by tent
* creatures casting spells won't try to cast them during tactic phase
* console tooltips for first aid tent
* console tooltips for teleport spell
* cursor is reset to pointer when action is requested
* fixed a few other missing or wrong tooltips/cursors

Implemented opening creature window by l-clicking on stack. Master Genie's spell is picked by server, not client.
Minor changes.
2012-03-30 21:36:07 +00:00
Michał W. Urbańczyk
3cf4ebc163 Little more work on #760:
* no tactics in creature banks
* no spellcasting during tactics phase
2012-03-28 21:54:43 +00:00
Michał W. Urbańczyk
c698181c4c * simple mechanism for detecting desync after init
* moving stacks in tactics phase won't affect stack queue  (part of #760)
* moved all boost headers in server to PCH
2012-03-27 20:08:54 +00:00
Michał W. Urbańczyk
13f26fc3cb * Client is able to await for answers for multiple queries at the same time
* Hackish solution allowing AI undertaking actions from event-handling thread
* Fixed crash when death stare or acid breath activated on stack that was just killed
* minor fixes
2012-03-25 22:46:14 +00:00
DjWarmonger
c8c4c5b682 AI heroes won't trash for objects when exploring area together.
String logging for goal types. Fixes.
2012-03-13 20:33:00 +00:00
DjWarmonger
9518474ec7 First attempt to replace rule-of-a-thumb behavior with actual reasoning
- GATHER_ARMY goal replaces wander function
- Heroes will remember their own goals until they are fulfilled
- Goal search handles mutual dependency
- AI will recruit multiple heroes for exploration
- Lots of tweaks
2012-03-13 12:47:47 +00:00
DjWarmonger
88e9dec974 Fixed Thieves Guild window showing for all players.
It needed 11 files modified... :/
2012-03-07 14:05:54 +00:00
Michał W. Urbańczyk
324b11b09c Possible fix for #848 2012-02-20 23:02:32 +00:00
DjWarmonger
386ac80cf9 Fixed #855 & 861. Unsigned values were bad idea to prevent overflow. 2012-02-20 16:26:14 +00:00
Michał W. Urbańczyk
e4dc00abac * new file lib/UnlockGuard.h — unlock_guard is for unlocking a mutex for the scope time (RAII)
* all lock/unlock and unlock/lock pairs are done by RAII guards now
* fixed two possible crashes at the end of battle when last stack was killed by spell. That should fix #749 and #752.
* fixed a very nasty race condition, eliminating possible deadlock at the start of battle when human hero has tactics
* fixed #422
2012-02-19 21:03:43 +00:00
Michał W. Urbańczyk
4baf4e13ed * fixed #857 and #858
* fixed crash when AI attacked player before his first turn
* fixed various crashes when mass-effect spells affected town turrets in sieges
* some refactoring around spell positiveness
2012-02-16 21:19:07 +00:00
Ivan Savenko
0c3e88226f - (linux) replaced Genius with VCAI
- gcc set to c++0x mode
- most of gcc warnings fixed
- replaced boost::assign with initialization lists (if available in compiler)
- new cheat code: vcmiarmenelos - build everything
- updated linux readme
- minor fixes, applied patch for #98
2012-02-16 17:10:58 +00:00
Frank Zago
f7ac873303 Added test for librt, since linux needs it and OSX doesn't have it. 2012-02-13 02:15:05 +00:00
DjWarmonger
c724092028 Partial support for Clone spell. 2012-02-10 13:13:24 +00:00