Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
Michał W. Urbańczyk
d1d67caa0b
Get rid of some old serialization workaround code that is not needed because serializer was improved in the meantime.
...
Fixing #1254 .
Fixed possible race causing corruption of the server savegame.
2013-04-20 18:44:55 +00:00
Michał W. Urbańczyk
e8354908c3
Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955 , #1053 , #1063 , #1191 . Needs testing.
...
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
beegee1
c10266ed97
- Reduced complexity to use the CMapGenerator(simpler interface) - Removed h3m.txt and tchar_amigaos4.h
2013-04-14 18:52:05 +00:00
beegee1
f10ba48c77
- Fully integrated new logging API(ERM, Editor, missing parts) - Removed old logger
2013-04-11 15:58:01 +00:00
beegee1
6827fcdb53
- Integrated the logging API into the server project - Simplified CBasicLogConfigurator usage(exception handling, logging, log file appending)
2013-04-10 17:18:01 +00:00
beegee1
c7c2686379
- Integrated the logging API into the client and the lib - Remove some more comments and switched to /// style - Fixed recursive locks - Added Global.h to CMakeLists(now visible in qt-creator) - Removed usage of shared_mutex - Added unique_ptr to CLogger targets
2013-04-09 14:31:36 +00:00
beegee1
30bcec42c6
- Renamed client/BattleInterface to client/battle and client/UIFramework to client/gui
2013-04-07 11:52:07 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00
Ivan Savenko
c927913f5f
- Improved json validation. Now it support most of features from latest json schema draft
...
- Set of schemas in config/schemas directory that are used to validate input from mods.
2013-04-02 17:06:43 +00:00
Ivan Savenko
5082dafd62
- h3 hero classes and artifacts can be modified via json
...
- commander artifacts are now merged into main artifacts.json, todo - split 2.5k file into something manageable
2013-03-12 14:56:23 +00:00
mateuszb
dbec99ffc7
* PlayerColor and TeamID refactoring
2013-03-03 17:06:03 +00:00
Ivan Savenko
b5fcefe455
- moved all system-specific handling of filesystem to VCMIDirs.cpp (new file)
...
- fixed #1128 , artifact constituents are now stored as pointers
2013-03-02 18:41:25 +00:00
Michał W. Urbańczyk
8c7c4789ca
Attempt to apply patch from stopiccot.
2013-03-01 21:32:26 +00:00
Ivan Savenko
74ac44662c
- a bit less memory usage during compilation with gcc, new file - RegisterTypes.cpp
...
- fixed several issues related to visiting town by ally
- fixed #1215
2013-02-23 12:22:23 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +00:00
mateuszb
af5287c193
* fixed opening custom campaign selection window
...
* artifact positions refactored
* vstd::advance allows moving between enum values
2013-02-06 23:24:43 +00:00
Ivan Savenko
56ffd05648
patch from stoppicot:
...
1. vcmiclient now usese custom Info.plist
2. Original H3 game data is now also stored in Application Support folder
2013-02-06 15:39:34 +00:00
Michał W. Urbańczyk
17755caa10
* fixed #1199
...
* fixed advancing between misisons in campaigns
2013-02-05 20:06:13 +00:00
Ivan Savenko
46eb0b3daf
- wrokaround/fix for #1177
...
- removed assert in Fonts.cpp (can be triggered a lot by old pregame\battles code)
- fixed battle console text positioning
- fixed some new compiler warnings
2013-01-20 22:49:34 +00:00
Michał W. Urbańczyk
5b919d88eb
"More stable" opening AI.
2013-01-20 12:06:49 +00:00
Ivan Savenko
62e99a1ae5
- basic loading screen, no progress bar
...
- startGame() call will run in separate thread if loading screen is used (looks OK so far)
2012-12-17 18:01:17 +00:00
Ivan Savenko
423a226e31
OS X patch from stopiccot
2012-12-15 07:24:25 +00:00
Ivan Savenko
04358ed0c6
multiple changes in config system, breaks existing mods. See upcoming post on forums.
...
- filesystem initialization works in conjuction with modHandler
- (config) split buildings.json in multiple files in "factions" directory
- (mods) merged filesystem.json and config/mod.json into mod.json
2012-12-12 11:13:57 +00:00
Ivan Savenko
c9dd80ea6d
- moved json-related functions (e.g. ParseBonus) into JsonUtils namespace
...
- replaced JsonNode::toStdVector with more universal convertTo
- some renaming in StartInfo
2012-12-02 12:21:44 +00:00
Ivan Savenko
2643762f08
Mac OS patch from stopiccot
2012-12-01 06:30:52 +00:00
Ivan Savenko
f7915d9e61
- removed creature-related code from ModHandler
...
- new towns can be loaded as mods
- removed separate DefInfos for towns\capitals
- a bit simpler handling of adventure map def's
2012-11-13 11:52:23 +00:00
Michał W. Urbańczyk
f8a27a9fdb
* Moved CConfigHandler from client to lib, CMake/Makefile need updating. I believe other projects besides client also need access to settings. (surprisingly there was a "server" category used only by client... and now VCAI.)
...
* It is possible to set the battle ai that'll be used by neutrals by typing in VCMI console:
setBattleAI <AIName>
VCAI also respects that setting and uses given AI as its battle back-end.
2012-09-29 10:59:43 +00:00
mateuszb
18bd898cb1
* fixed bug when starting certain maps in campaigns
...
* introduced TPlayerColor typedef
2012-09-24 16:14:53 +00:00
DjWarmonger
e2bfd53c98
- Fixed some issues and crashes
...
- Simplified projectile handling. New creatures can now shoot.
2012-09-21 19:49:35 +00:00
mateuszb
8e3de98059
* restoring campaign features
...
* minor improvements
2012-09-21 17:59:54 +00:00
mateuszb
4010978a91
* a bit of work on campaigns
2012-09-19 17:41:22 +00:00
mateuszb
fb2f19b4c5
* some work on campaigns
2012-09-18 17:47:52 +00:00
Michał W. Urbańczyk
96a92d0f45
* fixed remaining part of #1071 — the screen surface has always to be created in the main thread
...
* hold events in the queue by value (less ptr jugglery)
2012-09-11 14:25:19 +00:00
Michał W. Urbańczyk
d935e87dd8
#1071 should be fixed.
2012-09-09 23:57:22 +00:00
Ivan Savenko
deb22b3674
- (linux) use empty video player if av_register_protocol function was not found
2012-08-18 10:29:54 +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
Michał W. Urbańczyk
79f8e0ea3c
Fail gracefully when file pointed by --start path doesn't exist.
2012-07-20 20:57:18 +00:00
Ivan Savenko
235cf458d7
- fixed text duplication in choice windows
...
- fixed compile issues
- added unused and untested for now CComponentBox
2012-07-02 21:51:48 +00:00
Ivan Savenko
770a6e077c
- handling of incorrect or missing configuration files (settings.json\defaultSettings.json)
...
- better code for recruitment window, fixes #1013
- minor tweak to adv.map classes
2012-06-22 11:40:16 +00:00
Ivan Savenko
d60f2d57a0
- first part of CIntObject API clean-up.
...
- - mostly remove usage of (de)activateSomething functions
- - CIntObject's can be safely deleted in active state or without removing from parent first
- - Added CWindowObject to use as base of all windows (will be required for such features as shadows)
Report any crashes or glitches - it should not cause any issues apart from more console output.
TODO:
- remove redundant (de)activate and show(All) calls
- decrease usage of blitAtLoc\printAtLoc methods
- switch all windows to new base
2012-06-02 15:16:54 +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
Michał W. Urbańczyk
ee6e9fcc7f
Fixed #947 .
2012-05-22 21:08:16 +00:00
Ivan Savenko
45c2809a40
- pregame will use same resolution as main game
...
- disabled most of now unused code for changing resolution
- added missing spell effect sounds
- adventure map spells sounds
- remaining fixes for big endian systems
2012-05-18 17:35:46 +00:00
Ivan Savenko
90ff99d4eb
- fixed ancient #31
...
- fixed #603
2012-05-14 16:29:06 +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
017013a5a4
Throwing runtime_errors instead of string (or even char*) objects.
2012-04-22 07:32:45 +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
8baec8b093
Implemented #715 (load game from sys options). Fixed #224 . Minor improvements.
2012-04-09 02:53:50 +00:00