Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve management of game data. #223

Draft
wants to merge 63 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
2915594
add nopreload and tests flag
ineveraskedforthis Aug 23, 2024
e2194b8
merge
ineveraskedforthis Aug 23, 2024
e9d2f66
implement code generation for tiles data and connect it to the rest o…
ineveraskedforthis Aug 24, 2024
d45408d
save progress
ineveraskedforthis Aug 28, 2024
a45d214
translate warband, unit types and army
ineveraskedforthis Aug 29, 2024
da604a6
translate warband.lua
ineveraskedforthis Aug 29, 2024
c61faf1
translate production methods, technology and building types
ineveraskedforthis Aug 30, 2024
93db972
handle buildings and tech in province.lua
ineveraskedforthis Aug 31, 2024
f9baa9d
launch the game
ineveraskedforthis Sep 5, 2024
4f5a944
mapmodes, character and tile UI are working
ineveraskedforthis Sep 6, 2024
266acdb
rewrite part of society
ineveraskedforthis Sep 7, 2024
4d2e0a8
build scripts for windows datacontainer dll, rewrite several files
ineveraskedforthis Oct 13, 2024
4afa878
rewrite triggers
ineveraskedforthis Oct 16, 2024
e9cd7d9
rewrite remaining values
ineveraskedforthis Oct 17, 2024
6e26be0
rewrite diplomacy effects
ineveraskedforthis Oct 17, 2024
05793ca
complete rewrite of decisions
ineveraskedforthis Oct 22, 2024
e7ab784
a few easy replaces
ineveraskedforthis Oct 22, 2024
1003bcf
rewrite migration events
ineveraskedforthis Oct 22, 2024
1871267
Merge pull request #22 from Calandiel/master
ineveraskedforthis Oct 22, 2024
d8cffa0
rewrite many more events
ineveraskedforthis Oct 22, 2024
514ec7d
multiple fixes
ineveraskedforthis Oct 22, 2024
ebe0fb2
move data from ffi to dll, implement several functions
ineveraskedforthis Oct 26, 2024
22d60de
economy fixes and start repairing interface
ineveraskedforthis Oct 30, 2024
b34cdba
repair tile inspector
ineveraskedforthis Oct 30, 2024
ad4db02
repair left and top bars
ineveraskedforthis Oct 30, 2024
4d3937a
fix another codegen bug
ineveraskedforthis Oct 31, 2024
b5fed81
rewrite building-inspector
ineveraskedforthis Oct 31, 2024
aad5dd9
rewrite propert inspector
ineveraskedforthis Oct 31, 2024
c82c86c
inspector character
ineveraskedforthis Oct 31, 2024
ad87eb8
realm budget
ineveraskedforthis Oct 31, 2024
6e3adef
rewrite warband inspector
ineveraskedforthis Oct 31, 2024
900ebf3
restore dbm in production update
ineveraskedforthis Nov 1, 2024
04df302
various fixes
ineveraskedforthis Nov 2, 2024
c77b864
rewrite save system
ineveraskedforthis Nov 4, 2024
c2d7e93
save and loading
ineveraskedforthis Nov 5, 2024
4c1b8e5
Merge branch 'master' into data-management
ineveraskedforthis Nov 5, 2024
6bd897a
expand profiler
ineveraskedforthis Nov 5, 2024
728d184
multiple economy fixes
ineveraskedforthis Nov 6, 2024
1fbda83
fix personal rights
ineveraskedforthis Nov 7, 2024
0e773ba
fix on-death crash
ineveraskedforthis Nov 11, 2024
f7deb22
account for local efficiency
ineveraskedforthis Nov 11, 2024
c050595
move production methods eff update to world gen
ineveraskedforthis Nov 11, 2024
e95e5e6
move dbm to dll
ineveraskedforthis Nov 12, 2024
816fc28
minor fixes
ineveraskedforthis Nov 12, 2024
c8f5ac4
linux build
ineveraskedforthis Nov 13, 2024
aa66104
oneTBB license
ineveraskedforthis Nov 13, 2024
0ecfe63
change path to relative
ineveraskedforthis Nov 13, 2024
9c2d43c
rebuild with relative path
ineveraskedforthis Nov 14, 2024
fe00992
improve linux save loading time
ineveraskedforthis Nov 14, 2024
b5fe016
memory mapping-based loading for windows
ineveraskedforthis Nov 14, 2024
9124acd
fix culture and faith map modes
ineveraskedforthis Nov 14, 2024
cc88e1d
fix? diplo map mode
ineveraskedforthis Nov 14, 2024
be7d840
clean up before loading the save
ineveraskedforthis Nov 14, 2024
65a51ec
pause on quit
ineveraskedforthis Nov 14, 2024
007295c
move color update and tile neighbor calculation to library
ineveraskedforthis Nov 14, 2024
b801d10
remove unused part of the map texture
ineveraskedforthis Nov 14, 2024
40d8c6f
add --nopreload flag to windows run script
ineveraskedforthis Nov 14, 2024
e31c320
compile for linux
ineveraskedforthis Nov 14, 2024
e323523
fix sel tile mapmode and add prices_use mapmode
ineveraskedforthis Nov 22, 2024
a79d695
Merge branch 'data-management' of https://github.com/ineveraskedforth…
ineveraskedforthis Nov 22, 2024
94d259e
multiple fixes and optimisations
ineveraskedforthis Dec 1, 2024
9737989
fix invasion and character selection bug
ineveraskedforthis Dec 1, 2024
75e7d13
fix another bug
ineveraskedforthis Dec 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
translate warband.lua
  • Loading branch information
ineveraskedforthis committed Aug 29, 2024
commit da604a6579800cf3c848293899ce5231932b6d78
2 changes: 2 additions & 0 deletions sote/codegen/description/warband_guard_of.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
link one realm realm
link one warband warband
45 changes: 43 additions & 2 deletions sote/codegen/generator.py
Original file line number Diff line number Diff line change
@@ -184,6 +184,12 @@ def setter_name(self):
"""
return f"{NAMESPACE}.{self.prefix}_set_{self.name}"

def increment_name(self):
"""
Returns a name of a incrementer
"""
return f"{NAMESPACE}.{self.prefix}_inc_{self.name}"

def lua_getter(self):
"""
Returns a string with getter binding
@@ -258,12 +264,27 @@ def lua_setter(self):
f"function {self.setter_name()}_{field.name}({arg}, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}.{field.name} = value\n" \
f"end\n"
if field.value.lsp_type == "number":
result += \
f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param value {field.value.lsp_type} valid {field.value.lsp_type}\n" \
f"function {self.increment_name()}_{field.name}({arg}, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}.{field.name} = {NAMESPACE}.{self.prefix}[{arg}].{self.name}.{field.name} + value\n" \
f"end\n"
return result
return f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \

result =f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param value {self.value.lsp_type} valid {self.value.lsp_type}\n" \
f"function {self.setter_name()}({arg}, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name} = value\n" \
f"end\n"
if self.value.lsp_type == "number":
result += f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param value {self.value.lsp_type} valid {self.value.lsp_type}\n" \
f"function {self.increment_name()}({arg}, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name} = {NAMESPACE}.{self.prefix}[{arg}].{self.name} + value\n" \
f"end\n"
return result
else:
if self.value.c_type in REGISTERED_STRUCTS:
result = ""
@@ -276,13 +297,28 @@ def lua_setter(self):
f"function {self.setter_name()}_{field.name}({arg}, index, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index].{field.name} = value\n" \
f"end\n"
if field.value.lsp_type == "number":
result += f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param index {self.index.lsp_type} valid index\n" \
f"---@param value {field.value.lsp_type} valid {field.value.lsp_type}\n" \
f"function {self.increment_name()}_{field.name}({arg}, index, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index].{field.name} = {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index].{field.name} + value\n" \
f"end\n"
return result
return f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
result =f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param index {self.index.lsp_type} valid index\n" \
f"---@param value {self.value.lsp_type} valid {self.value.lsp_type}\n" \
f"function {self.setter_name()}({arg}, index, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index] = value\n" \
f"end\n"
if self.value.lsp_type == "number":
result +=f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
f"---@param index {self.index.lsp_type} valid index\n" \
f"---@param value {self.value.lsp_type} valid {self.value.lsp_type}\n" \
f"function {self.increment_name()}({arg}, index, value)\n" \
f" {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index] = {NAMESPACE}.{self.prefix}[{arg}].{self.name}[index] + value\n" \
f"end\n"
return result
else:
if self.array_size > 1:
return f"---@param {arg} {prefix_to_id_name(self.prefix)} valid {self.prefix} id\n" \
@@ -900,6 +936,11 @@ def __str__(self) -> str:
result += f" {field.setter_name()}(t.id, v)\n"
result += " return\n"
result += " end\n"
for field in self.links:
result += f" if (k == \"{field.name}\") then\n"
result += f" {field.setter_name()}(t.id, v)\n"
result += " return\n"
result += " end\n"
result += " rawset(t, k, v)\n"
result += " end\n"

Loading