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
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Ivan Savenko
2c3e8c3390
Merge pull request #2168 from IvanSavenko/gui_handler_event_handling_refactoring
...
Event handling refactoring
2023-05-23 15:08:10 +03:00
Ivan Savenko
956ff22e64
Merge pull request #2163 from IvanSavenko/adventure_map_zoom
...
Adventure map zoom
2023-05-20 13:35:53 +03:00
Ivan Savenko
f4d67fe675
Restore SDL_main in CMT.cpp
2023-05-20 01:51:49 +03:00
Ivan Savenko
0e70f2998f
SDL event handling is now done exclusively in input handler
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
be2e101c8c
Fix map freeze on enemy turn
2023-05-19 13:22:18 +03:00
Ivan Savenko
872b68c59a
Implemented zoom reset shortcut (backspace)
2023-05-17 14:54:19 +03:00
Ivan Savenko
9e3bc87a6b
Allow zooming with mouse wheel
2023-05-17 00:49:24 +03:00
Ivan Savenko
3e9da333cf
Basic version of zoomable adventure map
2023-05-16 23:42:51 +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
03df274450
Framerate manager is now in a separate file and private member of GH
2023-05-14 22:22:37 +03:00
Ivan Savenko
64cc246358
Fix positioning of console log overlay
2023-05-13 18:00:14 +03:00
Ivan Savenko
c5a48a01ce
Remove no longer used code
2023-05-09 13:10:33 +03:00
Ivan Savenko
edd5d11734
Fix issues discovered by self-review
2023-05-09 13:10:33 +03:00
Ivan Savenko
c01b74434c
Fix cancelling spellcast with escape
2023-05-09 13:10:33 +03:00
Ivan Savenko
243773b6ef
Renamed some adventure map files & classes
2023-05-09 13:10:33 +03:00
Ivan Savenko
b1bd49ecd8
Fix main menu resize on resolution change
2023-05-09 13:10:33 +03:00
Ivan Savenko
ca15bf5698
Added autoselection of in-game console log width
2023-05-09 13:10:33 +03:00
Ivan Savenko
8b27780c11
Fixed scrolling blocking with Ctrl
2023-05-09 13:10:33 +03:00
Ivan Savenko
a6fda031ed
Fixed widget disabling during enemy turn & spellcasting
2023-05-09 13:10:33 +03:00
Ivan Savenko
7228b08d1d
Implemeted runtime generation of player-colored background texture
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
8e320d8454
Fixed world view mode
2023-05-09 13:10:33 +03:00
Ivan Savenko
5ae507505a
Fixed toggleable buttons (sleep/wake & subterra/surface)
2023-05-09 13:10:33 +03:00
Ivan Savenko
a0f1bf3928
Implemented user-selectable UI scaling mode
2023-05-09 13:10:33 +03:00
Ivan Savenko
fd3933e589
Support for changing resolution without game restart
2023-05-09 13:10:33 +03:00
Ivan Savenko
97426a3f7c
Implemented disabling of buttons based on condition
2023-05-09 13:10:33 +03:00
Ivan Savenko
d4098059b8
Proper support for player-colored buttons in UI
2023-05-09 13:10:33 +03:00
Ivan Savenko
7aacba6e55
Fix adventure map left-clicking
2023-05-09 13:10:33 +03:00
Ivan Savenko
019d7b6811
Integrated shortcuts into adventure window configuration
2023-05-09 13:10:33 +03:00
Ivan Savenko
0000541291
Fixed map rendering
2023-05-09 13:10:33 +03:00
Ivan Savenko
18a66a4376
Rename method to better name
2023-05-09 13:10:33 +03:00
Ivan Savenko
d96edd9f56
Added larger town list for higher resolutions
2023-05-09 13:10:33 +03:00
Ivan Savenko
4958190e82
Fixed visibility of corner gems
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
Ivan Savenko
dea10e6091
Use more descriptive names for hotkeys
2023-05-01 17:59:20 +03:00
Ivan Savenko
a654cc2391
Removed vstd::advance. Added vstd::next to handle similar cases.
2023-05-01 17:58:18 +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
fb739e7186
Merge beta -> develop
2023-04-26 22:48:08 +03:00
Ivan Savenko
80b37a3019
Fixed remaining regressions
2023-04-20 22:19:10 +03:00
Ivan Savenko
bb08a0afc8
Moved selection logic to player state
2023-04-20 22:04:24 +03:00
Ivan Savenko
e8718a46cc
Fix regressions
2023-04-20 22:04:24 +03:00
Ivan Savenko
dd227d24c3
Formatting and cleanup
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
5cbd0f8fc8
API for wandering heroes access
2023-04-20 22:04:24 +03:00
Ivan Savenko
3eac6f323e
added API for sleeping heroes 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
4a169972f0
Further refactoring to cleanup code of advmap and locplint
2023-04-20 22:04:24 +03:00
Ivan Savenko
20de44d4a5
Reodered methods in file to group similar code
2023-04-20 22:04:24 +03:00
Ivan Savenko
7db67a3101
int3 now has proper hasher function
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
Ivan Savenko
5c9ae8aafc
Implemented spell range overlay for Dimension Door and Scuttle Boat
2023-04-20 14:15:08 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
Ivan Savenko
e2d0cd37e4
Merge pull request #1910 from IvanSavenko/beta_fixes
...
Fixes for 1.2 branch
2023-04-09 20:09:03 +03:00
Ivan Savenko
4d37686eb3
Merge pull request #1901 from rilian-la-te/disable-info-bar-scroll
...
InfoBar: disable scrollbar
2023-04-08 19:12:48 +03:00
Ivan Savenko
0abc00f82e
Fix assertion failure in in-game console
2023-04-08 18:53:47 +03:00
Konstantin
50c9a57133
InfoBar: fix tiny selection with data
2023-04-08 01:44:08 +03:00
Konstantin
f8c15f3a4b
InfoBar: disable scrollbar
2023-04-07 20:50:47 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
krs
a8f13bb927
Add RALT key check for movement info
2023-04-01 00:20:51 +03:00
Adriankhl
8c5c943da9
Show movement cost immediately after pressing left alt key
2023-03-31 17:48:31 +02:00
Ivan Savenko
339bbce7b7
Added more checks to avoid potential nullptr dereference crash
2023-03-25 23:54:51 +02:00
Ivan Savenko
a8fe8c0f3b
Converted timer event into tick event that is called every frame
2023-03-22 23:10:50 +02:00
Ivan Savenko
c81d57ab8c
Remove excessive totalRedraw's
2023-03-22 00:57:08 +02:00
Ivan Savenko
bb03abdce6
Fix crash on switching players in hotseat
2023-03-21 19:06:38 +02:00
Konstantin
5462a92930
Fix #1688 again
2023-03-18 01:19:41 +03:00
Ivan Savenko
21407b26dd
Fix minimap redraw on fow reveal
2023-03-16 18:36:31 +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
Konstantin
4ab9cdd75a
infobar: fix tiny rendering
2023-03-15 14:35:34 +03:00
Ivan Savenko
e1310f88e3
Merge pull request #1675 from rilian-la-te/scholar-infobox
...
Fix #1385 and similar
2023-03-13 12:49:30 +02:00
Konstantin
40222e3f77
vcmi: fix week animation
2023-03-13 01:22:19 +03:00
Konstantin
18200d1d98
vcmi: move getEstimatedComponentHeight
2023-03-13 00:24:26 +03:00
Konstantin
3d33da0a9e
vcmi: request pop all when hero is moved
...
This way new pickup will show immidately.
2023-03-11 21:41:57 +03:00
Konstantin
de211e9f13
vcmi: all notifications now shows inside the infobar properly
...
No more dangling images or text.
2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
1ca89c8492
vcmi: implement splitting by ID in infobar
...
This will get a much better result than naive sorting
2023-03-11 21:41:57 +03:00
Konstantin
a6cb7fd192
vcmi: allows to more than 8 components in infobar
2023-03-11 21:41:57 +03:00
Konstantin
a0c644a0e5
vcmi: actually implement AUTO for CInfoWindow
...
This is possible to use infobar interactions now.
2023-03-11 21:41:57 +03:00
Konstantin
75358a68a7
vcmi: name infobar height and width
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
2fb2a79ca4
vcmi: fix components other than resources in infobar
...
Do not redraw infobar when components shows and
we request to show current adventure hero.
Player already knows which hero he used to pick up
components.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Adriankhl
368def1609
Fix sleep/wake button, now the icon is updated properly after left click
2023-03-07 13:51:05 +01:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
...
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
c328aadfed
Update hero paths on new day
2023-03-05 18:02:59 +02:00
Ivan Savenko
b61cae5b37
Fixed minor issues discovered during testing
2023-03-05 18:02:59 +02:00
Ivan Savenko
58aa5c0427
Formatting
2023-03-05 18:02:59 +02:00
Ivan Savenko
b57a07b10f
Restored ambient sounds functionality
2023-03-05 18:02:59 +02:00
Ivan Savenko
cdcd5a29dd
Updated path to renamed directory
2023-03-05 18:02:59 +02:00
Ivan Savenko
b9e55db223
Minor fixes
2023-03-05 18:02:59 +02:00
Ivan Savenko
6196d538e7
Fix terrain tooltip
2023-03-05 18:02:59 +02:00
Ivan Savenko
45e2875342
Completely removed old TerrainRect class
2023-03-05 17:57:36 +02:00
Ivan Savenko
b9056ef248
Moved swipe handling to TerrainRect class
2023-03-05 17:57:34 +02:00
Ivan Savenko
0282e6dad0
Attempt to improve caching
2023-03-05 17:48:02 +02:00
Ivan Savenko
11e4d84749
Implemented View Earth / View Air spells
2023-03-05 17:48:02 +02:00
Ivan Savenko
ec6f19ea18
Code reorganization, no changes to functionality
2023-03-05 17:48:02 +02:00
Ivan Savenko
330999fdc4
Moved files to new directory
2023-03-05 17:48:02 +02:00
Ivan Savenko
1c144637c1
Added basic overlay support for World View mode
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
40413ee6be
Basic version of scaling for view world
2023-03-05 17:48:02 +02:00
Ivan Savenko
16e7f860ff
Added debug rendering
2023-03-05 17:48:02 +02:00
Ivan Savenko
685cc91029
Cleanum & formatting
2023-03-05 17:48:02 +02:00
Ivan Savenko
ca13e7dedf
Implemented terrain palette animatiions. Removed old code
2023-03-05 17:48:02 +02:00
Ivan Savenko
57d906a01c
Fixed embarking & disembarking timings
2023-03-05 17:48:02 +02:00
Ivan Savenko
b5ad3a0559
Fixed in-boat movement
2023-03-05 17:48:02 +02:00
Ivan Savenko
ebe996fa74
Hero movement speed and map scrolling speed now matches H3
2023-03-05 17:48:02 +02:00
Ivan Savenko
7cf00ba87d
Implemented basic hero movement animation & object fade-out
2023-03-05 17:48:02 +02:00
Ivan Savenko
4501036a04
Basic version of hero movement on map. Removed old code.
2023-03-05 17:48:02 +02:00
Ivan Savenko
d46687a9c8
Partial implementation of world view mode
2023-03-05 17:48:02 +02:00
Ivan Savenko
beb7ce5beb
Refactoring of MapView
2023-03-05 17:48:02 +02:00
Ivan Savenko
67cc5a05c6
Removed old code
2023-03-05 17:48:02 +02:00
Ivan Savenko
21a48e4f0d
Moved path rendering to new map renderer
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
bb6e1f7ee1
Initial WIP of adventure map rendering rewrite
2023-03-05 17:47:12 +02:00
Ivan Savenko
acdb8d6e06
renamed Unicode -> TextOperations, to use for all text processing
2023-03-05 17:39:23 +02:00
Ivan Savenko
65c020ef34
Moved Unicode namespace out of GeneralTextHandler file
2023-03-05 17:30:38 +02:00
Andrey Filipenkov
fd56f86a84
introduce VCMI_MOBILE macro
2023-03-02 12:09:49 +03:00
Dydzio
6bd4eac27a
Rename settings files
2023-02-18 17:58:22 +01:00
Dydzio
1d153f4ee9
"ForceMovementInfo" support + make other settings tab
2023-02-14 23:45:45 +01:00
Dydzio
be9c71934c
Merge remote-tracking branch 'origin/develop' into settings-rework
2023-02-14 21:00:17 +01:00
Dydzio
fb06aca0bb
Further progress - UI tweaks, new settings etc
2023-02-14 20:30:06 +01:00
Ivan Savenko
18d1823d44
Fix build
2023-02-14 11:32:20 +02:00
Ivan Savenko
91b17bed79
Partial encapsulation of AdvMapInt
2023-02-14 11:18:42 +02:00
Ivan Savenko
e15c7dcd33
Attempt at better encapsulation of CTerrainRect
2023-02-14 11:18:41 +02:00
Ivan Savenko
89c29206f1
Internal classes of mapHandler are now in global namespace
2023-02-14 11:18:41 +02:00
Ivan Savenko
cc0c3e5bc9
All adventure map components now use shared_ptr
2023-02-14 11:18:41 +02:00
Ivan Savenko
f8c1c46562
removed CAdvMapInt::handleRightClick method
2023-02-14 11:18:41 +02:00
Ivan Savenko
d0f57fed6f
Cleaned up code of Minimap
2023-02-14 11:18:41 +02:00
Dydzio
7430616ada
Move settings to separate subfolder
2023-02-12 17:29:23 +01:00
Konstantin
3cf303f1c7
vcmi/client: make ColorRGBA constexpr
...
1. Replace overflowing int3 to ColorRGBA, which is more semantically
correct
2. Make ColorRGBA constexpr, to make sure than hardcoded colors can
be initialized in compile time
2023-02-12 19:11:24 +03:00
Dydzio
fc7d2b9778
Merge remote-tracking branch 'origin/develop' into settings-rework
2023-02-12 11:55:21 +01:00
Ivan Savenko
ab8b407294
Style cleanup
2023-02-08 13:56:09 +02:00
Ivan Savenko
62151cd20c
Replaced genRect with Rect constructor call
2023-02-03 19:17:59 +02:00
Ivan Savenko
34dcb4127a
Removed text utilities from SDL_Extensions
2023-02-03 18:55:25 +02:00
Ivan Savenko
7c58a46279
Removed some instances of access to screen
surface
2023-02-03 18:23:53 +02:00
Ivan Savenko
3fef2a5e1f
Moved Colors to a separate file, updated includes
2023-02-03 11:39:40 +02:00
Ivan Savenko
aab082fd2e
Remove remaining access to SDL_Events
2023-02-03 11:39:40 +02:00
Ivan Savenko
cfcaf5cbb6
renamed keyDown -> keyPressed
2023-02-03 11:39:40 +02:00
Ivan Savenko
e1bd0d2a04
API for custom events no longer requires SDL access
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
860fe43131
Merged two mouse button enums
2023-02-03 11:39:40 +02:00
Ivan Savenko
6669ffd4b3
Moved input-related code from SDL_Extensions to GuiHandler
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
d04c53e7e0
Merge branch 'develop' into settings-rework
2023-02-02 11:55:13 +01:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
84dfcacafd
Updated CMakeLists and file headers
2023-02-01 16:42:03 +02:00
Ivan Savenko
bfea28b2b5
Remove duplicated code from changed files
2023-02-01 15:24:43 +02:00
Ivan Savenko
18adcdda14
Finish CAdvmapInterface split
2023-02-01 15:17:57 +02:00
Ivan Savenko
6fd1b9927c
Restore CAdvMapInterface
2023-02-01 15:17:20 +02:00
Ivan Savenko
37d6d21e73
Moved CResDataBar into a separate file
2023-02-01 15:17:14 +02:00
Ivan Savenko
aaf981a6dc
Restore CAdvMapInterface
2023-02-01 15:16:07 +02:00
Ivan Savenko
540921b96d
Moved CAdventureOptions into a separate file
2023-02-01 15:15:52 +02:00
Ivan Savenko
1078c4acb6
Restore CAdvMapInterface
2023-02-01 15:14:52 +02:00
Ivan Savenko
5e0c90dc8a
Moved CTerrainRect into a separate file
2023-02-01 15:13:07 +02:00
Ivan Savenko
9366506e2c
Finalized split of AdventureMapClasses
2023-02-01 14:01:48 +02:00
Ivan Savenko
900cc55ed5
Merge branches 'split_cadvmappanel', 'split_cingameconsole', 'split_clist', 'split_cminimap' and 'split_cinfobar' into client_files_layout_rearrangement
2023-02-01 13:56:22 +02:00
Ivan Savenko
ef236be2da
Created separate file for CInfoBar
2023-02-01 13:55:56 +02:00
Ivan Savenko
d0c6627cdb
Created separate file for CList
2023-02-01 13:50:13 +02:00
Ivan Savenko
27f2e4fd33
Created separate file for CMinimap
2023-02-01 13:49:31 +02:00
Ivan Savenko
87498287f5
Created separate file for CAdvMapPanel
2023-02-01 13:48:26 +02:00
Ivan Savenko
134b40363f
Created separate file for CInGameConsole
2023-02-01 13:47:05 +02:00
Ivan Savenko
8a9492d129
Moved client files to more suitable locations
2023-02-01 13:09:19 +02:00