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
Andrey Filipenkov
90d355dd05
check availability only of town creatures
...
QRD shows only town creatures ignoring Summoning Portal
2022-09-18 15:58:15 +03:00
Andrey Filipenkov
a0832c39f9
show message instead of the Quick Recruit dialog when there're no creatures in town
2022-09-18 15:50:06 +03:00
AlexVinS
483a4689ce
Fixes for code review issues
2021-02-20 04:57:50 +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
d6a4767865
Mod system improvement: Patch 2
2020-10-25 01:04:34 +03:00
Dmitry Orlov
934c4e511d
Special buildings support : Patch 1
2020-10-15 15:03:01 +03:00
Dmitry Orlov
f4816b0824
Mod system improvement Part I : Special buildings should work in the modders towns
2020-10-07 12:35:11 +03:00
John Bolton
c61bae4060
Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation.
2020-10-05 16:28:28 -07: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
AlexVinS
614cde4a55
Fixed two memory leaks
2018-11-14 20:58:37 +03:00
Dydzio
22ce535a2a
Fix not responding statusbar
2018-10-29 14:12:07 +01:00
KasyanDiGris
fa5a14e2d8
Stabilize vcmi ( #488 )
...
* Shared statusbar
* Fixed server fails on client disconnected
2018-08-26 19:09:56 +03:00