Ivan Savenko
42df5626d9
Added Color class to replace SDL_Color
2023-01-30 00:12:43 +02:00
Konstantin
080d4b13dd
vcmi: suppress warning on IOS
...
Let CI passes on develop.
2023-01-29 21:30:37 +03:00
Ivan Savenko
57ee9a9bf3
Merge vcmi/beta into vcmi/develop
2023-01-29 18:21:55 +02:00
Ivan Savenko
bdde9f831a
Fixed timings of building construction to match H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
f1647cc3bb
Animated spellcasting cursor now has same speed as in 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
4d1c338503
Merge pull request #1498 from rilian-la-te/conan-v2
...
Conan as MXE replacement
2023-01-27 23:14:37 +02:00
Andrey Filipenkov
b2d2c7a2dc
Merge pull request #1501 from kambala-decapitator/townportal-doubleclick
...
handle double-click in Town Portal dialog
2023-01-25 17:42:15 +03:00
Konstantin
a7bd7232ce
CGuiHandler: fix false positive dangling pointer
...
Making this an auto variable fixes compilation with Werror.
2023-01-25 17:14:41 +03:00
Andrey Filipenkov
08b04a3527
handle double-click in Town Portal dialog
2023-01-23 15:43:55 +03:00
Andrey Filipenkov
7b2540517b
fix Main Thread Checker warnings on Apple platforms
2023-01-21 16:07:35 +03:00
Ivan Savenko
8ed115a628
Fix ios compile
2023-01-20 16:11:43 +02:00
Ivan Savenko
fc0f5a9fb3
Reduced SDL includes
2023-01-20 16:11:43 +02:00
Ivan Savenko
aae83af9f3
Fix Windows compile
2023-01-20 16:11:43 +02:00
Ivan Savenko
9be38780cd
Removed remaining parts of Geomeotries.h/cpp
2023-01-20 16:11:43 +02:00
Ivan Savenko
6e2d09d605
Cleanup
2023-01-20 16:11:43 +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
9a30484183
Point and Rect now reside in library
2023-01-20 16:11:43 +02:00
Ivan Savenko
fd05036f3b
Hardware cursor can now be hidden
2023-01-20 15:15:19 +02:00
Ivan Savenko
5484efde90
Mobile platforms will use software cursor as default
2023-01-20 15:15:19 +02:00
Andrii Danylchenko
9a765e5f67
Remove not supported method, allow relative mode for iOS
2023-01-19 08:26:35 +02:00
Andrii Danylchenko
6c843bce0b
SDL relative pointer for android
2023-01-18 10:38:55 +02:00
Andrii Danylchenko
226668c428
Merge pull request #1453 from vcmi/android-fix-input-position-for-keyboard
...
Fix android UI shift when keyboard appears
2023-01-18 09:23:46 +02:00
Andrii Danylchenko
8f35bf8866
Fix android UI shift when keyboard appears
2023-01-17 16:44:46 +02:00
Andrii Danylchenko
c24b89fe06
2 finger rclick block adwmap scrolling and disable for iOS
2023-01-17 16:22:44 +02:00
Andrii Danylchenko
2b1511df99
SDL fix 2 finger touch when you remove fingers instantly
2023-01-16 13:39:45 +02:00
Andrii Danylchenko
7ccfcf51e9
Handle 2 fingers gesture as rclick via SDL
2023-01-16 09:46:52 +02:00
Ivan Savenko
fc4121f5ec
Rechecked & updated offsets of adventure map cursors
2023-01-15 21:18:34 +02:00
Ivan Savenko
385dda1c5b
Clean surface before using it
2023-01-15 21:18:34 +02:00
Ivan Savenko
c6d39da53e
MXE compile fix
2023-01-15 21:18:34 +02:00
Ivan Savenko
6985f2e050
Cursor type can now be set in settings.json
2023-01-15 21:18:34 +02:00
Ivan Savenko
26a1c5801b
Implemented hardware cursor support
2023-01-15 21:18:34 +02:00
Ivan Savenko
9971bdca1b
Existing software cursor logic is now in a separate class
2023-01-15 21:18:34 +02:00
Ivan Savenko
0e8ee929df
Renamed CCursorHandler -> CursorHandler
2023-01-15 21:18:34 +02:00
Ivan Savenko
d44e809369
Refactoring of CursorHandler, in preparation for HW cursor routines
2023-01-15 21:18:34 +02:00
Dydzio
4fb5548475
Remove unused stuff from code
2023-01-15 17:31:32 +02:00
Dydzio
3596d167a7
Adjust code to develop + change place in code where alpha is applied
2023-01-15 17:31:32 +02:00
Dydzio
9e7e649d37
Gradual fade-in of built building
2023-01-15 17:31:32 +02: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
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
...
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
Andrey Filipenkov
db98575d10
fix unaligned memory access (UB) on Clang/GCC/MSVC
...
sample UBSAN report:
client/gui/CAnimation.cpp:329:24: runtime error: load of misaligned address 0x62d0004b094f for type 'const ui32' (aka 'const unsigned int'), which requires 4 byte alignment
2023-01-08 01:33:26 +02:00
Ivan Savenko
a25214ae71
Fixes graphical artifacts on toggling stack queue visibility
...
Battlefield rendering now uses local coordinates
2023-01-05 14:16:01 +02:00
Ivan Savenko
21196e822f
Fixed blue tint for clones
2023-01-04 19:36:18 +02:00
Ivan Savenko
d8c4209ded
Movement animation is now more smooth at high animation speeds
2023-01-04 17:21:40 +02:00
Ivan Savenko
ffb37f067a
Support for player-colored images in configurable UI
2023-01-04 16:40:15 +02:00
Ivan Savenko
d3ecd43aba
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2023-01-04 16:20:53 +02:00
nordsoft
e8845244f7
Fix tactic button
2023-01-03 13:02:54 +04:00
nordsoft
660d25a335
Make control panel configurable
2023-01-03 13:02:54 +04: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
f8dec3861b
Fixed animation skipping with no sound mod and enemy having first turn
2022-12-30 11:56:26 +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
d1244e3714
Fix ios compile
2022-12-25 17:44:13 +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
nordsoft
cb76cc54ac
Move logging to debug level
2022-12-22 02:08:26 +04:00
nordsoft
e245dbaf9d
Use kind-of-factory approach for widget builders
2022-12-22 02:05:29 +04:00
Ivan Savenko
4fa01c4c7e
Fix potential overflow/underflow
2022-12-21 23:39:54 +02:00
nordsoft
8f7025328f
Read default template from config, named custom types
2022-12-22 01:37:33 +04:00
Ivan Savenko
41b87088d5
Color muxer effects can now be (partially) configured by user.
...
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02:00
nordsoft
7e7071fc95
Merge remote-tracking branch 'upstream/develop' into interface-builder
2022-12-22 01:24:29 +04:00
nordsoft
c7f430f051
Added debug lines
2022-12-22 01:13:32 +04:00
nordsoft
521328addd
Adding macros for targeted object binding
2022-12-22 00:54:06 +04:00
Ivan Savenko
b5925995b1
Fix transparency checks that were broken for palette images with alpha
2022-12-19 22:57:58 +02:00
Ivan Savenko
16c4851d3b
Animated cursor for spell selection, removed hardcoded cursor ID's
2022-12-18 22:32:07 +02:00
Ivan Savenko
ba200fb079
Added enum's for rest of cursor types
2022-12-18 17:13:34 +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
9b76a8000f
Making team alignments widget customizable
2022-12-17 20:38:16 +04:00
nordsoft
b1f2c7aed4
Team alignments implemented
2022-12-17 08:19:16 +04:00
Ivan Savenko
39367473d2
Removed no longer used code
2022-12-16 16:23:50 +02:00
Ivan Savenko
3403b42cd8
Fix transparency checks that were broken for palette images with alpha
2022-12-16 16:23:07 +02:00
Ivan Savenko
291bb9b204
Expanded cursors enum to include all possible values
2022-12-16 11:22:58 +02:00
nordsoft
268b87052b
Fix for hint
2022-12-16 02:49:52 +04:00
nordsoft
1d59dfecef
Support translations
2022-12-16 02:48:07 +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
nordsoft
1d4209d97e
Continue refactoring
2022-12-16 00:57:10 +04:00
nordsoft
2371e3e9a2
Interface builder refactored
2022-12-16 00:46:36 +04:00
nordsoft
2fe951f819
Merge remote-tracking branch 'upstream/develop' into interface-builder
...
# Conflicts:
# client/lobby/RandomMapTab.cpp
2022-12-15 04:47:11 +04:00
Ivan Savenko
7e35a96055
Changed ColorPutter in preparation for Bloodlust & Petrify effects
2022-12-14 15:17:38 +02:00
Ivan Savenko
fb3a08e0a6
Added fading animation for fade-in effect for summons
2022-12-14 12:04:37 +02:00
Ivan Savenko
e7206cb759
Cleaned up BattleHero class
2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7
Moved all animation ordering logic to callers
...
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
nordsoft
f90cb1be90
Template list prototype looks fine
2022-12-13 03:47:29 +04: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
nordsoft
690ff773f4
Remove files
2022-12-12 11:53:23 +04:00
nordsoft
cd58e8a860
Rename InterfaceBuilder
2022-12-12 11:48:39 +04:00
nordsoft
34bf741936
Fix compilation error
2022-12-12 11:43:54 +04:00
nordsoft
5e3504f578
Add improvements
2022-12-12 11:38:27 +04:00
nordsoft
3be9969154
Prevent crashes for custom config
2022-12-12 03:58:39 +04:00
nordsoft
0104c77d61
Interface builder for random map tab
2022-12-12 03:27:59 +04:00
Ivan Savenko
c302efd315
Fix crash on accessing not yet created object
2022-12-12 00:04:46 +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
7f5e5259c8
Changes to Canvas class according to review:
...
- renamed CCanvas -> Canvas.cpp
- replaced shared_ptr<Canvas> with Canvas&
- removed getSurface method
2022-12-11 22:09:57 +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
6f6d350228
Formatting cleanup
2022-11-28 16:43:38 +02:00
Ivan Savenko
9f21569a79
Next batch of siege fixes
2022-11-27 22:50:18 +02:00
Ivan Savenko
e76cd1b6a7
Bugfixing: fix crashes on battle start & most noticeable glitches
2022-11-27 02:26:02 +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
4f91b062db
Refactoring of projectile controller
...
- projectiles now separated based on type
- each type has its own rendering method
- refactoring of CShootingAnimation
2022-11-25 16:32:23 +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
Ivan Savenko
6b3beb05e5
BattleInt split is finished, start of refactoring:
...
- Refactoring of siege controller code
- Replaced some usages of C struct SDL_Surface with proper c++ class
IImage
- Refactoring of rendering of battlefield objects (WIP)
2022-11-25 00:26:14 +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
48be492517
Fix parameter order in case of right-to-left lines, formatting
2022-11-16 12:28:07 +02:00
Ivan Savenko
6678a747bb
Implemented ray-like projectiles for shooters
...
- Added missing support for ray-like projectiles
- Archmages, Evil Eyes and Beholders now use ray for shooting
- New method to draw 1 pixel-wide line with color gradient at arbitrary
angle
- fixed incorrect attackClimaxFrame field for Archmages
2022-11-15 21:42:16 +02:00
Andrey Filipenkov
3ab21d8491
show loading indicator when starting local server
...
single player or hosting a multiplayer game
2022-09-24 15:55:25 +03:00
Andrey Filipenkov
e1c9903a45
extract iOS helpers into a shared lib
2022-09-24 15:55:24 +03: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
217c83a7e7
convert text input rect to screen coordinates
...
workarounds SDL bug related to moving window ensuring that the input is always above the native keyboard
kambala-decapitator/vcmi#31
2022-09-24 15:55:19 +03:00
Andrii Danylchenko
2b0f02c832
Merge pull request #944 from AgostonSzepessy/dev/agos/937
...
Add right click to Quick Recruit Window
2022-09-23 14:01:52 +03:00
Andrii Danylchenko
43a1a8b76d
Merge pull request #928 from kambala-decapitator/quick-recruit-no-creatures
...
show message instead of the Quick Recruit dialog when there're no creatures in town
2022-09-22 18:21:45 +03:00
Andrey Filipenkov
a1cf120ea6
add missing virtual destructors
2022-09-22 11:54:09 +03:00
Agoston Szepessy
411038195c
Add clickeable area on top of creature picture
...
A class that wraps an instance of `CIntObject` creates an area
that users can right click to view information about the creature
they're buying.
The constants were based off the existing ones in the code and were
refined by guessing and checking where clicking falls inside/outside
the border of the rectangle.
2022-09-18 22:53:11 -07:00
Andrey Filipenkov
a320af837d
fix includes in client subdirectories
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
d7650ce9c0
use Conan to make macOS CI builds for both Intel and ARM ( #782 )
...
* [CI] append platform to output artifact name if it's given
2022-08-30 17:29:00 +03:00
Andrey Filipenkov
7150ee565a
[macOS] text input handling must be done on main thread
...
Xcode's Main Thread Checker warns about that
2022-08-03 12:09:49 +03:00
Andrii Danylchenko
2521e7bac9
Fix flickering in fullscreen
2022-06-13 16:11:53 +03:00
Andrii Danylchenko
1128abc593
Fix hero movement animation
2022-06-07 15:00:39 +03:00
nordsoft
d92356f085
Fixed game crash: divide by zero due to threads racing
2022-05-28 14:34:36 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) ( #739 )
...
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet
Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
6c36a1a2f6
Tray notifications for MXE
2022-05-14 13:23:09 +03:00
Andrii Danylchenko
2fc7cf02b0
tray notification for windows
2022-05-14 13:23:09 +03:00
Andrii Danylchenko
83f690e059
change SDL color key alpha to transparent
2021-08-21 09:32:52 +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
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
Victor Luchits
604246bc7a
VS 2019/Windows 10 Kit fix
2020-05-05 15:25:07 +03:00
Arseniy Lartsev
fca9bcdd7f
Fixed possible freezes while dragging visible area on minimap ( #638 )
2020-05-03 01:26:30 +03:00
toneyisnow
1319175bdc
Removed the create functions in the ColorShifter classes.
2020-01-27 00:34:59 -08:00
toneyisnow
8db638c054
Fix tiny space issue and remove reference of SDL.h
2020-01-26 00:05:38 -08:00
toneyisnow
468584d469
Update the originalPalette, and use SDL_Palette methods to improve memory management.
2020-01-26 00:01:48 -08:00
toneyisnow
0f4a9e5106
Updated resolved some issues.
2020-01-25 18:49:53 -08:00
toneyisnow
0f3dabab9a
Initialize the change:
...
1. Make color shifter for CAnimation, and use that in the clone effect.
2. Update the original position of the cloned object.
2020-01-25 01:21:26 -08:00
Zsolt Sz. Sztupák
e6f1ab6539
Fix SDL letterboxing on Android builds
...
On Android calling `SDL_RenderSetLogicalSize` with dimensions having a different aspect ratio than the screen will cause letterboxing with blinking garbage data in that areas (instead of having black bars). This is annoying and makes the game really hard to play.
This change will make sure that on Android `SDL_RenderSetLogicalSize` will always be called with dimensions where the aspect ratio is the same as the screen to make sure there is no letterboxing.
The only problem with this is that during drawing the adventure map nothing will clear out the areas that would have been letterboxes, so there is an added explicit clear screen command for `totalRedraw()`.
The changes are only applied to Android builds in order not to affect PC builds - but some changes, especially clearing the screen could be easily added to the PC builds as well
2020-01-06 18:46:56 +00: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
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
AlexVinS
43acfa160b
[tweaks] IImage * -> auto
2018-03-30 14:02:04 +03:00
AlexVinS
cac83379f5
Fixed https://bugs.vcmi.eu/view.php?id=2928
2018-03-22 12:56:15 +07:00
Arseniy Shestakov
69dbf339fc
CGuiHandler: fix invalid read on event handling
2018-01-18 06:34:57 +03:00
Arseniy Shestakov
f15cadc87b
Implement configurable object sounds: ambient, visit and removal
...
* If there more than one sound for visit or removal random is played
* At moment only the first ambient sound will be used
2018-01-02 09:49:03 +01:00
Michał Kalinowski
26a222ac62
Change JsonType to enum class ( #393 )
...
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
AlexVinS
39194a0629
Merge branch 'SplittingShortcuts' into develop
2017-11-15 22:31:55 +03:00
FeniksFire
f2b7c85811
Adding object construction macro with parameter
...
- Adding macro "OBJECT_CONSTRUCTION_CAPTURING" that take as parameter
action flag.
- Fixed minor errors
2017-11-14 08:52:33 +01:00
AlexVinS
654fea56a4
Fixed memory leak in CAnimation (regression of #376 )
2017-11-04 06:03:43 +03:00
AlexVinS
97d73f47b0
Fixed https://bugs.vcmi.eu/view.php?id=2817
2017-11-03 18:39:43 +03: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
Arseniy Shestakov
494872937a
CGuiHandler: use std:atomic to sync breaks in event handling
2017-09-11 12:18:16 +03:00
Arseniy Shestakov
986fc08b1e
CGuiHandler: use SDL_PushEvent in fakeMouseMove to avoid crashes
...
Somehow this worked on other platforms, but on macOS it's cause constant crashes.
2017-09-11 12:18:16 +03:00
AlexVinS
3bbff27127
Wiped CDefEssential
2017-09-06 15:13:28 +03:00
AlexVinS
6cd0dd9843
Use CAnimation for creature projectiles
2017-09-05 20:04:17 +03:00
AlexVinS
05bb8b13e9
Use CAnimation for battle creature animation
2017-09-05 18:59:26 +03:00
AlexVinS
882e279818
Use CAnimation in CBattleInterfaceClasses
2017-09-05 16:44:27 +03:00
AlexVinS
69c6643893
More CCursorHandler style tweaks
...
# Conflicts:
# AI/FuzzyLite
2017-09-05 15:25:49 +03:00
AlexVinS
9423555015
Declare ownership of CCursorHandler::dndObject
...
# Conflicts:
# AI/FuzzyLite
# client/gui/CGuiHandler.cpp
2017-09-05 15:25:31 +03:00
AlexVinS
ce4b206472
More complete support of .def format
2017-09-05 14:32:52 +03:00
AlexVinS
2f7968b803
Fixed wrong animation paths
2017-09-04 18:41:22 +03:00
AlexVinS
b964a53abe
Fixed battle animation
2017-09-04 17:52:36 +03:00
AlexVinS
df34a2cc96
Dirty hackfix for https://bugs.vcmi.eu/view.php?id=2780
2017-09-03 23:38:15 +03:00
Arseniy Shestakov
fad2a0a3fb
Fix memory leak and remove some garbage files added in last commit
2017-08-13 22:15:25 +03:00
Arseniy Shestakov
cd98dd0b89
CGuiHandler: make terminate_cond non-static
...
Static variable might be not yet initialized by the time it's used inside CGuiHandler constructor.
This fix let us avoid crash that occur when built with Xcode 8.2.1
2017-08-13 21:54:07 +03:00
AlexVinS
64d9dadd64
Logging cleanup.
2017-08-11 15:47:50 +03:00
AlexVinS
61e241308d
Logging cleanup
2017-08-10 19:52:05 +03:00
Arseniy Shestakov
2da3d8a563
Code style: remove senseless comments
2017-07-18 00:04:00 +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
Dydzio
182210421d
Fix #2 for bug #2476
2017-07-11 14:04:43 +02:00
DJWarmonger
9623f7caf3
- Restored MSVS project files
...
- Fixed VCAI bu pointed out by Tow
2017-06-11 08:01:41 +02: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
Arseniy Shestakov
3f7cb9f893
Client: add some shortcuts for spectator mode
...
Following mode only work when client is started in spectator mode:
F5 - Pause / resume game by locking of pim
F6 - Toggle spectate-ignore-hero
F7 - Toggle spectate-skip-battle
F8 - Toggle spectate-skip-battle-result
F9 - Skip current battle
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
18161d3688
Client: implement spectator mode via command-line options
...
If running with --spectate/-s CPlayerInterface will appear even without human players.
Following command-line options also available:
--spectate-ignore-hero
--spectate-hero-speed=N
--spectate-battle-speed=N
--spectate-skip-battle
--spectate-skip-battle-result
Boolean options can also be changed in runtime via client console:
set spectate-ignore-hero on / off
Spectator mode also:
- Work with --onlyAI option when starting game or loading saves.
- Allow to use any cheat codes.
- Give recon on towns and heroes.
2017-06-06 07:30:16 +03:00
dydzio
944edaf0bb
Fix bug #2476
2017-03-27 23:47:26 +02:00
AlexVinS
8f7b0dac45
Fixed CID 1197332
2016-12-05 06:00:32 +03:00
AlexVinS
45ae1ef165
Fixed CID 1197342
2016-12-05 03:17:03 +03:00
AlexVinS
abe4beebc6
Fixed CID 1197516
2016-11-27 19:13:40 +03:00
AlexVinS
c4ab962cc0
Fixed a few CWE-457
2016-11-27 17:48:18 +03:00
AlexVinS
20de754141
def2bmp CLI command converted to CAnimation
2016-11-25 15:23:28 +03:00
AlexVinS
9e6bd48038
fix
2016-11-10 14:38:33 +03:00
AlexVinS
b248642468
fixes and cleanup
2016-11-09 09:32:44 +03: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
4d510c172d
Terrain drawing converted to CAnimation.
2016-11-07 23:48:30 +03:00
AlexVinS
6a272d8f0c
FoW drawing converted to CAnimation
2016-11-06 05:27:45 +03:00
AlexVinS
c11a660d21
Fixed and cleanup
2016-11-06 05:27:44 +03:00
AlexVinS
186cd7a163
Mao object drawing converted to CAnimation
2016-11-06 05:27:26 +03:00
AlexVinS
ffeaef2bda
fixes
2016-10-27 18:19:45 +03:00
AlexVinS
f32097339c
Use CSDL_Ext blit for paletted sprites, use SDL blit otherwise.
...
* No solution found to blit paletted images with alpha channel with SDL
2016-10-27 17:32:31 +03:00
AlexVinS
3dddbcf2e8
try to use CAnimation for Hero path
2016-10-27 16:34:15 +03:00
Vadim Markovtsev
4bcc43d3d0
Fix Mantis #2234
...
CPlayerInterface instances were removed from CClient::playerint with
clear() and finish() was not called on each. Added multiple insurance.
2016-10-22 16:22:00 +02:00
AlexVinS
3a52a3c663
Allow CAnimImage to share animation object.
2016-10-16 12:58:18 +03:00
AlexVinS
e6829bf271
Removed unused debug data in CAnimation.
2016-10-16 12:02:50 +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
055c84bc7a
cleanup
2016-10-16 04:23:38 +03:00
AlexVinS
153af6e07b
cleanup
2016-10-16 02:47:03 +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
Zyx-2000
7fbd5479e2
alignment & makefile fix
2016-01-29 16:08:44 +01:00
Zyx-2000
3a1a8e3d47
further refactoring-related changes
2016-01-29 15:16:14 +01:00
Ivan Savenko
7b5a7f43ad
Removed includes of CGameState from headers
2015-12-02 21:39:53 +02:00
ArseniyShestakov
fc06db4c4f
Move STRONG_INLINE define into Global.h
2015-11-22 07:14:52 +03:00
Vadim Markovtsev
d24fd10e21
Fix std::abs warning
...
Recent clang wants std::abs instead of plain abs
2015-10-13 21:05:46 +03:00
Vadim Markovtsev
e4b1ef1405
Add "override" to virtual overriden methods
2015-10-13 21:05:36 +03:00
AlexVinS
28087099b8
More correct usage of SDL_Palette
2015-09-05 15:03:37 +03:00
AlexVinS
b512005d38
Get rid of CSDL_Ext::colorSetAlpha
2015-09-02 18:49:29 +03:00
Sandy Carter
6a3c2d3071
gui: Fix in parameter for scroll events
...
Refetch mouse position before checking if mouse is in widget Rect
Give acurate position of the mouse when scrolling
2015-08-22 12:40:14 -04:00
AlexVinS
371e4b8714
Fix mantiss 2235, 2237
2015-08-22 16:47:40 +03:00
AlexVinS
5f7a90237c
More smooth fps counter
2015-06-23 01:08:25 +03:00
AlexVinS
32c15a8266
Extract fps counter drawing
2015-06-22 23:57:34 +03:00
AlexVinS
cc669b0ae7
Move gui locking to GUIHandler
2015-06-22 21:53:47 +03:00
AlexVinS
ed281a3cc6
SDL1 wipe, part 4. Codebase cleanup finished. Untested.
2015-06-21 01:59:32 +03:00
AlexVinS
8c236e30bb
SDL1 wipe, part 3. Untested.
2015-06-21 01:59:32 +03: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
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
2a082e6c21
Merge pull request #84 from Fayth/test/advMapFading
...
If no one objects, I will try to merge this.
2015-02-18 09:52:09 +01:00
AlexVinS
c46999bcb8
Conurrency related tweaks. Crashes in renderFrame should be fixed, but synchronization is still not perfect
2015-02-15 04:53:01 +03:00
AlexVinS
b71d985d49
cleanup
2015-02-15 01:46:47 +03:00
Fay
5a7a208617
Minor fixes (possible surface leak);
2015-02-02 17:42:42 +01:00
Fay
5e78a3147a
Abstracted fading into separate class;
...
Smoother fade animations;
Added fading when recentering hero after switching levels;
2015-01-30 23:37:28 +01:00
Fay
4b248c2762
World view impl -- initial;
2015-01-13 20:57:41 +01:00
Ilya Zhuravlev
b22973e717
Fixed crash, "pure virtual method called", when calling doUpdate lambda from CGPreGame.
2014-11-10 20:21:39 +03:00
Ivan Savenko
4092929b70
Fixed endianness
2014-08-11 16:21:23 +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
4d6ab2c32d
Fixed rendering of bitmap fonts shadow
2014-08-07 19:53:07 +03:00
beegee1
5139378319
- migrated boost::function/ref/bind to std:: variants
2014-08-04 20:33:59 +02: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
92d22bae63
Merge branch 'feature/creatureWindow' into refactoring/guiClasses
2014-07-14 17:23:24 +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
Ivan Savenko
cec9161f8f
Added missing files
2014-07-13 18:40:13 +03:00
Ivan Savenko
83099fdb78
Moved all non-window GUI elements out from GUI classes file. TODO: reorganize source tree
2014-07-13 18:39:45 +03:00
Ivan Savenko
55ff933b7f
Reducing size of GUI classes. Split trade windows into a separate file
2014-07-13 16:31:00 +03:00
Ivan Savenko
09bedf9aa9
Reducing size of GUIClasses. Moved Garrison Int into a separate file.
2014-07-13 16:11:25 +03:00
Ivan Savenko
7e76a5dd0e
Moved some code from GUIClasses into two smaller files:
...
- CArtifactHolder.*
- CComponent.*
Goal: reorganize artifacts UI to decrease dependency on CGHeroInstance class
2014-07-13 14:56:30 +03:00
AlexVinS
0edd10078f
Fix usage of fillRect.
...
* proper fix for slider drawing
2014-07-05 01:52:11 +04:00
Ivan Savenko
20f7071d11
Implemented stack experience/commander experience display for window
2014-07-04 12:48:09 +03:00
AlexVinS
74d3effa98
More safe way of update locking
2014-07-03 22:30:56 +04:00
Ivan Savenko
e4e9d71143
Fixed texts:
...
- added new texts to translate.json
- implemented texts for abilities
Remaining TODO's:
- handling of stack artifact
- handling of commander artifacts
- stack experience
2014-07-03 21:09:17 +03:00
AlexVinS
9b8ad51cd3
Run all rendering with pim lock if possible
2014-07-03 22:05:59 +04:00
AlexVinS
8a488aeb86
Cleanup
2014-07-03 19:57:21 +04:00
AlexVinS
57f82f2bed
Add a comment.
2014-07-03 18:46:23 +04:00