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

801 Commits

Author SHA1 Message Date
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +02:00
SoundSSGood
4005b48360 Regressions fixed 2023-01-08 23:31:12 +02:00
SoundSSGood
c706b4d419 CArtifactsOfHero::artifactMoved updated 2023-01-08 23:31:06 +02:00
SoundSSGood
6b7ce798d0 artifactTransitionPos created 2023-01-08 23:24:13 +02:00
Dydzio
58fe0e6bd9 Apply command review suggestions + minor cleanup 2023-01-08 20:30:57 +01:00
Dydzio
16d06827d6 Change thread join to detach 2023-01-07 15:42:34 +01:00
Andrii Danylchenko
9f9798d3a4 Update android JNI bindings 2023-01-07 09:26:01 +02:00
Dydzio
7708885cf9 Use / as command prefix 2023-01-06 22:53:10 +01:00
Dydzio
4157feb2f3 Small cleanup 2023-01-06 21:20:46 +01:00
Dydzio
622e012fcf Allow ingame console to use clientside commands and print output 2023-01-06 21:01:54 +01:00
Ivan Savenko
9a620a9091 Refactoring of GeneralTextHandler to reduce boilerplate code in callers 2023-01-01 15:13:02 +02:00
Ivan Savenko
01d0cd4f7a Changed configurable UI to match text refactoring:
- help.txt strings are now loaded as (hover, help) pairs
- renamed string pairs from translate.json to use (hover, help) form
- interface builder will always load label texts via unified ID
- interface builder way of loading buttons text has been changed:
- - field has been renamed "zelp" -> "help" for consistency
- - "help" field now only accepts string or object json type
2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c Introduced string identifiers for H3 texts, still WIP 2023-01-01 14:56:44 +02:00
Ivan Savenko
5d80457eda Merge with vcmi/develop branch 2022-12-30 00:52:23 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Ivan Savenko
bb65246aa3 Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-26 01:15:44 +02:00
Ivan Savenko
4b3d93f378 Minor cleanup 2022-12-25 17:43:55 +02:00
Ivan Savenko
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Nordsoft91
785787e454
Merge branch 'develop' into interface-builder 2022-12-24 21:56:29 +04:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Ivan Savenko
8b207fae63 ECreatureAnimType enum -> enum class 2022-12-22 01:04:58 +02:00
nordsoft
7e7071fc95 Merge remote-tracking branch 'upstream/develop' into interface-builder 2022-12-22 01:24:29 +04:00
Ivan Savenko
c835a84051 Moved all GUI handling from BattleInterface to BattleControlPanel 2022-12-21 17:02:53 +02:00
Ivan Savenko
822df113f3 Fix formatting 2022-12-21 13:18:16 +02:00
Ivan Savenko
b373c4a2b6 Fix Status Bar & In-game console activation 2022-12-19 22:53:31 +02:00
Ivan Savenko
a75b437fef Disable text input on window deactivation 2022-12-19 22:06:01 +02:00
Ivan Savenko
d29c9d6445 Fortify CLabel interface to prevent unchecked access 2022-12-19 22:04:50 +02:00
Ivan Savenko
fc4d2a31b4 Fix redrawing of hero exchange window on artifact (de)assembly 2022-12-18 15:09:33 +02:00
Ivan Savenko
57dba9433c Correctly update drag-and-drop cursor if our window gets deactivated 2022-12-18 14:34:38 +02:00
nordsoft
d7b0770b71 Remove excessive code 2022-12-17 20:50:33 +04:00
nordsoft
b1f2c7aed4 Team alignments implemented 2022-12-17 08:19:16 +04:00
nordsoft
d3c3feb037 Configurable template selection 2022-12-16 02:15:53 +04:00
Ivan Savenko
864990db13 Implemented Bloodlust & Petrification effect
- ColorFilter is now in separate file
- Moved lerp function into global.h
- Bloodlust visuals mostly matches H3
- Petrify visual matches H3
- TODO: Adjust timing of all ColorFilter efects to match H3
- TODO: Petrify should pause stack animations
- TODO: ColorFilter-powered effects should be configurable in Spell system
2022-12-15 23:24:03 +02:00
Ivan Savenko
7857668158 Implemented group attack animations for dragons/Hydras/etc 2022-12-14 14:21:58 +02:00
Ivan Savenko
1dea1854ae Moved battle animation enum's into new file 2022-12-13 21:31:49 +02:00
Ivan Savenko
d40d5250b7 changes to status bar according to review comments:
- renamed IStatusBar API to more clear names
- removed "locking" of status bar
- added comments for IStatusBar API
- removed dynamic_casts to CGStatusBar, now IStatusBar API is fully
sufficient
2022-12-12 18:23:41 +02:00
Ivan Savenko
ac839ad26a Changes to rest of the code according to review:
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Ivan Savenko
c855823528 Renamed files in client/battle to match new names of classes 2022-12-09 13:38:46 +02:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
908e6892f3 Removed CGHeroInstance::getPosition pseudo-override
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
495e0b3657 Merge remote-tracking branch 'vcmi/develop' into battleint_refactor 2022-12-01 23:58:01 +02:00
SoundSSGood
3bf0cfe4fa
Merge branch 'vcmi:develop' into refactoring-art 2022-11-29 22:34:08 +02:00
Ivan Savenko
a512e0d58f Fixed ugly solid-white status bars in pregame, removed operator* from
CPicture
2022-11-29 17:07:21 +02:00
Andrii Danylchenko
d6ca8017bf Clickable status bar to send messages with on mobile 2022-11-29 08:05:54 +02:00
SoundSSGood
909dcb82fa use ArtifactID 2022-11-29 00:32:18 +02:00
Ivan Savenko
3e58d1e3c5 Merge remote-tracking branch 'refs/remotes/vcmi/develop' into battleint_refactor 2022-11-28 16:10:13 +02:00
Ivan Savenko
0cae259f53 Most of rendering in BattleInt is done via canvas
- refactoring of CBattleStacksController.cpp
- moved EAlignment enum to Geometries.h from CIntObject
- renamed EAlignment to ETextAlignment, to avoid conflict with good/evil
alignemt
- ETextAlignment is now enum class
2022-11-26 23:12:20 +02:00
Ivan Savenko
abb553d975 Next step of code refactoring:
- refactoring of CBattleFieldController code (except for 2 arcane
methods)
- introduced class CCanvas for encapsulated rendering surface
- battleint rendering is now partially done with CCanvas
- removed unused includes of CBitmapHandler
2022-11-25 11:46:47 +02:00
SoundSSGood
e6e669d024 ArtifactUtils::isSlotBackpack() func + refactoring 2022-11-18 23:13:44 +02:00
SoundSSGood
30bbb57619
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-18 22:15:03 +02:00
Ivan Savenko
7a6ad671ab Separated battle control panel into new class, refactoring of
CGStatusBar to allow shared API with battle console
2022-11-18 17:54:10 +02:00
SoundSSGood
e9ab894638 backpack assemble 2022-11-18 01:55:29 +02:00
SoundSSGood
16b650136a backpack disassemble 2022-11-18 01:27:39 +02:00
SoundSSGood
2d078132bf assemble in backpack initial 2022-11-17 19:43:54 +02:00
lainon
7fdad4e0f6 Code refactor following C++ standard and condition fixes 2022-11-15 03:20:55 +03:00
Andrii Danylchenko
5f5a259974
Merge pull request #1013 from kambala-decapitator/ios-chat-text-enter
use SDL's standard input handling for in-game console
2022-10-01 19:50:15 +03:00
Andrey Filipenkov
8c8394b6ed fix passing coordinates of the status bar when triggering in-game console input 2022-09-29 13:24:23 +03:00
Tomasz Zieliński
20c102e648 Remove T prefix from new typedefs 2022-09-29 11:44:46 +02:00
Tomasz Zieliński
f386f42166 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
#	lib/battle/CBattleInfoEssentials.cpp
#	lib/rmg/ObstaclePlacer.cpp
#	lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Tomasz Zieliński
2bd30556a3 Store TerrainType by havlue and handle by reference 2022-09-26 09:17:55 +02:00
Tomasz Zieliński
4ea57ea7fc A variety of suggested style tweaks 2022-09-25 09:33:56 +02:00
Andrey Filipenkov
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
2b1e6ca342 prevent showing keyboard automatically in main menu
closes kambala-decapitator/vcmi#10
2022-09-24 15:55:18 +03:00
Tomasz Zieliński
a5077245a8 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
2022-09-23 20:01:13 +02:00
Tomasz Zieliński
fa31309eed Fixed minimap colors 2022-09-21 14:42:22 +02:00
Tomasz Zieliński
494b0f0226 First version that compiles 2022-09-21 11:34:23 +02:00
Tomasz Zieliński
b20f649521 stash 2022-09-19 16:13:58 +02:00
Andrey Filipenkov
a320af837d fix includes in client subdirectories 2022-09-18 17:43:40 +03:00
Nordsoft91
4bd0ff680a Random map generator refactoring (#762)
random map generator refactoring and improvements
2022-09-11 11:31:27 +03:00
Nordsoft91
aaa07e4d2e New terrain support - part 1 (#755)
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Andrii Danylchenko
2710d1df50 Android: make keyboard appear and disappear only on demand 2022-05-08 17:09:17 +03:00
Andrii Danylchenko
0d15089dd4 Do not remove hero if left only with commander 2022-05-01 09:30:30 +03:00
Andrii Danylchenko
84948820b2 exchange window move single stacks buttons 2022-01-03 15:13:46 +02:00
Andrii Danylchenko
8fa0b30985 Army exchange implementation 2022-01-03 15:13:46 +02:00
Arseniy Lartsev
c502cfc223 Added constructor with target size argument for CAnimImage
The image will be scaled to the given width (height is ignored)
2022-01-03 15:13:46 +02:00
Dmitry Orlov
8cae3398ba Feature: Army Management Shortcuts should work as in HD+ Mod 2021-11-28 20:00:43 +02:00
Dmitry Orlov
30b879ae5d Fixed: duplicated bonusing building. Improved: opposite bonus propagation 2021-09-12 14:30:54 +03:00
Dmitry Orlov
25d9ea1ddf Feature: Opposite Side Limiter 2021-09-04 14:15:38 +03:00
Dmitry Orlov
6f0864b47c Feature: Town Negative Bonuses. Fix: Negative bonus bearers should not be affected 2021-09-04 14:15:37 +03:00
Andrii Danylchenko
9c8d776398 Merge branch 'develop' into handlersAbstraction
# Conflicts:
#	CI/linux/before_install.sh
#	CI/mac/before_install.sh
#	CI/mxe/before_install.sh
#	lib/CModHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.h
#	lib/mapObjects/CommonConstructors.cpp
#	server/CGameHandler.cpp
#	test/CMakeLists.txt
#	test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
AlexVinS
483a4689ce Fixes for code review issues 2021-02-20 04:57:50 +03:00
Vladislav Yakovlev
8e57d36b8c [3167] Fix SDL_StopTextInput extra calls 2021-02-15 21:11:18 +03:00
AlexVinS
a59e12ca5f tweaks 2021-02-15 15:03:32 +03:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
c99b8b54e6 Fix: 'Load' and 'Main menu' in-game buttons should work properly 2021-01-17 19:18:26 +03:00
Dmitry Orlov
39de2f6435 Fix: Morale bonus should be shown correctly 2020-11-11 22:43:40 +03:00
Dmitry Orlov
e7665ba5de Fix: Issue #3151 - text centralization 2020-10-16 06:08:59 +03:00
John Bolton
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
John Bolton
6d8f1e4530 Fixed incorrect usage of const std::shared_ptr. Resolves 0003142.
Replaced const TBonusListPtr with TConstBonusListPtr where necessary
Replaced const std::shared_ptr<T> with std::shared_ptr<const T> where necessary.
Removed superfluous use of const.
Replaced const std::shared_ptr<T> with const std::shared_ptr<T> & in function parameters and ranged for-loops.
2020-09-30 22:56:28 -07:00
laikh
90e2ab58a8 Include header SDL_Compat.h in AdventureMapClasses.cpp 2020-07-05 21:10:29 +08:00
toneyisnow
8341ba3c27 Update according to comments. 2020-01-22 23:07:20 -08:00
toneyisnow
01ca21ae67 Fix bug: LobbyScreen UI has a bug on the Difficulty toggle group.
Scenario: In LoadGame Lobby screen, the difficulty toggle group is showing multiple choices, but actually only one valid is working.

The reason is, in the Lobby screen Initialization code will set the difficulty = 0, and each time the player changes a map in the selection, the toggle group control is not resetting the difficulty buttons to disabled state.

How fix:
Add a new method to ToggleGroup class: setSelectedOnly, which will disable all other buttons and then set the selected button.

Note:
During the game loading time, the client is loading the map, and send a NetPack to server: LobbySetMap, and send a NetPack to Interface: LobbyUpdateState.
In the LobbyUpdateState it sets the map difficulty.
2020-01-21 01:09:08 -08:00
Dydzio
fd9f16142d Revert old statusbar hackfix 2019-06-06 22:56:14 +02:00
Dydzio
a06ca4b5cf Tweak statusbar options, fixes mouse stuttering 2019-05-19 16:19:16 +02:00
Dydzio
c428e326b9 Optimize button responsiveness during pregame options 2019-04-20 18:26:54 +02:00
Michał Janiszewski
7be9aa4868 Prevent shadowing of function arguments by local vars 2018-10-29 16:56:14 +01:00
KasyanDiGris
fa5a14e2d8 Stabilize vcmi (#488)
* Shared statusbar
* Fixed server fails on client disconnected
2018-08-26 19:09:56 +03:00
Alexander Shishkin
75f8c8b29a Gui cleanup4 (#446)
* use smart pointers for almost all widget fields
* use SDL2 texture for cursor
* a lot af small tweaks and formatting
* removed CompImage class, it is actually useless as long as regular SDLImage support margins
* CGuiHandler: use smart pointers for [push|pop]Int
2018-07-25 01:36:48 +03:00
Andrii Danylchenko
ee033e9c9c fix android build 2018-05-25 22:57:29 +03:00
Alexander Shishkin
5c09f751b3 Gui cleanup3 - UI refactoring to use smart pointers (#440)
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
Arseniy Shestakov
ac66fc7f42 Full rework of pre-game interface and networking
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.

TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
Arseniy Shestakov
14f03e22da CLabelGroup: add currentSize method
Might be someone will suggest me better name.
And actually I need method to clean group too.
2018-04-03 22:11:14 +07:00
Arseniy Shestakov
ab2b9086d3 CLabel: add methods getWidth, setColor, setAutoRedraw
For somethign like map list we need to change CLabel data without redrawing it.
2018-04-03 22:11:14 +07:00
AlexVinS
b09a54fa9c [tweaks] IImage * -> auto 2018-03-30 14:29:55 +03:00
AlexVinS
43acfa160b [tweaks] IImage * -> auto 2018-03-30 14:02:04 +03:00
AlexVinS
031d3204f7 Fixed "Error: accessing unavailable frame" in some cases 2018-03-30 13:40:40 +03:00
Raphnalor
0f00dbf8cf Fix highlighting of a selected bonus for campaign. (#432) 2018-03-17 12:23:22 +08:00
jerryskye
dec825fdc2 redefined lctrl to lgui for macs (#426)
keyboard shortcuts for splitting armies will use left command key
instead of left control
2018-03-04 10:46:29 +08:00
Nikolay Shalakin
3795985de9 Eliminate warnings / errors. Pull request #388 2018-02-11 15:17:14 +03:00
FeniksFire
1331c81a8b Update graphics for QuickRecruitmentWindow
Adding graphics maded by edeksumo
2018-01-13 09:49:29 +01:00
FeniksFire
86021f0bda Add keyboard shortcuts for quick army management from HD mod.
Just want add fast some really nice shortcuts from HD mod.
1) [LShift] + LClick – splits a half units from the selected stack into
an empty slot. WARNING: The second behaviour ("smart split, ignores
single creatures") of this HD mod option is not done.
2) [LCtrl] + LClick – splits a single unit from the selected stack into
an empty slot.
3) [LCtrl] + [LShift] + LClick – split single units from the selected
stack into all empty hero/garrison slots
2017-10-27 05:21:33 +02:00
ArseniyShestakov
4149662845 Merge pull request #376 from vcmi/newAnimations
New animations
2017-10-11 16:18:06 +03:00
godric3
f03a0b1151 fix #2731, now no morale, and no luck texts show properly 2017-10-05 17:13:49 +02:00
AlexVinS
270e1b75ce Support for creature 2-hex attack, alternate death and cast animation types
* margin option .json animation
* Use ranged attack animation for spell cast if there is no cast animation, display cast animation only on active casting.
2017-09-12 19:51:54 +03:00
AlexVinS
9423555015 Declare ownership of CCursorHandler::dndObject
# Conflicts:
#	AI/FuzzyLite
#	client/gui/CGuiHandler.cpp
2017-09-05 15:25:31 +03:00
Henning Koehler
abdca71828 skill names and descriptions are fully managed by CSkillHandler 2017-08-30 22:35:23 +12:00
Henning Koehler
0357a4fe3b enabled config of skill descriptions 2017-08-26 10:08:06 +12:00
AlexVinS
64d9dadd64 Logging cleanup. 2017-08-11 15:47:50 +03:00
AlexVinS
85e952f25f Logging cleanup 3 2017-08-10 20:17:10 +03:00
AlexVinS
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
Fay
80f149e296 Better android input handling: sending notifications about CInputText changes to java so that we can display textinput overlay there; (#354) 2017-07-23 20:23:48 +03:00
Arseniy Shestakov
2da3d8a563 Code style: remove senseless comments 2017-07-18 00:04:00 +03:00
ArseniyShestakov
b2f74a93cf Code style: add empty parameter list to all lambda expressions (#345) 2017-07-17 15:35:57 +03:00
ArseniyShestakov
a4c0ad94b1 Code style: remove default value hints in definitions (#342)
Some are outdated and this is something IDE are useful for.
2017-07-15 14:08:20 +03:00
Arseniy Shestakov
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
Arseniy Shestakov
dbcd79c48a Code cleanup: remove double and unneded semicolons 2017-07-12 22:01:10 +03:00
Fay
65e88639a3 Minor: code format; 2017-06-08 21:07:09 +02:00
Fay
02fa478bfb Refactor: unified logic for notyfing CIntObjs about left/right mouse click events;
Added support for middle-click;
2017-06-07 20:16:18 +02:00
AlexVinS
0190c9804e formatting 2017-06-06 19:45:34 +03:00
AlexVinS
a31c28ec33 Unified war machine mechanics.
* it is possible to define new war machines
* added warMachine field to artifact configuration
2017-06-06 19:18:26 +03:00
AlexVinS
df3574b50f Fixed https://bugs.vcmi.eu/view.php?id=2685 2017-05-27 17:07:11 +03:00
Piotr Wójcik
76acc29d6c Correctly display visiting army in kingdom overview, fixes #1761
Do not modify CIntObject::pos, according to its doc
2017-05-22 22:34:05 +02:00
Piotr Wójcik
e4d3cdca09 Simplify 2017-05-13 16:57:15 +02:00
Piotr Wójcik
cc02001836 T hotkey select first town when last is active, fixes #1293 2017-05-11 20:49:17 +02:00
FeniksFire
cde8542475 Oversight. 2017-03-18 14:25:17 +01:00
FeniksFire
dd5660ff08 Simplifity code. 2017-03-18 14:21:41 +01:00
FeniksFire
d045f59a11 Little fix in braces #2. 2017-03-18 07:58:40 +01:00
FeniksFire
68c618cb99 Little fix in highlight in CGarrisonSlot. 2017-03-17 21:24:55 +01:00
Arseniy Shestakov
d4091db172 CInfoBar: only pop up when adventure map interface is on top 2017-03-14 00:03:15 +03:00
AlexVinS
7d29365e4a Fixed CID 1243197 2016-11-28 02:50:45 +03:00
AlexVinS
2dd6a47764 try to plug a few coverity false positives 2016-11-28 02:50:41 +03:00
AlexVinS
312793efd9 try to plug a few coverity false positives 2016-11-27 23:41:17 +03:00
AlexVinS
6196ae7fca Fixed a few CWE-457 2016-11-27 19:00:16 +03:00
AlexVinS
27b853618c Fixed a few CWE-457 2016-11-27 18:17:20 +03:00
AlexVinS
c4ab962cc0 Fixed a few CWE-457 2016-11-27 17:48:18 +03:00
AlexVinS
f11c54b5e9 Wipe unused ClickableArea 2016-11-27 16:07:03 +03:00
AlexVinS
30663f15ea Fixed CID 1288863 2016-11-26 22:12:52 +03:00
AlexVinS
ac8b618a42 Fixed CID 1366373 2016-11-25 19:17:37 +03:00
AlexVinS
db40e125eb Fixed CID 1243181, CID 1197449, CID 1366374, CID 1366377, CID 1366359 2016-11-24 21:56:30 +03:00
AlexVinS
33c0bc49f6 Merge branch 'CommanderArtifacts3' into develop 2016-11-13 15:31:16 +03:00
dydzio
b626f9a134 Fix CCommanderArtPlace localization + minor fixes 2016-11-08 17:26:24 +01:00
AlexVinS
a8a661b159 Map handler refactoring, part 2. 2016-11-08 00:19:53 +03:00
AlexVinS
aad675a7c4 Revert "Merge branch 'p254_4' into develop"
This reverts commit 37f68713a7, reversing
changes made to 4477b7c35d.
2016-11-08 00:17:20 +03:00
AlexVinS
c9a3d92ff3 cleanup 2016-11-06 17:36:46 +03:00
dydzio
96fa0fb6d4 Implement giving commander artifacts back to hero 2016-11-06 13:02:00 +01:00
AlexVinS
46196daa07 cleanup 2016-11-06 05:27:56 +03:00
dydzio
baeb3c9e55 Refactor CArtPlace + use it for commanders 2016-11-04 17:54:09 +01:00
Vadim Markovtsev
220e4d2030 Survive giving Commander's badge to stacks
Used to SEGFAULT
2016-10-30 14:27:53 +01:00
AlexVinS
365c64a345 use CAnimImage for world view legend 2016-10-27 16:34:10 +03:00
AlexVinS
ba5b65ff93 get rid of CDefHandler in CSpellWindow 2016-10-16 15:27:35 +03:00
AlexVinS
3a52a3c663 Allow CAnimImage to share animation object. 2016-10-16 12:58:18 +03:00
AlexVinS
63cbf960df cleaned up spell window creation 2016-10-16 09:27:22 +03:00
AlexVinS
5506ae036a Reworked CHillFortWindow
* fixed displaying free upgrades
* do not try to print 3rd or more resource in slot cost (in theory possible with mods)
** we need dynamic gui for that
* CDefEssential--
2016-10-16 08:03:52 +03:00
AlexVinS
abb875b400 cleanup 2016-10-16 03:52:11 +03:00
Vadim Markovtsev
2c1dddde33 Fix memory problems with BonusList
Bonus * -> std::shared_ptr<Bonus>

This cures the following problems:

1) Memory corruption at exit. Some Bonus-es were deleted twice (mods?).
2) Memory leaks. Some Bonuses were not deleted.
3) Reduce the number of "Orphaned child" messages.

Valgrind reports 0 leaked memory now and no invalid reads/writes.
2016-09-29 15:08:00 +02:00
dydzio
68af6a0c19 Refactoring InfoAboutHero + GetHeroInfo 2016-09-28 13:22:33 +02:00
Arseniy Shestakov
0236309d25 CArtifactsOfHero: use shared_ptr for SCommonPart 2016-08-30 07:05:31 +03:00
AlexVinS
ef05a56e49 cleanup 2016-08-30 05:13:45 +03:00
Arseniy Shestakov
452e28d183 Remove some useless includes found by cppclean
This of course was tested and shouldn't break anything
2016-08-26 04:42:16 +03:00
Arseniy Shestakov
10dbbead2d Fix indentation of logging code and around it
That wouldn't be as big issue if problem affected few files, but it everywhere in codebase.
Fixed it everywhere since in most files that is the only code with wrong indentation.
2016-03-12 04:46:21 +03:00
Vadim Markovtsev
afa95312ba Fix 2139 captured spell scroll descriptions 2016-01-25 08:49:26 +03:00
Vadim Markovtsev
9ffd0155e6 Fix 1810 suggest artifact assembly 2016-01-23 16:24:43 +03:00
DjWarmonger
b02bd61c83 Merge pull request #164 from vmarkovtsev/issue/1821
Fix 1821 artifact assembly statusbar text
2016-01-21 09:37:43 +01:00
Vadim Markovtsev
b1f3480c68 Fix 1821 artifact assembly statusbar text 2016-01-21 10:50:53 +03:00
Vadim Markovtsev
419bde8997 Fix 2358 swapped garrison <-> visiting status text 2016-01-21 09:59:39 +03:00
Vadim Markovtsev
74111b7689 Return missing building name instead of crashing in CComponent::getSubtitleInternal 2016-01-19 10:35:10 +03:00
Arseniy Shestakov
8eb4f14ff0 MoraleLuckBox: handle BLOCK_LUCK bonus. Fix issue 2130 2015-12-24 22:35:32 +03:00
Vadim Markovtsev
e4b1ef1405 Add "override" to virtual overriden methods 2015-10-13 21:05:36 +03:00
ArseniyShestakov
ffb8e6a696 Garrison: fix more issues introduced in pull #115
After 8cad23956c there was several issues remaining:
* Last creature would remain even for town garrisons.
* Impossibility to move last stack even within same garrison.
* Impossibility of partially merge of last stack into other hero stack.
All fixed. However last stack merge to other hero will now make split window appear instead of auto merge.
2015-09-23 08:12:43 +03:00
AlexVinS
8cad23956c Fix 2258 2015-09-19 17:16:09 +03:00
AlexVinS
d181d764bb fix 2215 2015-09-15 10:02:27 +03:00
AlexVinS
8f2da66a18 fix mantiss 1967 + some refactoring
* remove TModDescr and realted APIs - they were only used in one place
2015-09-04 22:29:20 +03:00
Sandy Carter
a79ade7d44 Garrison: Move all but one creature when last slot 2015-08-26 08:44:23 -04:00
Sandy Carter
dafc40d896 Garrison: Fix selection behaviour when swapping with ally 2015-08-26 08:40:00 -04:00
Sandy Carter
a89ef88ce3 Garrison: Factor complex if statement to functions 2015-08-26 08:40:00 -04:00
Sandy Carter
cd13807115 Garrison: Clarify upg by turning into a class enum 2015-08-26 08:39:57 -04:00
Sandy Carter
b008d24c68 Garrison: Refactor Left Click
Restructure large nested if statements into more shallow blocks
Factor out contents of if statements to functions for better readability
    * viewInfo
    * hightlightOrDropArtifact
    * split
2015-08-25 09:47:23 -04:00
Sandy Carter
3d327e650a Garrison: Boyscouting: simplify clickLeft 2015-08-25 09:47:23 -04:00
Sandy Carter
c02700853a Garrison: Disable split buttons when visiting ally 2015-08-25 09:47:23 -04:00
Sandy Carter
742f244426 Garisson: Documentation: Convert comments to doc 2015-08-25 09:47:23 -04:00
Sandy Carter
6ffb03cba3 Garrison: Documentation for our() and ally() 2015-08-25 09:47:21 -04:00
Sandy Carter
b2da2b8ef0 Garrison: Show "(in garisson)" for garissoned heroes' creatures 2015-08-25 09:22:25 -04:00
Sandy Carter
236492ed39 widgets: Cleanup musicButton specific hacks 2015-08-22 12:40:14 -04:00
Sandy Carter
9d62a2f0a1 Buttons: Add CVolumeSlider widget
New widget specifically for volume settings.
Replace previous implementation using 10 toggle buttons.
Enable indicator animation
Fix indicator ghosting when drag and releasing
Add scroll capability to volume
Volume now can be adjusted from 0 - 99 with the mouse or the scroll wheel
2015-08-22 12:40:14 -04:00
Sandy Carter
c6b51a7beb Boyscouting: Fix doxygen format
Remove commas to separate param from description
Use three slashes-style
2015-08-22 12:40:14 -04:00
Sandy Carter
f28c33001c Boyscouting: Fix typo in comment 2015-08-22 12:40:14 -04:00
Sandy Carter
a14711b3b4 Boyscouting: Fix backwards ternary operator 2015-08-22 12:40:14 -04:00
AlexVinS
b6a2323e01 SDL1 wipe, part 2. Untested. 2015-06-21 01:59:31 +03:00
AlexVinS
dca1e28bc1 SDL1 wipe, part 1. Untested. 2015-06-21 01:59:30 +03:00
ArseniyShestakov
448fbe44e9 Improve CButton::block and fix CToggleGroup->selectedID
CToggleGroup. Originally when I added initialization for selectedID I didn't find out that -1 is used for "random" buttons. So as result I fixed uninitialized variable usage, but break initial button state change in RMG options because setSelected ignore state change request because it's see -1 button already marked as selected.
2015-03-16 15:55:36 +03:00
ArseniyShestakov
120301ecc8 Split army: dont highlight down garrison slots if there no visiting hero
Before UI always highlighted all slots in both town garrisons even if there no visiting here and you can't actually set army on these slots.
Now garrison slots only highlighted if they're owned by us or our ally. If there no visiting hero in town then only suitable upper garrison slots will be highlighted.
2015-03-16 02:04:18 +03:00
ArseniyShestakov
67aa869a33 Multiplayer: make chat history visible in lobby and improve CTextBox
Now we'll also play sound when new message added.
CTextBox::setText now will automatically change text height for slider.
2015-03-13 18:45:07 +03:00
AlexVinS
685deddac1 Start spell-relatet files reorganisation
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
AlexVinS
c4cbda88ac Fix "reorder" warnings 2015-02-21 12:39:10 +03:00
DjWarmonger
6ac00873b9 Compilation fixes - allow SDL1.
Please do not define class-specific constants that are static at same time.
2015-02-18 15:31:55 +01:00
DjWarmonger
200bcd7da6 Merge pull request #88 from ArseniyShestakov/improvedQuestLog
Awesome, thanks!
2015-02-17 06:44:38 +01:00
ArseniyShestakov
007f95fa44 Fix valgrind warning about uninitialised value 2015-02-16 13:28:10 +03:00
AlexVinS
420e5f055c Fix warnings 2015-02-14 19:24:21 +03:00
AlexVinS
0b546a9b9f Correct placement for hero misc artifacts in kingdom overview 2015-02-14 18:59:33 +03:00
AlexVinS
c135591f81 Add comments about getArtPlace - it is a bit dangerouse 2015-02-14 16:00:57 +03:00
AlexVinS
7086fdc730 Crash fixed, but bug still present 2015-02-14 16:00:56 +03:00
AlexVinS
a6c8dcbc36 Cleanup 2015-02-14 16:00:56 +03:00
ArseniyShestakov
ded4c18df9 CComponent: add option to choose image size
This option is used to choose small resource icons in Quest Log when there more than 4 of them.
2015-02-14 00:53:24 +03:00
DjWarmonger
1d34d15983 Compilation fixes. 2015-02-01 19:25:42 +01:00
AlexVinS
594295da32 Merge branch 'feature/worldView' into develop 2015-02-01 20:49:14 +03:00
Fay
df419e23c0 Fixed recoloring filler background to correct player color after game reload; 2015-01-29 20:34:53 +01:00
Fay
794c03792a Added empty background below world view panel for better compat with higher resolutions; 2015-01-29 18:39:46 +01:00
Fay
72f34a7799 Fixes crash on dropping an artifact on an empty garrison slot; 2015-01-24 00:21:18 +01:00
Fay
e3dc37fece Fixed hotkeys in world view mode (added missing hotkeys + disabled non-world-view hotkeys);
Fixed minimap radar calculation for world view mode;
2015-01-17 13:41:59 +01:00
Fay
8e840d2c30 Changed map surface-cache key from int to intptr_t; 2015-01-15 17:17:26 +01:00
Fay
3823631a57 Fixed recoloring world view panel info icons after current player change;
Refactored ui objects handling in CAdvMapInt to slightly reduce clutter;
Minor other improvements;
2015-01-15 00:22:20 +01:00
Fay
4b248c2762 World view impl -- initial; 2015-01-13 20:57:41 +01:00
ArseniyShestakov
4cb98e7e8d Use isTradable and fix issue 1392
This change make it possible to sell spell scrolls in Artifacts Merchant.
2014-12-24 20:48:37 +03:00
ArseniyShestakov
937ef0227b Use ArtifactID instead of int when possible 2014-12-24 18:49:12 +03:00
DjWarmonger
c538370c5d Players will be always able to see their owned heroes and other objects. Fixes #1959. 2014-12-21 13:56:32 +01:00
ArseniyShestakov
f2aedabcb3 Fix slider remain enabled when not needed for changed label text
This one fix issue with map description label #1977
2014-11-24 16:18:10 +03:00
ArseniyShestakov
53c7a3cfcb Added function CSlider::moveToMin 2014-11-24 15:24:03 +03:00
KroArtem
e73c60740c corrected text in vcmibuilder, corrected errors and warnings from cppcheck 2014-11-16 20:48:29 +03:00
Ivan Savenko
dce9880d16 Minor refactoring of FunctionList using variadic templates.
Please make sure that all supported compilers are OK with this code
2014-11-12 22:46:37 +02:00
AlexVinS
66b022f93e initializer lists part1 2014-10-02 19:43:46 +04:00
DjWarmonger
01491f9f1e Fixed #1718 2014-10-01 14:20:00 +02:00
Ivan Savenko
fc16c8d207 Merge branch 'optimization/swiftAI' into develop
Conflicts:
	lib/CGameState.cpp
2014-09-21 22:31:29 +03:00
Ivan Savenko
aa0433228a Fixed cheats - sendMesssage will also pass current object.
Workaround-ish but should work. Branch should be fixed now.
2014-09-21 20:35:53 +03:00
Ivan Savenko
ca47ddca5c Miscellaneous fixes to creature window:
- implemented missing stack size indicator
- fixed detection of battle presence
- fixed placement of spell icons
2014-09-19 16:31:01 +03:00
Ivan Savenko
3939c70a81 Fixed 1277 - only 2 cursor buttons will be enabled for sliders, depending on its direction (horizontal/vertical) 2014-09-18 17:08:21 +03:00
Ivan Savenko
e692f3f520 Implemnted enemy turn speed selection:
- implemented switch in settings screen
- implemented "0 speed", animation-free. *may* also work for player-owned heroes
- removed no longer used creature window switch
2014-08-11 19:16:39 +03:00
Ivan Savenko
8838607669 Trying to fix Travis compilation issues 2014-08-11 17:58:41 +03:00
Ivan Savenko
1e5e02c7df Compilation fixes caused by merge, replaced some remaining boost::bind with std's 2014-08-09 15:14:31 +03:00
Ivan Savenko
b1285bc506 Merged GUI refactoring into develop, fixed conflicts 2014-08-09 15:01:55 +03:00
Ivan Savenko
77a73fbaa9 Merge branch 'feature/freegfx' into refactoring/guiClasses
Conflicts:
	client/windows/CHeroWindow.cpp
	client/windows/CQuestLog.cpp
	client/windows/GUIClasses.cpp
2014-08-03 18:50:59 +03:00
Ivan Savenko
7390647cd5 End of buttons refactoring:
- cleanup of slider API
- documentation fixes
2014-08-03 17:31:56 +03:00
Ivan Savenko
0882201b17 Miscellaneous fixes to toggle buttons 2014-08-03 16:19:16 +03:00
Ivan Savenko
10fc1892a8 Large refactoring of button classes:
- renamed CAdventureMapButton to more expectable CButton
- merged CButtonBase into CButton
- created more generic class for clickable elements
- created more generic class for selectable elements
- renamed CHighlightableButton to CToggleButton
- renamed CHighlightableButtonsGrous to CToggleGroup
- minimized differences between API of all these classes
- removed all but one contructors in buttons, with same parameters across all classes
2014-08-03 14:16:19 +03:00
Ivan Savenko
731aedf3a1 Split CIntObjectClasses into multiple smaller files. This should be the last change in files 2014-07-15 10:14:49 +03:00
Ivan Savenko
a69fcdd435 Fixed compilation issues caused by merge 2014-07-14 17:44:15 +03:00
Ivan Savenko
92d22bae63 Merge branch 'feature/creatureWindow' into refactoring/guiClasses 2014-07-14 17:23:24 +03:00
Ivan Savenko
2a0a0e81a7 Cleaning up includes 2014-07-14 17:19:44 +03:00
Ivan Savenko
647b9c683f Reorganized client source tree:
- client/widgets for reusable GUI elements
- client/windows for independent windows
- client/gui for base GUI classes which should remain internal
2014-07-13 20:53:37 +03:00