1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
Commit Graph

146 Commits

Author SHA1 Message Date
Ivan Savenko
e5e01ab35d Disable spectator mode in single player to avoid confusing players 2023-11-20 14:38:57 +02:00
Ivan Savenko
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
Ivan Savenko
32633d5f52 Initial version of Turn Options tab screen 2023-11-13 19:06:56 +02:00
Ivan Savenko
3268ebe27c Moved some code from OptionTab to separate class, OptionTabBase 2023-11-13 19:06:56 +02:00
Ivan Savenko
59806bf112 Fix right-click tooltips for starting hero/towns 2023-11-12 17:17:07 +02:00
Ivan Savenko
10e50548e7 Converted Component class to use VariantIdentifier instead of int 2023-11-02 12:00:04 +02:00
Ivan Savenko
5523f05284 Moved ArtifactLocation to a separate file 2023-10-23 19:02:28 +03:00
Ivan Savenko
b88a8da4e8 Split off some netpack structures into separate files 2023-10-23 13:59:15 +03:00
Laserlicht
a042cc46c2
no town selection on loadscreen 2023-10-21 19:10:02 +02:00
Laserlicht
ecd093cae4
fix 2023-10-16 21:28:44 +02:00
Laserlicht
0a1578b797
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-16 21:24:59 +02:00
Laserlicht
b2396a61fa
code review 2023-10-14 13:34:39 +02:00
Laserlicht
7217992898
code review 2023-10-14 12:08:38 +02:00
Laserlicht
0c6b1ca3c8
possibility to change name 2023-10-13 23:04:35 +02: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
nordsoft
5b97c323d3 Rename hero strings to text id 2023-09-28 00:04:05 +02:00
Ivan Savenko
54adeef29f Added temporary UI for simturns testing 2023-09-26 13:42:20 +03:00
Ivan Savenko
00db2e245f
Merge pull request #2872 from Laserlicht/bonus_selection
fix bonus selection
2023-09-20 13:19:54 +03:00
Laserlicht
babf858112
format 2023-09-19 01:50:42 +02:00
Laserlicht
4ac3e3c2e5
fix bonus selection 2023-09-19 01:48:26 +02:00
Laserlicht
ff96b1af0a
initial hero overview 2023-09-17 00:32:10 +02:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 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
Michael
b6000841f1
code review 2023-08-29 21:08:18 +02:00
Michael
196cd41e35
fix multiplayer 2023-08-29 02:04:32 +02:00
Michael
44ece25042
disable unavailable heroes 2023-08-29 00:14:49 +02:00
nordsoft
49a76ac14c Code review tweaks 2023-08-28 17:21:38 +04:00
nordsoft
de8bd48398 Added right click pop-up for text inputs 2023-08-28 17:21:38 +04:00
nordsoft
fdaf05514a Correct network data exchange and time parsing 2023-08-28 17:10:52 +04:00
nordsoft
1e527a6942 Minor changes 2023-08-28 17:10:52 +04:00
nordsoft
86e0ea15fb Fix turn timer settings 2023-08-28 17:10:52 +04:00
nordsoft
d758727c23 Basic timer ui is almost complete 2023-08-28 17:10:52 +04: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
ec8d31bbfc First step at unifying game identifiers code 2023-08-25 13:38:01 +03:00
nordsoft
b8ab64f448 Make options tab configurable 2023-08-23 19:29:50 +04:00
nordsoft
d50edc28ab Merge remote-tracking branch 'upstream/develop' into turn-timer
# Conflicts:
#	server/CGameHandler.cpp
#	server/CGameHandler.h
2023-08-22 00:54:38 +04:00
Michael
52ed824100
add sound; possibility to click outside to close 2023-08-20 13:05:25 +02:00
Michael
8635c24166
fix 2023-08-18 00:15:47 +02:00
Michael
af347242b4
fix compile error 2023-08-17 20:34:31 +02:00
Michael
077ec65bf6
simplify 2023-08-17 18:15:42 +02:00
Michael
e61dc2ec23
constants 2023-08-17 17:54:53 +02:00
Michael
e1e16018d1
code review first batch 2023-08-17 17:29:31 +02:00
Michael
b2c8cab9f1
use playerColored 2023-08-14 22:22:43 +02:00
Michael
079e8ba1ba
naming 2023-08-14 00:40:12 +02:00
Michael
7bfbfeb48f
missing 2023-08-14 00:16:53 +02:00
nordsoft
3c9c302fd2 TurnTimerInfo 2023-08-14 02:16:25 +04:00
Michael
ae63088564
outline; squared 2023-08-13 22:58:49 +02:00
Michael
9a63161866
added random; added names 2023-08-13 20:21:09 +02:00
Michael
e66a41e90b
simplify 2023-08-13 19:23:27 +02:00
Michael
c14448ee32
change design 2023-08-13 15:09:48 +02:00
Michael
daa8bc547f
icon fix 2023-08-12 23:28:53 +02:00
Michael
f71f4a874b
Grid and Activaed 2023-08-12 22:59:45 +02:00
Michael
b73f9d6e30
calculate size 2023-08-12 21:50:40 +02:00
Michael
18b963f376
fix 2023-08-12 20:31:00 +02:00
Michael
3d08ecf024
rename 2023-08-12 20:02:36 +02:00
Michael
8bb7fd31cd
basically running... 2023-08-12 19:33:25 +02:00
Michael
481cd89dc8
drawing 2023-08-12 18:20:44 +02:00
Michael
c40c747ccf
saving states 2023-08-12 17:46:35 +02:00
Michael
876dc28e48
rework 2023-08-12 16:49:42 +02:00
Michael
bc4d331888
Title 2023-08-12 15:19:40 +02:00
Michael
0c4f4daf70
base rendering 2023-08-12 15:05:26 +02:00
Michael
b4f6c7abab
big images; basic heroes support 2023-08-12 13:19:58 +02:00
Michael
d0522b0fee
initial window 2023-08-12 02:41:48 +02:00
Ivan Savenko
43795c39a5 Replaced all usage of SDL_Color outside of render with ColorRGBA 2023-07-31 21:07:30 +03:00
Ivan Savenko
ca889a5c2a Replaced clickLeft with clickPressed clickReleased methods 2023-07-08 14:33:04 +03:00
Ivan Savenko
a505cc464e Fixed slider's behavior, especially for mobile systems 2023-06-22 23:49:38 +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
0e36a3ab5a Use Scrollable class for all appropriate locations 2023-06-05 19:18:33 +03:00
Ivan Savenko
052d0d314a Implemented Scrollable class, to server as common base for such classes 2023-06-05 19:17:04 +03:00
Ivan Savenko
6fe00ad55c Moved slider class to a separate file 2023-06-05 19:16:01 +03:00
Ivan Savenko
57df1c3e0d Implemented gesture for town/hero lists and town/hero selection 2023-06-05 19:12:24 +03:00
Ivan Savenko
360bf48031 Implemented panning/swiping gesture for sliders 2023-06-05 19:09:56 +03:00
Ivan Savenko
2a30eccb2d Allow mouse wheel for astart options setup (town/hero/bonus) 2023-06-05 19:00:57 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Ivan Savenko
de769a04d6 Remove unnecessary includes from headers 2023-05-31 23:01:57 +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
nordsoft
fb4db41891 Single player spectator 2023-04-13 02:01:13 +04:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Ivan Savenko
108a42e4ba Reorganized includes for new layout. New class - IImageLoader 2023-02-01 20:42:06 +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
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
a0157d6117 replaced C array with std::array 2022-11-28 21:20:46 +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
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
Dmitry Orlov
a65feb29f5 Fixed: Advanced options window issues 2021-11-13 17:02:11 +02: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
854a2e6c39 Feature: Mods system improvement, Part III. Bunusing buildings customization. 2021-01-14 01:02:13 +03:00
Dmitry Orlov
9cf953157a Fix: client crashes while browsing saves, if some factions are removed 2021-01-06 17:19: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
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