1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00
Commit Graph

299 Commits

Author SHA1 Message Date
Ivan Savenko
cdcd5a29dd Updated path to renamed directory 2023-03-05 18:02:59 +02:00
Ivan Savenko
387a7b421a Refactoring of new code, multiple functionality changes:
- Implemented separate Map View contexts for different map modes
- Puzzle map now works
- Enemy movement now works as in H3
- Removed no longer used code
- Implemented missing embark/disembark sounds
- Fixed view focusing on embarking/disembarking
- Fixed focusing on movement near edge of terra incognita
- Fixed sea movement sound
2023-03-05 18:02:58 +02:00
Ivan Savenko
fbb8c18c23 Improved map view selection tracking 2023-03-05 17:57:36 +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
57d906a01c Fixed embarking & disembarking timings 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
SoundSSGood
a1dbbe2d86 redraw optimization 2023-03-03 10:17:31 +02:00
Ivan Savenko
72fe1fcfa9 Fix minimap updating on hero loss 2023-02-14 11:32:19 +02:00
Andrii Danylchenko
9f55666931 rework netpacks to avoid double typeinfo 2023-02-13 20:26:39 +02:00
Ivan Savenko
108a42e4ba Reorganized includes for new layout. New class - IImageLoader 2023-02-01 20:42:06 +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
SoundSSGood
d5cef0c069 end of battle art assembling fix 2023-01-05 17:37:14 +02:00
Ivan Savenko
e9e549148d Implemented teleportation animation effect 2022-12-18 18:26:43 +02:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +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
Ivan Savenko
c855823528 Renamed files in client/battle to match new names of classes 2022-12-09 13:38:46 +02:00
SoundSSGood
6e5932c016 Apply suggested changes next part 2022-11-10 21:02:06 +02:00
SoundSSGood
ad47a7573c Code style. Typo. Code clean up. 2022-11-10 18:29:39 +02:00
SoundSSGood
3a3b559a0b attempt to fix the build 2022-11-07 14:20:28 +02:00
SoundSSGood
203c54e956 BulkMoveArtifacts structure optimization 2022-11-07 14:13:36 +02:00
SoundSSGood
0032947735 regression fixed. Artifact assemble dialog shows multiple times. 2022-11-07 00:36:13 +02:00
SoundSSGood
95ab343116 Net Packs BulkMoveArtifacts structure and BulkMoveArtifacts::applyCl 2022-11-06 23:54:50 +02:00
nordsoft
297f518eb0 Code review tweaks 2022-10-13 00:18:15 +04:00
nordsoft
ea49b8cf40 Cleanup code 2022-10-06 17:56:54 +04:00
nordsoft
16e185343a Add host commands to control game 2022-10-06 15:54:46 +04:00
nordsoft
895ec2d302 Make console available during other players' turn 2022-10-05 19:04:51 +04:00
nordsoft
3ff38b84a2 Support hotseat over multiplier 2022-10-05 01:54:31 +04:00
nordsoft
a9ad583158 Restore AI controlled player for client disconnection 2022-10-04 18:11:12 +04:00
nordsoft
722acb2a1d Reconnection works 2022-10-04 05:42:14 +04:00
nordsoft
16a5414247 Reconnection partially works 2022-10-04 05:09:03 +04:00
nordsoft
b91bb41a80 One step forward 2022-10-04 02:25:22 +04:00
nordsoft
512cf014aa Freeze current state 2022-10-03 20:47:00 +04:00
nordsoft
f4b7cf8196 Transfer player ownership to AI 2022-10-03 20:47:00 +04:00
Dmitry Orlov
ea2931c6ea Fix: Get rid of 'Tile is not visible' error message 2022-01-30 12:31:07 +02:00
Dmitry Orlov
8cae3398ba Feature: Army Management Shortcuts should work as in HD+ Mod 2021-11-28 20:00:43 +02:00
Dmitry Orlov
25d9ea1ddf Feature: Opposite Side Limiter 2021-09-04 14:15:38 +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
Dydzio
9f3d718e3b Allow AI to be aware of invisible heroes deletion 2018-11-02 16:35:25 +01: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
df0aa2f69c Removes excess assertion in HeroVisit::applyCl 2018-03-17 17:10:13 +03:00
AlexVinS
03cfd2cb78 Do not use StackLocation in netpacks 2018-03-17 13:24:12 +08:00
AlexVinS
8cec07afbd Replaced CGHeroInstance and CGObjectInstance with ObjectInstanceID in NetPacks 2018-03-17 13:24:12 +08:00
AlexVinS
0b70baa95e Spells configuration version 2 (effect-based)
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00
Arseniy Shestakov
fc3b8b2c87 Refactoring: replace macro with variadic templates on client-side
Big thanks to @mwu-tow for helping me with this.
2018-02-05 08:14:01 +03:00
AlexVinS
805b5215de Client threading tweak 2017-11-16 14:15:43 +03:00
Arseniy Shestakov
ae13123129 CPlayerInterface: don't stop hero movement on embark / disembark
When hero have free boarding bonus there no reason to stop movement.
2017-09-16 10:42:27 +03:00
AlexVinS
8c0fab1dcf fixes 2017-08-12 14:36:37 +03:00