Ivan Savenko
d27b854cb1
Reorganized music, video and sound players:
...
- All XXXplayers are now in client/media directory
- Reogranized code on one class per file basis
- Extracted interfaces from handlers. Handlers now implement
corresponding interface.
- CCS now only stores pointer to an interface
2024-05-15 17:05:12 +00:00
Ivan Savenko
7790b8969d
Simplify TextInput constructor
2024-05-15 12:45:45 +00:00
Ivan Savenko
93c3cf372b
Reworked TextInput to allow text overflow support
2024-05-15 12:45:45 +00:00
Ivan Savenko
1abe9007bc
Moved CTextInput to a separate file. No changes in logic
2024-05-15 12:45:45 +00:00
Ivan Savenko
d3d15cd6b9
Loop audio stream from video file on campaing prolog/epilog window
2024-05-02 16:45:46 +03:00
Ivan Savenko
d4594baa05
Merge pull request #3749 from IvanSavenko/configurable_shortcuts
...
Configurable keyboard shortcuts
2024-04-13 12:47:30 +03:00
Ivan Savenko
ac1c36b7e2
Fixed not working shortcuts on some buttons in main menu
2024-04-11 22:00:54 +03:00
Ivan Savenko
9188280d02
Fix access to CPrologEpilogVideo after destruction from sound callback
2024-04-11 13:25:54 +03:00
Ivan Savenko
07d201502e
Refactoring of button class to prepare for configurable button
2024-02-29 13:57:25 +02:00
Ivan Savenko
af671d109f
Made graphical primitive-based UI more configurable
2024-02-18 20:48:45 +02:00
Ivan Savenko
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
...
Allow running server as part of client process
2024-02-14 12:06:22 +02:00
Ivan Savenko
6e399eb21a
Make some non-const static variables const or constexpr
2024-02-12 13:22:54 +02:00
Ivan Savenko
0d263c5571
Implemented option to run server as a thread with shared VLC
2024-02-11 17:55:02 +02:00
Ivan Savenko
d4bedd8d8d
Fixed handling of match server crash
2024-02-04 19:58:09 +02:00
Ivan Savenko
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
Ivan Savenko
c5c46a7c9a
Implemented connecting to server via proxy
2024-01-30 21:31:41 +02:00
Ivan Savenko
dc2f8cb81d
Merge pull request #3553 from Laserlicht/sync_subtitle
...
sync subtitle with audio
2024-01-29 12:54:43 +02:00
Laserlicht
d53dd83466
fix; cleanup; optimized times
2024-01-26 21:58:39 +01:00
Laserlicht
6e957d4913
fix build
2024-01-26 20:31:57 +01:00
Laserlicht
3d57437e52
move logic to tick
2024-01-26 20:13:02 +01:00
Ivan Savenko
322c5faf63
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-26 16:52:23 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
Laserlicht
28c6385211
fix
2024-01-26 11:17:38 +01:00
Laserlicht
c2c86ec278
fix
2024-01-25 21:11:42 +01:00
Laserlicht
3b9372c51c
Code review
2024-01-25 20:49:59 +01:00
Laserlicht
134eaa1583
sync subtitle
2024-01-24 01:17:23 +01:00
Laserlicht
0df4f9bda5
video button
2024-01-23 23:45:31 +01:00
Ivan Savenko
ffa58152ac
Client-side support for hosting game server via lobby
2024-01-19 23:49:59 +02:00
Ivan Savenko
55b504792e
Implemented basic version of login window and persistent connection on
...
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
78833a1015
Split LobbyWindow file into one file per class
2024-01-19 23:49:59 +02:00
Ivan Savenko
20a38d8514
Renamed new LobbyXXX classes to GlobaLobbyXXX
2024-01-19 23:49:59 +02:00
Ivan Savenko
2396c14114
Fixed logic for reconnection attempts to local server. Cleanup.
...
Added distinct fields in config for local and remote connection.
Removed code for restoring last session since it does not works as
intended and often triggers after crash
2024-01-19 23:49:59 +02:00
Ivan Savenko
5694777a96
Simplified connection logic
2024-01-19 23:49:59 +02:00
Ivan Savenko
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
Ivan Savenko
c2c43602ea
Initial version of global lobby server available in client
2024-01-19 23:49:59 +02:00
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
63ee20de6c
video campaign fix
2024-01-01 15:25:42 +01:00
Ivan Savenko
44a79c1ff4
Merge pull request #3327 from Laserlicht/datetime
...
date time format
2023-12-18 13:21:01 +02:00
Laserlicht
9299eaed36
code review
2023-12-16 21:10:27 +01:00
Laserlicht
56562ad8dc
date time format
2023-12-16 18:57:38 +01:00
Ivan Savenko
9f8a5119f9
Less strict check for Armageddon's Blade data files presence
2023-12-16 15:04:41 +02:00
Dydzio
4b57b9f9a9
Display disabled connect button on server autojoin
2023-11-26 18:39:51 +01:00
Ivan Savenko
d1a4e84255
Show message about mods that failed to load on opening main menu
2023-11-15 17:57:40 +02:00
Ivan Savenko
4a24da3804
Merge pull request #3114 from Laserlicht/fix-highscore
...
fix high scores screen
2023-11-03 15:51:37 +02:00
Laserlicht
8a9f10ec3a
fix asset failures
2023-10-31 22:05:22 +01:00
Alexander Wilms
5cbc75d3b7
Merge remote-tracking branch 'upstream/develop' into develop
2023-10-29 13:35:37 +00:00
Alexander Wilms
f01ec55d21
Use the "nullptr" literal.
...
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
Laserlicht
c1707bcc71
fix datatype
2023-10-27 18:52:25 +02:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
nordsoft
c8452355ce
Revert "Merge pull request #2959 from Alexander-Wilms/faster-server-connection"
...
This reverts commit 43636af2e4
, reversing
changes made to aed2e360ba
.
# Conflicts:
# client/CServerHandler.cpp
2023-10-14 22:52:24 +02:00
Nordsoft91
4ae123e2a1
Merge pull request #3038 from Alexander-Wilms/connection-error-window
...
Show info dialog when connection to multiplayer server fails
2023-10-12 00:16:04 +02:00
Alexander Wilms
7c627d8163
Show info dialog when connection to multiplayer server fails
2023-10-10 18:11:11 +02:00
Nordsoft91
b6da60b105
Merge pull request #3023 from Laserlicht/video_audio
...
audio from SMK video file
2023-10-10 00:40:33 +02:00
Laserlicht
89a39fcfc0
code review
2023-10-08 20:27:56 +02:00
Nordsoft91
43636af2e4
Merge pull request #2959 from Alexander-Wilms/faster-server-connection
...
Sleep for 10 ms instead of 1000 ms while waiting for server connection
2023-10-08 17:21:57 +02:00
Laserlicht
be2b3afe48
implements sounds
2023-10-08 12:49:59 +02:00
Alexander Wilms
c8f1512a3f
Use correct address to decide whether we're connecting to a remote server or a local one
2023-10-06 23:33:51 +02:00
Ivan Savenko
e322d0a084
Merge pull request #2966 from IvanSavenko/simplify_ui_lock
...
Simplified locking of game UI state
2023-10-04 16:50:23 +03:00
nordsoft
6da605ff83
Campaign meta strings
2023-09-28 00:10:28 +02:00
nordsoft
03c099d4fd
First steps
2023-09-27 22:53:13 +02:00
Ivan Savenko
d6b9fa8fbd
Replaced CPlayerInterface::pim with CGuiHandler::interfaceLock
...
- Removed CPlayerInterface::pim since this lock does not actually
protects LOCPLINT but rather entire game UI state
- added more logical CGuiHandler::interfaceLock
- interface lock is now non-recursive and is locked only once by initial
caller that want to access GUI
2023-09-27 18:33:52 +03:00
Ivan Savenko
71a1ed816a
Merge pull request #2892 from Laserlicht/highscore_menu
...
Highscore Menu & end video
2023-09-27 15:48:47 +03:00
Laserlicht
242e0ffa4a
fix playername
2023-09-26 22:06:04 +02:00
Laserlicht
2738dc3190
better approach for redrawing
2023-09-26 21:12:04 +02:00
Laserlicht
c3373ea34c
code review
2023-09-25 18:06:40 +02:00
Laserlicht
68e536c290
code review
2023-09-24 02:00:42 +02:00
Laserlicht
e69b91fbdd
fix layer problem
2023-09-23 23:44:12 +02:00
Laserlicht
41b03e7c5b
fixed some edge cases
2023-09-23 23:11:17 +02:00
Laserlicht
96df11a6f2
always show actual entry
2023-09-23 22:45:38 +02:00
Laserlicht
8a0565eb9b
use vector
2023-09-23 22:15:05 +02:00
Laserlicht
6f8b62d77d
codereview
2023-09-23 20:41:30 +02:00
Laserlicht
ca96749c45
workaround for missing video
2023-09-23 16:28:28 +02:00
Laserlicht
06895e6733
fine tuning
2023-09-23 15:11:48 +02:00
Laserlicht
e3edcb6cd8
rmb; bugfix; tabs
2023-09-23 14:51:39 +02:00
Laserlicht
d2398b804a
implement adding
2023-09-23 13:14:45 +02:00
Laserlicht
049f90159d
highlight preparation
2023-09-23 01:53:45 +02:00
Laserlicht
d3f007453d
win screen ready
2023-09-23 01:36:01 +02:00
Laserlicht
901a33bf1d
calculation
2023-09-23 01:03:15 +02:00
Laserlicht
1a0f5cf159
calc preperation
2023-09-23 00:21:36 +02:00
Laserlicht
30c6cf3b98
video & audio correction; win/lose
2023-09-22 21:45:12 +02:00
Laserlicht
a4cb74f0dc
highscore input window
2023-09-22 20:39:20 +02:00
Laserlicht
909b06f7c1
draw images
2023-09-22 02:19:31 +02:00
Laserlicht
92b0e2b400
initial highscore support
2023-09-22 01:39:35 +02:00
Laserlicht
5fd2eee3e8
code review
2023-09-21 21:27:06 +02:00
Laserlicht
4d8414bd3d
unlock functionality
2023-09-20 23:06:32 +02:00
Laserlicht
dfb5ccbeaf
add persistent storage & completed campaign support
2023-09-20 22:18:53 +02:00
Laserlicht
52b86eb9c1
get back to campaignmenu
2023-09-20 21:18:13 +02:00
Laserlicht
34182069f5
campaignset
2023-09-20 03:13:54 +02:00
Laserlicht
1c68937d95
new approach
2023-09-15 15:26:14 +02:00
Laserlicht
42d2257f19
VCMI credits
2023-09-15 15:26:14 +02:00
Laserlicht
994da3fcf2
code review
2023-09-11 14:44:07 +02:00
Laserlicht
fa19ed4e7c
format
2023-09-11 14:11:16 +02:00
Laserlicht
00f07f93d1
wait while audio playing; no audio on custom campaigns
2023-09-11 14:04:44 +02:00
Laserlicht
fc1ce85a72
basic voice support
2023-09-11 12:57:10 +02:00
Ivan Savenko
9cfcf5ea19
Fix regressions
2023-09-04 18:22:34 +03:00
Ivan Savenko
8dfdfffd87
Use ResourcePath for audio files
2023-09-04 18:22:34 +03:00
Ivan Savenko
97b7d44c88
Use ResourcePath for video accessing
2023-09-04 18:22:34 +03: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
Ivan Savenko
0613756abc
Remove unused code
2023-08-23 16:32:29 +03:00
Ivan Savenko
87957e74c1
Replaced boost::thread_specific_ptr with thread_local
2023-08-23 16:32:29 +03:00
Ivan Savenko
142889e3a5
Give all threads created by client human-readable name for debug
2023-08-23 16:32:29 +03:00
nordsoft
937935ce8c
Fix compiling (how does it work on mac?)
2023-08-23 01:20:29 +04:00
nordsoft
d9a2a7bfd0
Fix minor points
2023-08-22 16:00:14 +04:00
nordsoft
b1bfc2239f
Backward compatibility with mods
2023-08-22 00:32:26 +04:00
nordsoft
a60d503078
Fix progress bar
2023-08-21 19:21:32 +04:00
nordsoft
45f13c7964
Progress update on client side
2023-08-21 19:21:27 +04:00
nordsoft
584dd20943
Progress on server side for rmg
2023-08-21 19:21:22 +04:00
nordsoft
989a0859ef
Fix tutorial loading
2023-08-20 17:58:40 +04:00
nordsoft
70d04ad957
Replace thread approach with callback based
2023-08-11 20:04:14 +04:00
nordsoft
ef7008a753
Unblock UI while tutorial loading
2023-08-10 01:27:13 +04:00
nordsoft
f4869cbfb0
Tutorial load game mode
2023-08-09 15:29:48 +04:00
nordsoft
04c0124759
Remove unnecessary strings
2023-08-09 14:59:26 +04:00
nordsoft
1def98a862
Tutorial implemented
2023-08-09 03:54:09 +04:00
Ivan Savenko
4d08a131d3
Reorganization of boost filesystem usage
...
- Removed (most of) boost filesystem namespace usings
- Replaced boost::filesystem::fstream with std::fstream and different
constructor that should be available on any plaftorm
2023-07-28 19:12:04 +03:00
Ivan Savenko
bb17cc13b1
Implemented lazy totalRedraw to prevent multiple redraws on single frame
2023-07-18 17:31:21 +03:00
Ivan Savenko
0deeff30b9
replaced clickPressed with clickReleased where applicable to H3
2023-07-09 17:55:39 +03:00
Ivan Savenko
ca889a5c2a
Replaced clickLeft with clickPressed clickReleased methods
2023-07-08 14:33:04 +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
cdc27d1fcf
Play correct music file in campaign menu
2023-06-27 20:09:11 +03:00
Ivan Savenko
0f8d53e978
Replaced SDL user events list with dispatching of arbitrary functors
2023-06-26 21:51:10 +03:00
Ivan Savenko
f6b2f58da9
Use inheritance instead of composition for campaign header
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
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
b04b11b9d1
Merge pull request #2175 from IvanSavenko/map_format_mappings
...
HotA map format support - object mapping
2023-06-01 22:06:18 +03:00
Ivan Savenko
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Michael
eb618fbff9
rename function
2023-05-28 17:29:11 +02:00
Michael
8672fc7e3d
Allows to translate default playername
2023-05-28 16:57:24 +02:00
Michael
3ee7610015
added missing translation strings
2023-05-28 14:58:21 +02:00
Ivan Savenko
5e86b00dda
Moved input handling from GuiHandler to set of classes in eventsSDL dir
2023-05-20 01:51:49 +03:00
Ivan Savenko
d5d0ca96a8
Minor fixes and cleanup
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
051a4a3c17
Encapsulation of WindowHandler state
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
b1bd49ecd8
Fix main menu resize on resolution change
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
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
nordsoft
91b4782a2f
Refactor more fields from campaign header
2023-04-17 04:47:54 +04:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Andrey Filipenkov
313d479d42
fix using JNI from server in single process build
2023-03-02 12:09:48 +03: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