Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2024-07-13 in all areas

  1. I'd like to add some precisions to this. (@vladislavbelov might correct me) Vulkan shaders (Also called spir-v shaders) are artifacts produced by compiling the GLSL code (text files) into SPIR-V files (binary files). They only should get rebuilt if new shaders are added or old are modified. That compilation process takes one hour on a fast machine, and about 5 on the CI. The produced output also differs depending on the version of GLSLC (This caused a few disagreements). There is no incremental build. So you might wonder if we're doing something stupid when compiling them. And actually it's the converse. We're optimizing the number of files we have to generate using these files: https://releases.wildfiregames.com/spir-v/ You see, unlike GLSL which support conditional macro execution using #if and the like, spirv does not and you have to compile every single permutation of those macros. (and there are a lot) Those json files only list the ones that are actually used in order to prevent generating too much useless code. Bruteforcing the generation would add a couple gigabytes of shaders. When Vulkan was first added the generation script and the relevant rule files were not present anywhere and so we couldn't automate the process. That's one of the things that caused a delay because I didn't want to go the easy route and just dump the spir-v mod as is in the release bundles. In the future we probably should rebuild the shaders only if something in binaries/data/mods/**/shaders changed, or if the rules file changed (could store a hash of the file or something) That's still a significant size. The mod itself has the advantage of being compressed
    1 point
  2. ShadowOfHassen mentioned it already; it's about letting devs know we exist, what we do, for them to integrate that into their workflow, and to accept our patches. But that's probably achieved best by just getting the (big) stone rolling...
    1 point
  3. https://gitlab.com/0ad/0ad-community-mod-a26/-/tree/main/community-mod/simulation/templates May I suggest for ships: template_unit_ship_warship <Pierce>12 20</Pierce> <PrepareTime>1500 1000</PrepareTime> <RepeatTime>3000 2000</RepeatTime> template_unit_ship_warship_arrow - <Pierce>15</Pierce> <Population>3 2</Population> Line 36 tab -> spaces template_unit_ship_warship_ram <Hack>200.0 150.0</Hack> <RepeatTime>8000 6000</RepeatTime> <Population>3 2</Population> Line 51 tab -> spaces template_unit_ship_warship_scout <Population>2 1</Population> Line 27 tab -> spaces template_unit_ship_warship_siege <Crush>125 150</Crush> <MaxRange>80 85</MaxRange> <Spread>6 3</Spread> <Population>4 3</Population> Line 63 tab -> spaces
    1 point
  4. If you just want dropdown values then you might take a look at binaries/data/mods/public/gui/options/. We add dropdown values dynamically via JS for options. If I'm not mistaken the question is about many values not many dropdowns.
    1 point
×
×
  • Create New...