e12765dca0
Fix sonar warnings, convert spaces -> tabs
2025-07-09 17:52:51 +03:00
8721bdd728
Split CCreatureSet file on .h/.cpp per class basis
2025-07-07 19:12:31 +03:00
1e3e2f665c
Remove strange & unused double-selector logic
2025-06-24 12:06:23 +03:00
51832c4fb9
Preparation for user-defined bonus types
2025-06-15 14:36:29 +03:00
456525109e
Replaced undescriptive bool true/false with more clear enum for
...
absolute/relative change via netpacks
2025-05-16 17:21:39 +03:00
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +03:00
35644da2b7
Reogranize callback-related classes on 1 file = 1 class basis
2025-05-12 22:07:09 +03:00
93b18ee94b
Fix some issues detected by Sonar & code review, fix build
2025-04-27 14:57:31 +03:00
7dfb499edf
replace boost locks with std
2025-02-28 15:25:58 +01:00
4031006317
Drop battle elapsed time measurement, restore avHexes.
...
Github validation report fixes.
2025-01-06 23:28:47 +01:00
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
d0606d2dc9
Fix scripting build
2024-10-07 15:14:03 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
8aaa9e63dd
Fix build
2024-04-09 18:56:28 +03:00
ea48257100
Fix SonarCloud issues
...
Replace the use of "::value" with "std::is_abstract_v" and similar issues
2024-03-02 14:08:03 +01:00
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00:00
52050d0ef1
Fix build
2023-11-15 15:55:19 +02:00
ae92bdfb51
Fix Lua and test building
2023-10-23 16:05:38 +03:00
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
31cf3442af
Update docs
2023-10-22 16:55:19 +03:00
a3b2354481
Implemented visit mode "limiter". Fixed h3m variable loading
2023-10-16 00:12:38 +03:00
edd029c79c
Replace "currentPlayer" from gamestate with "activePlayers"
...
- Allows multiple active players at once, e.g. simturns
- Cleared up validation of netpacks by server, e.g. always check for
pack sender
2023-08-25 18:56:15 +03:00
9b5e81929f
Fix build
2023-06-20 19:37:27 +03:00
e60a4318c3
vcmi: a bunch of forward definitions
2023-05-07 20:37:32 +03:00
8764765dcf
Bonus: complex duration as bitset
...
Fixes #2125
2023-05-05 21:30:45 +03:00
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
29c76fb9bf
HeroBonus: split BonusList
2023-05-02 00:54:53 +03:00
4866c2fe5c
vcmi: split IBonusBearer
2023-05-02 00:54:53 +03:00
b6eb2dc060
vcmi: rename IFactionMember and ICreature
2023-05-02 00:54:53 +03:00
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
af25ad0866
vcmi: split creatures and faction members
2023-05-02 00:53:50 +03:00
4da97682be
vcmi: remove code duplication for native terrain
2023-04-10 19:28:17 +03:00
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
6d17b9342d
ResourceSet: resolve .at troubles
2023-03-31 14:12:38 +03:00
976c5e7bd4
vcmi: modernize lua
2023-02-08 13:51:22 +03:00
19925c2c25
VcmiLua builds properly now
2023-02-01 20:25:09 +01:00
f386f42166
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
# lib/battle/CBattleInfoEssentials.cpp
# lib/rmg/ObstaclePlacer.cpp
# lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
a851e630d5
fix building vcmiLua for iOS
2022-09-24 15:55:24 +03:00
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02:00
4b4cc3cf4b
battlefields in VLC and custom bonuses for terrain patches
2022-09-11 11:31:27 +03:00
c4035134e5
New battlegrounds ( #758 )
2022-09-11 11:31:26 +03:00
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
c87df8e704
Fix warnings/errors on MSVC ( #753 )
...
* Fix warnings/errors on MSVC
1. update googletest to tag release-1.11.0 to make googletest and
googlemock compile on MSVC2022.
2. set gtest_force_shared_crt to ON in test cmake project to make tests
compile on MSVC.
3. add /wd4251 and /wd4275 to MSVC compile flags to ignore DLL related
warnings for class exports.
4. fix some other warnings and errors while compiling on MSVC2022.
2022-06-11 18:45:34 +03:00
483a4689ce
Fixes for code review issues
2021-02-20 04:57:50 +03:00
6d245a7821
Less ugly API declarations
2021-02-17 01:14:53 +03:00
ec6f7b88fe
!?OB WIP
2021-02-16 13:32:18 +03:00
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