1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00
Commit Graph

189 Commits

Author SHA1 Message Date
Ivan Savenko
652ceb2bde Finally shattered CObjectHandler.cpp into tiny bits
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
Ivan Savenko
0afdfa529c Moved all object-related files to lib/mapObjects directory.
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
Ivan Savenko
7f276185bd Moving files:
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
2014-05-24 02:07:54 +03:00
alexvins
065b8366fb [Spells] Added basic support for icons and sounds
* few changes in spell format
* save format changed
2014-03-10 16:00:58 +00:00
Ivan Savenko
2c4c964a45 Large rewrite of adventure map objects:
- replaced CDefObjInfo with ObjectTemplate class
- ObjectTempate is a direct member of objects instead of pointer with
shared ownership across CMap, handler and game objects
- simplified handling of objects that can change appearance (e.g. towns)
- all object queries regarding object appearance/blockmaps use h3m pos
instead of relative positions
- removed need of modhandler::reload
- cleanup of some old code
2014-01-02 23:48:38 +00:00
Ivan Savenko
71d6b0fea9 - Fixed some warnings from cppcheck
- Minor improvements to JSON validation
- Cleanup in SDL_Extensions.cpp
- Implemented new propery for creature format: idle animation duration
- Disabled idle animation of some of conflux creatures (was clearly
broken)
2013-11-06 13:42:58 +00:00
Ivan Savenko
9237e6d97d Improved json validation
- split JsonNode.cpp into JsonNode and JsonDetail files
- validation should be notably faster (at least 10% faster loading)
- support for "format" field, allows checking existance of files.
- minor fixes in schemas
- msk/msg files are now optional
2013-10-26 19:33:34 +00:00
Ivan Savenko
f6a3d6770f - chinese fonts now use fallback to H3 fonts for ASCII characters
- proper messages for not implemented main menu entries
- some cleanup of CMessage::breakText()
2013-10-20 21:53:27 +00:00
Ivan Savenko
e13dc872e0 - support for Chinese fonts (GBK 2-byte encoding)
- fixes #1446
2013-09-08 16:49:23 +00:00
Ivan Savenko
42879225f0 minor fixes:
- don't crash if image can't be player-colored (no palette)
- fixes #1447
- compile fix
2013-09-08 13:02:34 +00:00
Ivan Savenko
b87897096c Filesystem handling is now more flexible
- removed CResourceLoader class in favor of one that implements resource loader interface
- removed global pool of files, in favour of more dynamic approach
- renamed some files to match current situation
All these changes are needed mostly for future mod manager + .zip support
2013-07-28 14:49:50 +00:00
Ivan Savenko
4ac2a6e8b6 minor refactoring of VCMIDirs, bugfixing
- VCMIDirs represent XDG specification more closely (partial #1310)
- Minor bugfixing, including #1327 #1328 and #1306
2013-07-08 20:55:22 +00:00
Michał W. Urbańczyk
a1f545792b Compile fixes specific for VS 2012"
* Reverted std::bind to boost::bind. std::bind on Visual 2012 doesn't work in some cases (especially with std::ref), not sure why [but it seems to be a bug, since 2013 preview compiles the same code fine]. 
 * Move assignment operator for VS 2012.
2013-07-02 15:23:32 +00:00
Ivan Savenko
f82122d9be second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Ivan Savenko
2b45e13c5c c++03 -> c++11 switch:
- use std versions of function, bind and ref
- OVERRIDE -> override
- NULL -> nullptr
- use std versions of random distributions

NOTE: this may be last revision that supports gcc-4.5
2013-06-26 11:18:27 +00:00
Ivan Savenko
3285f1910b - finally, solution for imageIndex fields. All image lists will be generated in runtime
- iconIndex fields from json are no longer used
- simple check for missing icons on startup
2013-04-22 19:51:22 +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
mateuszb
dbec99ffc7 * PlayerColor and TeamID refactoring 2013-03-03 17:06:03 +00:00
Ivan Savenko
da6cb0ae12 - trade windows work with new creatures\artifacts
- removed some duplicated code in creature loading
2012-12-23 10:23:41 +00:00
Ivan Savenko
b5ebf443fc - all fonts handling is now in new file, UIFramework/Fonts.cpp/h
- common base class for H3 bmp and ttf fonts
- replaced fonts.txt with fonts.json
2012-12-19 17:24:53 +00:00
Ivan Savenko
e36bc50504 - support for new heroes and hero classes
- moved hero-specific data from text handler to CHero
- moved hero classes-specific data into heroClasses.json
2012-12-16 13:47:53 +00:00
Ivan Savenko
ffe8b99369 - reorganized hero classes
- artifact iconIndex should work
- new file with hardcoded string constants: lib/StringConstants.h

Note: some minor bugs, will fix soon:
- slow to open hero window
- hero adventure map images serialization is broken\incorrect
2012-12-14 15:32:53 +00:00
Ivan Savenko
e3231db1c9 - primaryResource and warMachine now use string ID
- fixed long delays on moving units in garrisons
- fixed bug on loading available spells from map
- removed unused bigImgs from Graphics
2012-12-11 12:12:46 +00:00
Ivan Savenko
1c5a4c669c - merged minimap.json into terrains.json
- removed no longer used fields from Graphics + portraits.json
 - work on pregame:
 - - new code for map options window icons + popups
 - - fixed bugs related to new towns
 - - less hardcoded magic numbers
2012-12-10 14:28:27 +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
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
15a7f43e11 - fixed #1075, #1080, #1081
- fixed some warnings from cppcheck
2012-09-26 13:13:39 +00:00
Ivan Savenko
8f936cd34d - added battleAI to CMake, compile fixes
- icons config for towns and creatures
2012-09-22 15:10:15 +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
c7789992c3 - fix for hero flags along with battlehero cleanup
- removed unused code
2012-08-29 14:55:31 +00:00
Ivan Savenko
708ad6ac7f - music player uses URI's instead of enum from music base
- #1045 and #1046 should be fixed
- moved pregame backgrounds to config/mainmenu
- animation can be overriden with .json multiple times
2012-08-06 07:34:37 +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
13de841e10 - minor tweaks to quest window
- fixed #531
- fixed query crash (empty funciton)
2012-07-21 20:16:54 +00:00
Ivan Savenko
9d2711fb51 - rewrote most of classes from adventure map window
-- new files: client/AdventureMapClasses.*
-- implemented all missing details from infobox
- textinput can handle numbers as input
- fixed several bugs caused by CIntObject changes
- fixed #988
2012-06-13 13:04:06 +00:00
Ivan Savenko
c512069177 - fixed #982:
-- replaced 8to24 bilt with sdl blit
-- fixed alpha values for images loaded via SDL
2012-05-27 14:07:12 +00:00
Ivan Savenko
665837d656 - hopefully better town development for AI
- fixed minimap blitting
- fixed crash on attacking town without moat
2012-05-19 16:22:34 +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
beegee1
156aa6e4d9 * Updated class - file - handling
* Renamed color constants
* Renamed class AdventureMapButton to CAdventureMapButton
* Moved basic controls like CTextBox from GuiClasses to CIntObjectClasses
* Moved new creature window from GuiClasses to CCreatureWindow
2011-12-22 13:05:19 +00:00
beegee1
2f5d6f2684 * CHexField renamed to CBattleHex
* CHexFieldControl renamed to CClickableHex
* CCreatureAnimation.cpp/.h moved to BattleInterface/CCreatureAnimation.cpp/.h
* Removed unused project files
* Added VCMI_client filters file for VS 2010
* Gathered common parts of StdInc.h in Global.h
* Boost.Spirit has been included in PCH for ERM project
* StopWatch renamed to CStopWatch
* GuiBase.cpp split up in UIFramework/...
2011-12-17 18:59:59 +00:00
beegee1
7f04ed990b Major refactoring. First part: BattleInterface
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
Frank Zago
8403d177aa Added endian aware macros read_le_u16 and read_le_u32 to replace readNormalNR(). Fixes a couple of issues on big endian machines. 2011-10-08 01:23:46 +00:00
Ivan Savenko
d113517db4 - fixed #108, #798, #810
- fixed several gcc warnings
- some work on JSON (const char* as input, no crash on missing value)
2011-09-23 15:58:18 +00:00
ori.bar
5b836f428a Partial fix for 37. Full fix for 27, 64, 600. Fix for bug where code tried to reload non existent file. 2011-09-04 00:04:48 +00:00
Frank Zago
04995938dc Fixed bad battle backgrounds (introduced in r2334). 2011-09-03 03:53:08 +00:00
Frank Zago
d8249d007f Replaced a few iterators with BOOST_FOREACH. 2011-09-01 04:01:54 +00:00
Frank Zago
35622913f9 Convert ERMU_to_picture.txt into ERMU_to_picture.json. 2011-08-31 23:27:33 +00:00
Ivan Savenko
3fc42134b7 - fixed #586, #757, #758
- fixed spinning projectiles for some creatures
2011-08-31 12:11:34 +00:00
Frank Zago
e5349c58cd Created wall_pos.json from wall_pos.txt. 2011-08-31 04:11:44 +00:00
Frank Zago
71b1eef6b6 Merged AC_desc.txt into battles_graphics.json. 2011-08-31 03:27:18 +00:00
Frank Zago
68090a4ec6 Created battles_graphics.json from battleBack.txt and battleHeroes.txt. 2011-08-31 01:11:41 +00:00
Frank Zago
0a58d1f2cf Created town_pictures.json from townPics.txt. 2011-08-31 00:35:04 +00:00
Frank Zago
21f72c61b1 Created creature_backgrounds.json from cr_bgs.txt. 2011-08-31 00:12:02 +00:00
Frank Zago
81e50c9f2b Convert hero portraits config file to json. 2011-08-20 18:46:52 +00:00
beegee1
cef16ccc74 * Fixed battle positions bugs: #174, #172, #400
* Turret creatures have no longer a standing animation
* Turret creatures get cut at a certain y position(lower part of shooters are hidden)
2011-06-27 17:11:17 +00:00
Michał W. Urbańczyk
617e1f962e New files for lib:
* lib/ERMScriptModule.cpp
* lib/ERMScriptModule.h
* lib/CObstacleInstance.h

More jugglery with callbacks. Moving stuff from CGameState to CGameInfoCallback. Work on unified game events interface for player (AI or GUI) and script module. Directing events to ERM interpretetr, first attempts of calling some triggers. Crashy, if there any scripts.
Some other changes, including fighting amount of includes in includes and tracking of hero visits (need further work).
2011-05-09 22:20:47 +00:00
beegee1
36d29424f0 * Turrets, keep and turret covers can be now be placed by altering wall_pos.txt
* Fixed recruitment slider bug
* Fixed #271
* Improved color management
2011-04-30 19:52:35 +00:00
Michał W. Urbańczyk
1afcaf2817 * CThreadHelper.cpp now belongs to VCMI_lib project
* fixed console on Windows (restored old code)
 * GeniusAI won't get blocked when it has a hero with tactics in battle
 * fixed an issue with switching turns in hot-seat mode when there is Cover of Darkness active
 * suppressed bonus system console output: it goes only to the logfile
 * [win32] setting thread names (debug purposes)
 * minor fixes
2011-02-24 13:57:47 +00:00
mateuszb
5e0b0e49b2 * bug 392 fixed 2011-02-23 18:21:51 +00:00
mateuszb
49083c4e5a * ConstTransitive CGI more or less done
* hch contents distributed to more appropriate folders
2010-12-20 21:22:53 +00:00
mateuszb
b15deaa203 * more constTransitivePointers in GameInfo, separated client GUI classes from it, moved def handlers from CGDefInfo 2010-12-19 14:39:56 +00:00
Michał W. Urbańczyk
848a00bc6f Stacks #4 -> giving creatures still needs to be fixed. 2010-12-05 23:10:02 +00:00
Michał W. Urbańczyk
32ce20af15 Moving stack system to pointers, part #1 2010-11-22 00:34:46 +00:00
Ivan Savenko
9771dd12ff - changes in LodHandler:
-- file type (text, image...) can be specified in getFile(), all hacks removed
-- replaced Nodrze with std::set
-  some gcc warnings fixed
2010-11-09 11:27:58 +00:00
Michał W. Urbańczyk
4434a73651 #630, ofstream doesn't have constructor from std::string on older compilers. 2010-11-07 12:14:31 +00:00
Michał W. Urbańczyk
30ae49864a Workaround for the font issue. 2010-11-05 20:48:54 +00:00
Ivan Savenko
8319e5e703 - town events implemented
- merged CustomImagecComponent into SComponent
- moved some subID-related code from CastleInterface
2010-08-18 14:24:30 +00:00
mateuszb
9c60629bcf * minor changes 2010-08-17 14:58:13 +00:00
mateuszb
9445e5b184 * small refactoring
Please don't touch CGI->state directly in client code - use callbacks instead. I'd like to make some mechanics-critical handlers in CGI const - a lot of work, certain changes have been done here.
2010-08-16 09:54:09 +00:00
mateuszb
a7d3c5fbca * minor cleanups 2010-07-16 14:22:18 +00:00
Michał W. Urbańczyk
d0ff61807d Obtaining town instance pointer via cb. Plz, don't access gamestate directly from player interface! Everything has to go via callback.
Commented out giving starting artifact - new artifact randomization make it crashing. Please fix it.

New control - CTextBox - for multi-line text with optional slider. Used it for map description and info windows. Related changes. Fixes #22 and #96.
2010-07-06 02:10:26 +00:00
Michał W. Urbańczyk
8bda10b695 * Freelancer's Guild support (both town structure and adventure map object)
* fixed crashes on r-click on hero in tavern and adv map
* fixed descync issue
* allow free movement FROM guarded tile
2010-05-26 09:47:53 +00:00
Michał W. Urbańczyk
a14606f32d New bonus system. Unified HeroBonus and StackFeature. Still early version, will need improvements and development.
If you encounter any new crashes / bugs / unacceptable slowdowns, please PM me.
2010-05-02 18:20:26 +00:00
Michał W. Urbańczyk
993036e4a1 New non battle stack class. (Base for future improved bonus system, stack exp / arts)
Fixed #443
2010-04-02 02:07:40 +00:00
Michał W. Urbańczyk
eec43d3c58 Version set to 0.80. (real, fixed release)
Hopefully fixed #412, #413, #414
2010-03-02 20:12:32 +00:00
Michał W. Urbańczyk
e6f31b7500 Compilation fixes for VC10.
Changes towards hot-seat support.
2010-02-20 13:24:38 +00:00
mateuszb
8637b021cc * (hopefully) full reading of h3c
* minor changes
2010-02-12 15:04:01 +00:00
mateuszb
d0bf334394 * reading of .h3c headers
* a bit of readNormalNr deduplication
* minor changes
2010-02-09 13:48:14 +00:00
mateuszb
5fe80d89ef * warning fixed (use of an uninitialized variable) 2010-02-05 10:54:59 +00:00
Ivan Savenko
3aefb896fe - Created config file for true type fonts (disabled by default)
- Implemented buildings with bonuses for defending hero (glyphs of fear, fountain of fortune, some grails)
- Minor fixes
2010-02-04 15:50:59 +00:00
Ivan Savenko
3dbeaa5ef8 - Moved most of text output to original fonts
- Temporary disabled ttf output
2010-02-02 16:24:53 +00:00
Ivan Savenko
0f22ba0c0f - First part of kingdom overview window (not a 100% stable)
- Implemented town buildings: dwarven treasury, ballista yard, partially - mystic pond
2010-01-25 21:25:14 +00:00
Ivan Savenko
def041a8c9 #39 and #106 - fixed cosmetic buildings behaviour
#102 - fixed config + requirements system
#161 - extended clickable rectangle
and some minor fixes
2009-12-29 13:40:16 +00:00
mateuszb
f22570712e * again, please don't include headers in headers if not necessary
* minor changes
2009-10-26 15:01:12 +00:00
OnionKnight
95808db933 * Right-click info window for castles and garrisons you do not own shows a rough amount of creatures instead of none.
I don't really know under which circumstances no information at all is shown in the original H3 so I haven't dealt with that.
2009-10-25 19:32:02 +00:00
Frank Zago
1609b8fdb9 Made all paths dependent on DATA_DIR, USER_DIR, BIN_DIR or LIB_DIR. Data access can now be separated from saved games and binaries.
Fixed a file handle leak.
Bumped revision to 0.74b (linux).
Reworked the build system to remove uneeded dependencies (linux).
Removed use of PATHSEPARATOR since Windows can use / too.
2009-10-04 02:02:45 +00:00
Michał W. Urbańczyk
ee3c318ed9 Version for development release 0.73c
* version set to 0.73c, bumped save format version, updated changelog
* new stack queue for higher resolutions (needs new graphics!)
* improved stack ordering during battle
* many minor fixes
* temporarily disabled AI
2009-09-20 12:47:40 +00:00
OnionKnight
3d2ab9c753 * Garrison dialogs for garrisons. Required a bit restructuring of the code to take removable units into account. All showGarrisonDialog methods and the GarrisonDialog struct now takes it as a parameter. Visiting ally towns would benefit from this other than garrisons.
* Garrison right-click information shown, but not taking detailed info into account.
* Town info dialogs centered around cursor.
2009-09-09 17:49:03 +00:00
mateuszb
49a142b92e * minor changes 2009-08-17 13:08:05 +00:00
Michał W. Urbańczyk
b4070c6b3e Third part of GUI reorganization:
* Rewritten pregame
* FNT fonts support
* Several additions to GUI system. 

Changes are significant, some things may be broken.
2009-08-17 08:50:31 +00:00
Michał W. Urbańczyk
78afb07f52 New, experimental crashhandler for windows (creates minidumps).
Several minor fixes and improvements.
2009-07-31 20:10:22 +00:00
Michał W. Urbańczyk
9fd4b5bb62 Fourth part of sailing code.
Support for Shipyard (both for town and adventure map versions). Improved boat displaying code. Minor changes.
2009-07-26 03:33:13 +00:00
mateuszb
4bc0d1ace6 * partially fixed problems with boats
* minor changes
2009-07-25 12:49:45 +00:00
Michał W. Urbańczyk
fbd496b756 Infowindows for enemy towns. 2009-07-20 02:56:35 +00:00
Michał W. Urbańczyk
c9cac18482 Support for infowindows on enemy heroes. 2009-07-20 01:47:49 +00:00
Michał W. Urbańczyk
9272f501cd Second part of sailing support:
* boat graphics and appropriate flags are used
* disembarking possible
* new objects supported:
 - Flotsam
 - Shipwreck Survivor
 - Sea Chest
2009-07-19 03:10:24 +00:00
Michał W. Urbańczyk
2ca7cc5b5c First part of Boat and sailing support.
[It's possible to enter the boat and move by sea, graphical glitches removal and disembarking will be done soon]
2009-07-19 01:00:19 +00:00
Michał W. Urbańczyk
b551f6a72b Partially done support for external creature dwellings. 2009-07-06 19:41:27 +00:00