Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
Laserlicht
24d4816a36
trim text
2024-01-07 23:42:48 +01:00
Ivan Savenko
ea8995e901
Fixed check for free slots when recruiting in towns
2023-11-28 16:25:11 +02:00
Laserlicht
2eada0efca
allow shortcout if any town has a marketplace
2023-11-25 03:14:31 +01:00
Laserlicht
1954447a9e
fix image order
2023-11-25 02:58:06 +01:00
Ivan Savenko
864462b84a
Reduce excessive updates of garrisons. Fixes selection reset in simturns
2023-11-09 00:01:48 +02:00
Ivan Savenko
5487f07d3b
added toEntity overload that accepts generic Services class
2023-11-04 17:04:53 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
056ef00f74
Bugfixing
2023-11-02 13:52:58 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Alexander Wilms
10ad5b6789
client/windows/CCastleInterface.cpp: Identical sub-expressions on both sides of operator "&&".
...
Identical expressions should not be used on both sides of a binary operator
2023-10-27 18:19:17 +00:00
Ivan Savenko
3880ea58b9
Merge branch 'josch/dos2unix' into develop
2023-10-22 18:39:03 +03:00
Nordsoft91
12b179ef1f
Merge pull request #3057 from Laserlicht/rw_hero
2023-10-20 01:42:06 +02:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
Laserlicht
464577be28
new icons
2023-10-17 20:06:35 +02:00
Laserlicht
efcf6b71d7
formatting
2023-10-15 12:58:07 +02:00
Laserlicht
23e1b0b0d5
radial wheel for hero
2023-10-15 02:43:42 +02:00
Laserlicht
9e508fe2c2
interface improvements
2023-10-13 19:56:56 +02:00
Nordsoft91
ab36692847
Merge pull request #3037 from Laserlicht/missing_res
2023-10-13 10:36:33 +02:00
Laserlicht
8a3e58cd5e
red is the most liked color
2023-10-10 23:15:40 +02:00
Laserlicht
926bf71814
make townhall clickable
2023-10-10 21:02:40 +02:00
Laserlicht
25f7bb40d0
new layout
2023-10-09 22:50:07 +02:00
Laserlicht
fa9d5e9971
show missing resources
2023-10-09 21:43:43 +02:00
Ivan Savenko
b75a67ef7c
Merge pull request #2973 from IvanSavenko/identifier_explicit_constructor
...
Improvements to type safety of Identifier class
2023-10-05 00:33:07 +03:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
Ivan Savenko
39a92cdde3
Add query for dwellings dialog
2023-10-04 17:47:12 +03:00
Ivan Savenko
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
Ivan Savenko
42d9ba6c82
Merge pull request #2877 from IvanSavenko/simturn_fixes
...
Changes for simturns support
2023-09-20 22:09:25 +03:00
Ivan Savenko
2af7d7c085
Ignore garrison update events of another towns for our castleInt
2023-09-19 19:24:35 +03:00
Ivan Savenko
3d04e9c9ed
Cleaned up and fixed ownership checks for market netpack
2023-09-18 17:22:30 +03:00
Ivan Savenko
1d0e696db6
Added RenderHandler that acts as factory for images and animations
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
f13a53c1d9
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-12 17:28:47 +03:00
Ivan Savenko
ad2bd897d0
Replace boost::format with MetaString
...
Looks like some of H3 localizations don't have string replacements for
building / war machine name, resulting in exceptions on formatting
attempt. MetaString handles this case silently.
2023-08-11 18:50:39 +03:00
Ivan Savenko
0dca5c45bd
Workaround for potential crash on opening town dwelling with no valid
...
creatures
2023-08-06 12:46:29 +03:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Ivan Savenko
62fddca21e
Split massive CModHandler class/file into multiple parts:
...
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
5d2dd4c633
Show creature popup window on right-click in town fort
2023-07-30 15:29:18 +03:00
Ivan Savenko
a494dc4870
Refactoring of CGarrisonInt
2023-07-21 15:47:42 +03:00
Ivan Savenko
9ef959a7f8
Merge pull request #2310 from IvanSavenko/left_click_refactor
...
Left click input refactor
2023-07-13 13:03:06 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Ivan Savenko
18db944083
Replaced clickReleased with clickPressed where applicable in H3
2023-07-09 17:48:25 +03:00
Ivan Savenko
ca889a5c2a
Replaced clickLeft with clickPressed clickReleased methods
2023-07-08 14:33:04 +03:00
Ivan Savenko
ae8579558d
Merge pull request #2282 from IvanSavenko/adventure_map_fixes
...
Adventure map fixes for 1.3
2023-07-07 14:27:58 +03:00
Mike
6414e3b3fc
Changed resource cost value label position
2023-07-05 18:43:52 -07:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
Ivan Savenko
8b61c0d59b
Replaced CIntObject::type bitfield with bool's. Added input blocking.
2023-07-03 19:24:12 +03:00
Ivan Savenko
f6b2f58da9
Use inheritance instead of composition for campaign header
2023-06-26 17:15:59 +03:00
Ivan Savenko
a08fe09517
Added encapsulation for CampaignState class
2023-06-26 17:15:59 +03:00
Ivan Savenko
8420a90aa4
Reorganization of campaigns code
2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff
Refactoring of campaign handler: rename types and use strong typing
2023-06-26 17:15:59 +03:00
Ivan Savenko
4e7412faa6
Split mouseDragged event from mouseMoved
2023-06-22 22:11:48 +03:00
Ivan Savenko
563d7dd41f
Renamed RCLICK -> SHOW_POPUP
2023-06-20 19:58:05 +03:00
Ivan Savenko
d4aa778547
Replaced clickRight event with showPopupWindow/closePopupWindow
2023-06-20 19:58:05 +03:00
Ivan Savenko
8ea0ecaec1
show/showAll methods now use Canvas instead of SDL_Surface
...
- added compatibility method to Canvas to allow SDL_Surface access
- added drawBorder method to Canvas to replace CSDL_Ext method
- added drawColor method to Canvas to replace CSDL_Ext method
- minor changes to Tavern and Trade windows to adapt to new API
2023-06-02 16:42:18 +03:00
Ivan Savenko
a4000f2fc8
Removed isActive(int) method since its usages were redundant or wrong
2023-05-20 01:51:49 +03:00
Ivan Savenko
1f513fd280
Extracted event management from GuiHandler and CIntObject
2023-05-20 01:51:49 +03:00
Ivan Savenko
ad3e54e6c0
Reduced usage of topWindow() method
2023-05-16 21:57:45 +03:00
Ivan Savenko
e2ef136003
Renamed "Int" -> "Window" in WindowHandler API
2023-05-16 19:10:22 +03:00
Ivan Savenko
7838190ef4
Moved window stack management from GuiHandler to new class
2023-05-16 19:10:21 +03:00
Ivan Savenko
fa496628f2
Separated timer updates from rendering in adventure map and town screen
2023-05-14 22:22:37 +03:00
Ivan Savenko
3ecdff2a21
FramerateManager now uses chrono instead of SDL_Ticks
2023-05-14 22:22:37 +03:00
Ivan Savenko
03df274450
Framerate manager is now in a separate file and private member of GH
2023-05-14 22:22:37 +03:00
Ivan Savenko
243773b6ef
Renamed some adventure map files & classes
2023-05-09 13:10:33 +03:00
Ivan Savenko
dbc4330fc5
Fixed positioning of resource bar and town list in other windows
2023-05-09 13:10:33 +03:00
Ivan Savenko
342ea138f9
Fix remaining graphical artifacts on switching from world view
2023-05-09 13:10:33 +03:00
Ivan Savenko
a015bf6507
Initial part of dynamically-sized adventure map:
...
- removed no longer used CConfigHandler
- remove no longer use resolutions.json
- moved widget management from adventure map to a separate class
- adventure map layout is now loaded from config
2023-05-09 13:10:33 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
...
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
07f7c318dc
Adjust client part for markets
2023-05-01 21:49:37 +04:00
Ivan Savenko
dea10e6091
Use more descriptive names for hotkeys
2023-05-01 17:59:20 +03:00
Ivan Savenko
832e56e005
Implementation of (very basic) shortcuts system
...
- Added EShortcut enumeration that contains all in-game shortcuts
- CIntObject::keyPressed now receive values from hotkey enumeration
- On keypress, SDL key code will be translated to shortcut ID
- Removed access to SDL key codes from most of engine
2023-05-01 17:58:17 +03:00
Ivan Savenko
d985ac90d3
Merge master -> develop
2023-04-28 22:57:25 +03:00
Ivan Savenko
76d5b459f1
Fixed music playback on switching between towns
2023-04-28 16:53:45 +03:00
Ivan Savenko
bb08a0afc8
Moved selection logic to player state
2023-04-20 22:04:24 +03:00
Ivan Savenko
365f552fa1
Added API for owned towns access
2023-04-20 22:04:24 +03:00
Ivan Savenko
6a46138617
Moved current selection to local state class
2023-04-20 22:04:24 +03:00
Ivan Savenko
f6d480cbb2
Moved player-specific heroes & towns information to new class
2023-04-20 22:04:24 +03:00
Ivan Savenko
4ec32e4dcd
Renamed CAdvMapInt to its proper full name
2023-04-20 22:04:24 +03:00
Ivan Savenko
f1902ab247
Initial refactoring to encapsulate adventure map
2023-04-20 22:03:28 +03:00
Konstantin
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Ivan Savenko
93b77d0c99
Space and left-clicking on second hero in town now have share code
2023-04-03 00:43:18 +03:00
Ivan Savenko
4c6dbb5037
Fix town UI update on building new structures
2023-03-31 23:18:45 +03:00
Ivan Savenko
47e774897d
Show simple message on left-clicking empty buildings
2023-03-28 17:36:46 +03:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
...
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00
Ivan Savenko
c246cadaa7
Fix potential crash on exit
2023-03-25 23:54:51 +02:00
SoundSSGood
72122fb433
CArtifact, CArtifactInstance, CCombinedArtifactInstance reorganization
2023-03-21 12:14:33 +02:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Ivan Savenko
0ea73cae7f
Merge pull request #1662 from rilian-la-te/reduce-lexical-cast
...
vcmi: reduce boost::lexical_cast usage
2023-03-10 12:53:21 +02:00
Ivan Savenko
11dc9228e2
Merge pull request #1635 from SoundSSGood/warmachine-buying-fix
...
warmachine buying fix
2023-03-09 15:52:41 +02:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Ivan Savenko
5f5ba0a54c
Fix town-related options
2023-03-05 19:55:38 +02:00
SoundSSGood
142375c050
warmachine buying fix
2023-03-05 18:06:04 +02:00
Ivan Savenko
b57a07b10f
Restored ambient sounds functionality
2023-03-05 18:02:59 +02:00
Ivan Savenko
7df5c612f7
Fix battle rendering
2023-03-05 17:48:02 +02:00
Ivan Savenko
def1e35836
Use SDL BlitMode's to speed up image rendering
2023-03-05 17:48:02 +02:00
Ivan Savenko
600054e001
Refactored access to hero paths in CPlayerInterface
2023-03-05 17:48:01 +02:00
Ivan Savenko
195eac3375
Merge pull request #1545 from dydzio0614/town-panel-number-formatting
...
Improve creature numbers handling in castle interface bottom left part
2023-02-26 22:56:54 +02:00
Dydzio
ade52239ea
Use config value from new settings
2023-02-15 23:26:55 +01:00
Ivan Savenko
cc0c3e5bc9
All adventure map components now use shared_ptr
2023-02-14 11:18:41 +02:00
Ivan Savenko
ab8b407294
Style cleanup
2023-02-08 13:56:09 +02:00
Dydzio
a4cc386a5a
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-02-05 20:24:36 +01:00
Ivan Savenko
7c58a46279
Removed some instances of access to screen
surface
2023-02-03 18:23:53 +02:00
Ivan Savenko
cfcaf5cbb6
renamed keyDown -> keyPressed
2023-02-03 11:39:40 +02:00
Ivan Savenko
d4fba3787c
Removed usage of SDL_KeyboardEvent from UI code
2023-02-03 11:39:40 +02:00
Ivan Savenko
214fc19e74
CIntObject now receives mouse position as point instead of SDL event
2023-02-03 11:39:39 +02:00
Dydzio
e7a774c465
Improve creature numbers handling in castle interface bottom left part
2023-02-02 20:54:47 +01:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
...
Time based animations
2023-02-01 12:25:54 +02:00
Ivan Savenko
9c3030603d
Removed most SDL includes from headers, removed SDL int's
2023-01-30 19:55:32 +02:00
Ivan Savenko
e14290fde0
Removed loading of images from file into SDL_Surface
2023-01-30 18:25:47 +02:00
Ivan Savenko
e35a669eeb
Refactoring of CPicture class to improve encapsulation
2023-01-30 13:58:13 +02:00
Ivan Savenko
42df5626d9
Added Color class to replace SDL_Color
2023-01-30 00:12:43 +02:00
Ivan Savenko
3acee297be
CShowableAnim is now time-based with timing matching H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
50a0fc4fb2
Removed pointer to current SDL_Event from GuiHandler
2023-01-27 23:17:40 +02:00
Ivan Savenko
ee7a573cb8
Refactoring of SDL API usage:
...
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
05a1d7c6e3
All text for factions/towns/building are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116
All creature-related texts go through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822
All spell texts are now passed through translator
2023-01-20 15:18:36 +02:00
Andrii Danylchenko
33f92bc4b1
Merge pull request #1438 from dydzio0614/build-speed-adjust
...
Adjust newly built building appearance and outline blinking speed
2023-01-16 20:27:56 +02:00
Dydzio
c3b254a815
Enum value can be used here as well
2023-01-16 18:26:31 +01:00
Dydzio
54e499f5e7
Minor refactoring from code review
2023-01-16 00:33:53 +01:00
Dydzio
7dd7f4af54
Change to time-based frame counting, easier than I though
2023-01-15 19:56:55 +01:00
Dydzio
6572f5697e
Fix wrong rendering of castle shipyard
2023-01-15 19:10:40 +01:00
Dydzio
cbddf2d8fb
Adjust newly built building appearance and outline blinking speed
2023-01-15 17:22:53 +01:00
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
Ivan Savenko
d83eedb8dd
Fixes #1378 - do not auto-set key color - image might not have one
2023-01-06 13:15:52 +02:00
Ivan Savenko
bdb8e0ee5c
Introduced string identifiers for H3 texts, still WIP
2023-01-01 14:56:44 +02:00
Ivan Savenko
d29c9d6445
Fortify CLabel interface to prevent unchecked access
2022-12-19 22:04:50 +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
495e0b3657
Merge remote-tracking branch 'vcmi/develop' into battleint_refactor
2022-12-01 23:58:01 +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
SoundSSGood
909dcb82fa
use ArtifactID
2022-11-29 00:32:18 +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
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
Ivan Savenko
38b8fc0af8
Formatting: space -> tabs
2022-11-13 14:24:15 +02:00
Ivan Savenko
4af9bc2461
Music: remember playback position of music tracks
...
Town & terrain themes will now resume from previously stopped position
instead of playing from start, as it was in original game.
Fixes #965
2022-11-13 14:05:51 +02:00
Andrey Filipenkov
beeef8527f
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
81dec1405f
fix typo: purhase -> purchase
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
a320af837d
fix includes in client subdirectories
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
0163190ac5
move hardcoded strings to JSON file
2022-09-18 17:43:37 +03:00