Skip to content

Commit

Permalink
sync on 2025/01/14, rev d02c741c3b14adc243898d3ced582c82c5ce4839
Browse files Browse the repository at this point in the history
(shaderdump format changed, format of FX resources changed,
rebuild of shaders and dabuild of assets is required)
  • Loading branch information
NicSavichev committed Jan 14, 2025
1 parent c095a38 commit 370dbb6
Show file tree
Hide file tree
Showing 1,855 changed files with 126,982 additions and 29,891 deletions.
2 changes: 1 addition & 1 deletion DagorEngine.rev.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8486c81d97afccec3ee17945750171fbd2fc5c14
d02c741c3b14adc243898d3ced582c82c5ce4839
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ We recommend consulting the respective LICENSE.txt or equivalent files for your
guidance. You can find them in the respective directories of each
third-party component as follows:

prog/3rdPartyLibs/acl/LICENSE
prog/3rdPartyLibs/arc/brotli/LICENSE
prog/3rdPartyLibs/arc/fastlz/LICENSE
prog/3rdPartyLibs/arc/libzip/LICENSE
Expand Down Expand Up @@ -105,6 +106,7 @@ third-party component as follows:
prog/3rdPartyLibs/eastl/LICENSE
prog/3rdPartyLibs/enet/LICENSE
prog/3rdPartyLibs/fast_float/LICENSE
prog/3rdPartyLibs/ffx/LICENSE
prog/3rdPartyLibs/fileWatcher/License.txt
prog/3rdPartyLibs/flatbuffers/LICENSE.txt
prog/3rdPartyLibs/fmt/LICENSE
Expand Down
17 changes: 6 additions & 11 deletions _docs/.readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,15 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.9"
jobs:
pre_build:
- python3 _docs/build_all_docs.py

python:
install:
- requirements: _docs/requirements.txt

python: "3.11"
commands:
- python -m pip install --exists-action=w --no-cache-dir -r _docs/requirements.txt
- python3 _docs/build_all_docs.py
- cd _docs && sphinx-build -c . -b html source $READTHEDOCS_OUTPUT/html

sphinx:
configuration: _docs/conf.py

formats:
- pdf
formats: []


14 changes: 14 additions & 0 deletions _docs/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,18 @@ for use in text */
border-width: 0.15em !important;
}

/* Set colors for "check" and "x" icons*/

.sd-octicon-check {
display: inline-block;
fill: #28a745;
vertical-align: middle;
}

.sd-octicon-x {
display: inline-block;
fill: #dc3545;
vertical-align: middle;
}


2 changes: 1 addition & 1 deletion _docs/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ source .venv/Scripts/activate
echo "virtualenv activated"


python3 -m sphinx -b html -d _build/doctrees . build
sphinx-build -c . -b html source _build
6 changes: 3 additions & 3 deletions _docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,9 +316,9 @@
'Miscellaneous'),
]

def setup(app):
app.srcdir = 'source'
app.add_css_file('custom.css')
#def setup(app):
# app.srcdir = pathlib.Path('source')
# app.add_css_file('custom.css')

# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
Expand Down
11 changes: 7 additions & 4 deletions _docs/quirrel.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,14 @@
from docutils import nodes
from docutils.parsers.rst import directives

from sphinx import version_info
from sphinx import addnodes
from sphinx.directives import ObjectDescription
from sphinx.domains import Domain, ObjType
from sphinx.domains.python import _pseudo_parse_arglist
if version_info >= (7, 3, 0):
from sphinx.domains.python._annotations import _pseudo_parse_arglist
else:
from sphinx.domains.python import _pseudo_parse_arglist
from sphinx.locale import _
from sphinx.roles import XRefRole
from sphinx.util.docfields import Field, GroupedField, TypedField
Expand Down Expand Up @@ -114,9 +118,8 @@ def add_target_and_index(self, name_obj, sig, signode):
objects = self.env.domaindata['sq']['objects']
if fullname in objects:
self.state_machine.reporter.warning(
'duplicate object description of %s, ' % fullname +
'other instance in ' +
self.env.doc2path(objects[fullname][0]),
f'duplicate object description of {fullname}, ' +
f'other instance in {self.env.doc2path(objects[fullname][0])}',
line=self.lineno)
objects[fullname] = self.env.docname, self.objtype

Expand Down
12 changes: 6 additions & 6 deletions _docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
sphinx==5.3.0
sphinx==8.1.3

# Sphinx dependencies that are important

myst-parser==1.0.0
myst-parser==4.0.0
linkify-it-py==2.0.3
docutils==0.19
docutils==0.21.2
sphinx-copybutton==0.5.2
sphinx-design==0.6.0
sphinx-hoverxref==1.4.0
sphinx_design==0.6.1
sphinx-hoverxref==1.4.2
sphinx-markdown-tables==0.0.17
sphinx-version-warning==1.1.2
sphinxcontrib-video==0.3.1

# Documentation theme

sphinx-rtd-theme==2.0.0
sphinx-rtd-theme==3.0.2
sphinx-basic-ng==1.0.0b2

# Extension to rst and Sphinx to be able to read and render Doxygen xml output
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ build the corresponding components:

<br>

2. **Export the map** via **Project Export to game (PC format)**.
2. **Export the map** via **Project > Export to game (PC format)**.

<img src="_images/how_to_test_assets_on_maps_06.jpg" width="40%" align="center" class="bg-primary">

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ behave incorrectly.
2. Scale it to match the ladder’s dimensions.

3. Export the composite object (or the entire building) using the menu option
**Landscape****Export as composite**.
**Landscape > Export as composite**.

<img src="_images/climbable_ladders_06.jpg" width="80%" align="center" class="bg-primary">

Expand Down
2 changes: 1 addition & 1 deletion _docs/source/assets/animations/animation_export.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ follow these steps:
2. **Export Settings:** Specify the starting and ending frames for the animation
in the export settings. **Automatic frame detection does not work**.

3. **Add Note Tracks:** In the **Track View****Dope Sheet**, add a Note Track
3. **Add Note Tracks:** In the **Track View > Dope Sheet**, add a Note Track
to any of the animated bones.

```{seealso}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ composite’s pivot points and avoids the need for manual edits in a text editor
### Exporting the Map

If everything looks correct, export the map from *daEditor* by navigating to
**Project****Export to Game (PC Format)**. In the following windows, click
**OK** without changing any settings. When prompted, overwrite the existing map
by clicking **OK** in the dialog box.
**Project > Export to Game (PC Format)**. In the following windows, click **OK**
without changing any settings. When prompted, overwrite the existing map by
clicking **OK** in the dialog box.

![Exporting the Map](./_images/adding_light_fixtures_07.jpg)

Expand Down
4 changes: 2 additions & 2 deletions _docs/source/assets/lighting/replacing_or_modifying_lights.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ any *daNetGame*-based project.

![](./_images/replacing_or_modifying_lights_35.jpg)

2. **Export to Game**: Select **Project****Export to game (PC format)**,
leave the settings unchanged, and confirm.
2. **Export to Game**: Select **Project > Export to game (PC format)**, leave
the settings unchanged, and confirm.

![](./_images/replacing_or_modifying_lights_36.jpg)

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -118,16 +118,18 @@ texture (`tex4:t="emis_anim_shader_shift.tif`), are painted according to the UV
shell of the lamps. This causes visible artifacts at the seams. It is better to
paint the area as with the red/blue lamps.

<img src="_images/rendinst_simple_emissive_anim_04.gif" width="50%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_simple_emissive_anim_04.webm
:width: 60%
```

**Example:** For scrolling text, you'll need a `.dag` file for the banner and
three textures.

<img src="_images/rendinst_simple_emissive_anim_05.gif" width="50%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_simple_emissive_anim_05.webm
:width: 60%
```

<table style="text-align:center; width:98%"><tr>
<th style="text-align:center; width:32%"><p>tex0:t="text_anim_tex_d"</p></th>
Expand All @@ -150,8 +152,10 @@ Failing to meet these conditions will result in poor animation quality. For
example, using a *Photoshop* gradient with a gamma of `2.2` will produce subpar
results:

<img src="_images/rendinst_simple_emissive_anim_10.gif" width="50%" align="center" class="bg-primary">
```{eval-rst}
.. video:: _images/rendinst_simple_emissive_anim_10.webm
:width: 60%
```

<br>


Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ Default values are indicated in quotes.
- `script:t="interaction_strength=0.8"` – Controls the strength of interactions,
ranging from `0` to `1` (values above `1` might work as well). This is a
multiplier and is only effective when `interactions` is set to `1` or `2`.
This is now only in use for vegetation for which `is_pivoted` is `no`.
For everything else the `interaction_force_max` should be used.

- `script:t="interaction_force_max=3.0` - Sets the maximum calculated force
for vegetation which uses pivot painter (`is_pivoted` is `yes` -> has
skinning structure). For these vegetations the interaction force is
between 0 and `interaction_force_max` based on the obstacle's
distance from the vegetation's center. This is also only effective
when `interactions` is set to `1` or `2`.

- `script:t="angle_dissolve=1"` – Toggles angle-based dissolve effects.

Expand Down
74 changes: 42 additions & 32 deletions _docs/source/assets/shaders/rendinst_layered.md
Original file line number Diff line number Diff line change
Expand Up @@ -404,9 +404,10 @@ To summarize in simpler terms:

Here's how it looks in practice:

<img src="_images/rendinst_layered_31.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_31.webm
:width: 80%
```

Each movement triggers a reassembly of the global blending mask via multiplying
the exclusion mask and the local blending mask, which results in the same object
Expand Down Expand Up @@ -514,9 +515,10 @@ require additional methods.
Remember that these masks will be multiplied, and the final appearance will
continue to evolve:

<img src="_images/rendinst_layered_38.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_38.webm
:width: 80%
```

### Conclusion

Expand Down Expand Up @@ -643,9 +645,10 @@ For example, if the walls and exterior parts of the house are mapped to **cell

The shader will automatically shift the mapping to **cell 9**:

<img src="_images/rendinst_layered_43.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_43.webm
:width: 80%
```

However, this automatic shifting requires specific parameters to be set. The
universal overlay cells are as follows:
Expand Down Expand Up @@ -682,9 +685,10 @@ using the **Add** button and set their values as follows:

If these parameters are not set, the overlay will not shift correctly:

<img src="_images/rendinst_layered_45.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_45.webm
:width: 80%
```

In some cases, you may want to limit the use of certain cells. For example,
wooden walls may not look good with stucco cracks and stains.
Expand All @@ -696,9 +700,10 @@ wooden walls may not look good with stucco cracks and stains.
In such cases, set `atlas_last_tile = 10` to limit the jump to **cells 8-10**,
which are more neutral:

<img src="_images/rendinst_layered_47.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_47.webm
:width: 80%
```

#### Detail Tiling Settings

Expand Down Expand Up @@ -959,16 +964,18 @@ In the shader textures documentation, we mentioned that the blend mask offsets
each time the object's position in space changes. Let's revisit how this looks
with the overlay removed:

<img src="_images/rendinst_layered_73.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_73.webm
:width: 80%
```

These parameters increase the offset value, allowing for more varied blending of
detail layers. Let's set these values to `0.5`.

<img src="_images/rendinst_layered_74.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_74.webm
:width: 80%
```

As you can see, the changes between blends became

Expand Down Expand Up @@ -1002,8 +1009,8 @@ operation. This required careful selection of colors to avoid over-saturation.
The process was as follows:

1. The parameter `detail2_colored` was set to `1`.
2. In the *daEditor*, a color gradient was applied set in the **Properties**
**Textures****Rendinst 2-nd detail color** section.
2. In the *daEditor*, a color gradient was applied set in the **Properties >
Textures > Rendinst 2-nd detail color** section.

<img src="_images/rendinst_layered_112.jpg" width="49%" class="bg-primary">
<img src="_images/rendinst_layered_113.jpg" width="49%" class="bg-primary">
Expand Down Expand Up @@ -1043,9 +1050,10 @@ The function also takes into consideration the masks:
This is a procedural function – rotate the object as you like, and the Detail2
layer will cover it according to the specified rules, from the appropriate side.

<img src="_images/rendinst_layered_75.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_75.webm
:width: 80%
```

Let's examine how these parameters work.

Expand Down Expand Up @@ -1249,9 +1257,10 @@ object (from 0 to the last row in the texture). As the object moves across the
map, each step will randomly shift the pixel within the selected coloring row.
If multiple colors are specified, the object will be procedurally recolored.

<img src="_images/rendinst_layered_87.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_87.webm
:width: 80%
```

The coloring is applied based on the diffuse alpha (either the heightmap of the
detail layer or simply a coloring mask for a unique texture).
Expand Down Expand Up @@ -1376,9 +1385,10 @@ As you can see, the logic of material blending on the roof is completely lost.
The materials blend across the entire surface as if they were on walls, not a
roof. Now, let's see how the overlay appears on the roof.

<img src="_images/rendinst_layered_97.gif" width="80%" align="center" class="bg-primary">

<br>
```{eval-rst}
.. video:: _images/rendinst_layered_97.webm
:width: 80%
```

The result is completely abstract decorations, which have nothing to do with the
intended metal sheets of the roof. This is precisely why the roof cell was
Expand Down
Loading

0 comments on commit 370dbb6

Please sign in to comment.