Evil Eye
1cea604257
Use string_view in register methods
2024-06-29 15:37:13 +02:00
Evil Eye
ad7fb3d13f
Avoid a few copies in mwscript
2024-06-29 10:31:49 +02:00
elsid
89bb04e8fd
Exit with fatal error on duplicated instruction code
...
Instead of causing SIGABRT which is more confusing.
2024-06-28 22:24:24 +02:00
psi29a
6754b8d941
Revert "Merge branch 'were_engineers_not_salt_miners' into 'master'"
...
This reverts merge request !4178
2024-06-25 20:58:31 +00:00
psi29a
9a864f309a
Merge branch 'theluareloaded' into 'master'
...
Check the result of loading from bytecode
Closes #7787
See merge request OpenMW/openmw!4189
2024-06-25 07:19:33 +00:00
psi29a
cd365b4e8c
Merge branch 'youre_outta_range_joe' into 'master'
...
FIX: check we're not going out of range while listing content files, fix #8029
Closes #8029
See merge request OpenMW/openmw!4201
2024-06-24 18:02:31 +00:00
psi29a
11c2cf0780
Merge branch 'esm_script' into 'master'
...
Make loading and saving ESM3 script record more robust
See merge request OpenMW/openmw!4195
2024-06-24 17:59:20 +00:00
psi29a
57adb93075
Merge branch 'coverity' into 'master'
...
Coverity fixes
See merge request OpenMW/openmw!4198
2024-06-24 07:10:28 +00:00
psi29a
456ac2a85b
Merge branch 'were_engineers_not_salt_miners' into 'master'
...
FEAT: Lua Engine Handler for MWScript `startscript` functionality
See merge request OpenMW/openmw!4178
2024-06-24 07:09:24 +00:00
Dave Corley
1a79e79f57
FEAT: Lua Engine Handler for MWScript startscript
functionality
2024-06-24 07:09:23 +00:00
psi29a
d3c3d0cf44
Merge branch 'indexthemoon' into 'master'
...
Move Lua index helpers to components and make owner.factionRank match other ranks
See merge request OpenMW/openmw!4186
2024-06-24 07:06:24 +00:00
Dave Corley
d03f25437b
CLEANUP(contentmodel): Use auto
for insertPosition declaration to
...
avoid possible narrowing
2024-06-23 20:06:23 -05:00
Dave Corley
fbdc4f4881
CLEANUP(contentmodel): Use ranges::find_if instead of a loop
2024-06-23 18:15:27 -05:00
elsid
89a30532b7
Fix getAnglesZYX implementation
2024-06-23 16:08:09 +02:00
Dave Corley
40aee53831
CLEANUP(contentmodel): Actually, no, I hate while loops
2024-06-23 06:07:16 -05:00
Dave Corley
b43743212e
FIX: check we're not going out of range while listing content files, fix #8029
2024-06-23 06:07:12 -05:00
Alexei Kotov
162ac6a75e
Avoid copying shader material shared_ptr in NifLoader
2024-06-22 14:34:09 +03:00
Evil Eye
5b82c7a95d
Don't assume execution of an internal Lua script can't fail
2024-06-22 11:26:32 +02:00
Evil Eye
83e8729256
Check the result of loading from bytecode
2024-06-21 22:35:34 +02:00
elsid
5c3ae3d94c
Make loading and saving script record more robust
...
* Check the header presence before using it.
* Write the header based on the actual content.
2024-06-21 20:37:37 +02:00
elsid
4571a8b88a
Remove unused SCHD type
2024-06-21 15:39:17 +02:00
AnyOldName3
decfe75ae5
Don't attempt to continue an outer loop from an inner loop
2024-06-21 14:05:52 +01:00
Kagernac
f7628ff0a8
Code cleanup and documentation
...
Added documentation in GUI.rst for the new settings
Cleaned up the MR with some remnant changes.
2024-06-19 11:08:05 -07:00
Evil Eye
d6fc0744c7
Move Lua index helpers to components and make owner.factiooRank match other ranks
2024-06-18 21:32:16 +02:00
psi29a
8e20967511
Merge branch 'collisionswitch' into 'master'
...
Don't let the optimizer mess with collision switch nodes (again)
See merge request OpenMW/openmw!4173
2024-06-15 08:41:44 +00:00
psi29a
31102a2076
Merge branch 'utfconversionfixsize' into 'master'
...
Use fixed-size type to hold a whole code point
See merge request OpenMW/openmw!4163
2024-06-14 07:21:51 +00:00
Alexei Kotov
4f8856f887
Don't let the optimizer mess with collision switch nodes (again)
2024-06-13 22:24:40 +03:00
Alexei Kotov
ccd36e9413
Support light fade settings in legacy lighting method
...
This doesn't change launcher descriptions because the launcher settings are going to be omitted
2024-06-12 22:44:12 +03:00
psi29a
321b84a4d2
Merge branch 'remove-tab-comment' into 'master'
...
components/esm4/loadwrld.hpp: clarify comment
See merge request OpenMW/openmw!4169
2024-06-12 10:43:44 +00:00
Austin English
338902c247
components/esm4/loadwrld.hpp: clarify comment
...
Also convert tabs to spaces
2024-06-11 20:19:55 -05:00
psi29a
c1d74763ed
Merge branch 'i-have-no-land-and-i-must-scream' into 'master'
...
Fix(CS): Add landscape flag if it doesn't exist at all and improve landscape QOL
Closes #7707
See merge request OpenMW/openmw!3617
2024-06-11 11:10:33 +00:00
psi29a
61772fa234
Merge branch 'verifiers' into 'master'
...
Complain about fishy local variable names, improve editor effect list handling
See merge request OpenMW/openmw!4160
2024-06-11 11:10:19 +00:00
elsid
1e98cc6c3b
Move EXPECT_ERROR macro to a separate header
...
To include it only where it's required.
2024-06-10 23:12:15 +02:00
elsid
7d1cd11ba9
Split openmw_test_suite into openmw and components tests
...
To avoid duplicated compilation for openmw translation units. Link openmw-lib to
openmw-tests instead.
2024-06-10 23:12:14 +02:00
Kindi
d21f3809bd
test utf8
2024-06-10 18:15:07 +08:00
Dave Corley
798208f6e5
FIX: Bad rebase
2024-06-10 02:03:00 -05:00
Dave Corley
80360ca5eb
downgrade clang-format pls
2024-06-10 02:02:31 -05:00
Dave Corley
3066695630
FIX(loadland.cpp): Minor rebase fail
2024-06-10 02:02:31 -05:00
Dave Corley
145f9c1154
CLEANUP(CS): Do heightData check in actual implementation, revert
...
accidental change to land condition order
2024-06-10 02:02:31 -05:00
Dave Corley
bdf99c701b
Fix(CS): Use ESM flags and not internal ones for verifying presence of a subrecord
2024-06-10 02:02:31 -05:00
Dave Corley
89bce6f678
Fix(CS): Enum name in accordance with current standards
2024-06-10 02:02:31 -05:00
Dave Corley
6f2ae4a33b
Cleanup(CS): Improve readability and clean up some implementations
2024-06-10 02:02:31 -05:00
Dave Corley
51df924d37
Fix(Land): Restore vanilla behavior of ignoring LAND subrecords which
...
are not flagged to actually exist
2024-06-10 02:02:31 -05:00
Dave Corley
b111d28ede
Fix(CS): Generate blank lands at default height, not water level
2024-06-10 02:02:26 -05:00
Dave Corley
014e5118e9
Fix(CS): Fix crash when loading cell without VHGT
2024-06-10 01:58:34 -05:00
Dave Corley
18d6598565
Feat(CS): Add enum for actual LAND flags
2024-06-10 01:58:34 -05:00
Kindi
22d685eca3
ensure fitness
2024-06-08 22:11:59 +08:00
psi29a
9087de1596
Merge branch 'esm3_land' into 'master'
...
Add unit tests for saving and loading ESM3 Land
See merge request OpenMW/openmw!4159
2024-06-08 10:47:58 +00:00
Alexei Kotov
89eccffbf6
Complain if a function or an integer is used as a local variable name
2024-06-08 06:31:16 +03:00
Kagernac
7d403089ec
Cleaner implementation
...
Retrieved the Colours straight from Settings
Made tagname clearer in openmw_list.skin.xml
Fixed minor formatting issue in validate.cpp, textcolours.cpp
Updated skin variables to be const and string_view
2024-06-07 18:38:32 -07:00
psi29a
176e6490c5
Merge branch 'stufftheminasack' into 'master'
...
Drop 360-degree screenshot support (#7720 )
Closes #7720
See merge request OpenMW/openmw!4158
2024-06-07 20:50:43 +00:00
psi29a
a80f5c109c
Merge branch 'ltexerasure' into 'master'
...
Fix LTEX overriding and allow deletion
See merge request OpenMW/openmw!4152
2024-06-07 08:05:56 +00:00
elsid
044748725c
Add unit tests for saving and loading ESM3 Land
2024-06-07 00:22:24 +02:00
Alexei Kotov
93d1c6d7e0
Drop 360-degree screenshot support ( #7720 )
2024-06-06 14:46:01 +03:00
Kagernac
aca39c919f
Changed the tagname to match the values in settings.cfg
...
Changed the values from int to float in settings.cfg. This is consistent with the older format.
The prefix is no longer referenced and hardcoded. There were four original values in the old color format, the parsing had to be modified to account for floats and four values.
2024-06-05 20:26:45 -07:00
psi29a
8a6d3ea447
Merge branch 'hircinevsprimealmalexiawhowouldwin' into 'master'
...
Don't force Tribunal to be enabled to load Bloodmoon (#7993 )
Closes #7993
See merge request OpenMW/openmw!4153
2024-06-05 21:00:47 +00:00
Kagernac
3e6ccfce1f
Took @Capostrophic's suggestion about leveraging a new tag format
...
Removed the color settings from Textcolours, they are unneccessary
Removed the Fallback workaround as a dedicated else condition was created with the new tag "fontcolouroptional". This code section has no involvement in Fallback
openmw_list.skin.xml was updated to reflect this new tag
settings.cfg was updated with the updated variable names
2024-06-04 23:14:44 -07:00
psi29a
32dd4a4a68
Merge branch 'windows11_qss' into 'master'
...
Improve dark mode stylesheets
See merge request OpenMW/openmw!4148
2024-06-04 20:38:46 +00:00
Alexei Kotov
eca30f7921
Don't force Tribunal to be enabled to load Bloodmoon ( #7993 )
...
Sort Bloodmoon to be after Tribunal and warn the user if Bloodmoon is loaded before enabled Tribunal
2024-06-04 02:44:29 +03:00
Evil Eye
ca6baed366
Fix LTEX overriding and allow deletion
2024-06-03 16:42:27 +02:00
Andrei Kortunov
937101d580
Add a dark style sheet tweaked for Windows 11
2024-06-02 16:58:02 +04:00
Alexei Kotov
71c1b536b4
Discard culled lights specifically for post-processing light buffer
2024-06-01 22:05:32 +03:00
Alexei Kotov
cbe61e2c93
In TextureType, use osg::Object's name field
2024-05-31 14:42:48 +03:00
psi29a
a2e83d9a21
Merge branch 'dayofviewindependence' into 'master'
...
Make object light lists (mostly) view-independent
See merge request OpenMW/openmw!4128
2024-05-30 08:08:55 +00:00
psi29a
e7c9574d31
Merge branch 'savetheslot' into 'master'
...
Convert constant effect equipment slots to refnums
Closes #7998
See merge request OpenMW/openmw!4130
2024-05-28 11:09:36 +00:00
psi29a
8cf6fde8b6
Merge branch 'fix_debug_render' into 'master'
...
Fix debug render for recast mesh and navmesh
See merge request OpenMW/openmw!4127
2024-05-28 07:38:00 +00:00
elsid
71369be796
Log caught exceptions
2024-05-26 02:52:11 +02:00
Alexei Kotov
c92d016e43
Don't sort scene light list by camera distance if the limit isn't reached and PP doesn't need it
...
Also don't clip it to the single UBO scene light limit if the lighting method isn't actually single UBO
2024-05-26 02:29:05 +03:00
Alexei Kotov
916706c6c1
Make object light lists (mostly) view-independent
...
Remove frustum culling
Sort lights by object proximity
Restore multiple camera rendering optimization
2024-05-26 02:29:05 +03:00
psi29a
16572109fc
Merge branch 'restoringthelightfacingthedark' into 'master'
...
Lighting fixes, non-exciting part
See merge request OpenMW/openmw!4126
2024-05-24 23:05:07 +00:00
Evil Eye
cdfd305ac3
Convert constant effect equipment slots to refnums
2024-05-24 16:59:48 +02:00
elsid
10e14a3c21
Replace release by assigning nullptr
...
release does not call a destructor if it's the last reference. This is not a
right choice here. Even though the functions accept raw pointers they convert
them into osg::ref_ptr. So it's ok to share the ownership.
2024-05-24 01:08:15 +02:00
elsid
4b8897e33e
Use state sets without transparency support for recast mesh and agents paths
2024-05-24 00:05:10 +02:00
elsid
98d530d8cb
Share state sets for recast mesh tiles and actors paths
2024-05-24 00:05:09 +02:00
Alexei Kotov
fd9361f62c
Some attenuation setup fool-proofing
2024-05-24 00:52:54 +03:00
Alexei Kotov
e0e4b84e40
Disable specularity for negative lights
2024-05-24 00:50:29 +03:00
Alexei Kotov
debc37d93a
Fade out specularity according to light fade settings as well
2024-05-24 00:49:37 +03:00
Evil Eye
6a10311ae5
Use more appropriate types in terrain storage
2024-05-23 18:48:54 +02:00
psi29a
db27543ea1
Merge branch 'uniform_choice' into 'master'
...
Add choice widget type to postprocessing uniforms
See merge request OpenMW/openmw!3969
2024-05-23 10:06:22 +00:00
Kagernac
f9577d904c
This commit introduces six new color settings for dialogue topic keywords
...
referencing settings.cfg and settings-default.cfg. These settings work similarly
to the color references found in openmw.cfg and Morrowind.ini.
Changes include:
Removal of deprecated settings:
color topic specific
color topic exhausted
Addition of six new color settings to settings.cfg and settings-default.cfg
Updated description in settings-default.cfg to reflect the new color format
2024-05-22 20:25:58 -07:00
psi29a
2be6116ef6
Merge branch 'fix_recastmesh' into 'master'
...
Limit number of cached tiles with recast meshes
See merge request OpenMW/openmw!4112
2024-05-22 20:38:42 +00:00
Dave Corley
c87eaefd17
Merge branch 'theeditorisjustanotherengine' into 'master'
...
Use ESM::ReadersCache in the editor
Closes #7896
See merge request OpenMW/openmw!4111
2024-05-21 06:35:47 +00:00
Andrei Kortunov
bf682d51a6
Support dark mode on Windows (feature 7985)
2024-05-20 16:50:24 +04:00
psi29a
f34994e4c8
Merge branch 'notexturetypeconfusion' into 'master'
...
Support defining the texture type with a state attribute (#6240 )
Closes #6240
See merge request OpenMW/openmw!4079
2024-05-20 12:48:30 +00:00
Alexei Kotov
03652104fe
Merge branch 'cleanup_preloading' into 'master'
...
Cleanup preloading code
See merge request OpenMW/openmw!4104
2024-05-19 20:39:28 +00:00
Evil Eye
77d554594f
Add ReadersCache::clear
2024-05-19 20:39:23 +02:00
elsid
45d62ee59f
Limit RecastMeshManager range by active cell grid
2024-05-19 20:07:47 +02:00
elsid
49db37ee29
Merge setWorldspace and updateBounds
2024-05-19 20:07:47 +02:00
elsid
9854d42d56
Use ESM::RefId for worldspace type
2024-05-19 20:07:47 +02:00
elsid
5d28164416
Remove recast mesh tiles outside active range
2024-05-19 20:07:47 +02:00
elsid
9e2f3fd0b4
Report stats for TileCachedRecastMeshManager
2024-05-19 20:03:34 +02:00
Alexei Kotov
908f3891fb
Add helper method for texture type recovery
2024-05-19 02:26:40 +03:00
Alexei Kotov
84f4ba4ca1
Support defining the texture type with a state attribute ( #6240 )
...
Named textures are still supported for easier native format compatibility (and so that I don't have to edit the documentation)
2024-05-18 23:11:20 +03:00
psi29a
9b31ecc10e
Merge branch 'bufferer_log' into 'master'
...
Write to log file records captured before configs are loaded
See merge request OpenMW/openmw!4095
2024-05-16 11:17:25 +00:00
elsid
491a59b035
Remove unused getActiveGrid function
2024-05-15 22:33:11 +02:00
elsid
38f0533bcf
Write to log file records captured before configs are loaded
2024-05-13 01:17:26 +02:00
elsid
4ab5871dc4
Split Tee logic into different types
2024-05-13 01:17:24 +02:00
Alexei Kotov
1d96c0adbf
Read BSTreadTransfInterpolator
2024-05-13 01:20:23 +03:00
Alexei Kotov
5f4a0c3bf1
Read BSAnimNote/BSAnimNotes
2024-05-13 01:12:09 +03:00
Alexei Kotov
c5a11f0c9f
Read BSRotAccumTransfInterpolator
2024-05-13 00:49:10 +03:00
Alexei Kotov
c647374c0d
Add compact B-Spline interpolators
2024-05-13 00:36:10 +03:00
Alexei Kotov
d458c07b36
Add base typed B-Spline interpolators
2024-05-13 00:20:32 +03:00
Alexei Kotov
5c6fca14c1
Read NiBSplineData/NiBSplineBasisData
2024-05-12 23:58:05 +03:00
psi29a
919d1e366e
Merge branch 'staticcollections' into 'master'
...
Place static collections to the scene and fix item modification record loading
See merge request OpenMW/openmw!4085
2024-05-11 07:43:28 +00:00
psi29a
1cde82201e
Merge branch 'optimize_merge_geometry' into 'master'
...
Optimize geometry merging
See merge request OpenMW/openmw!4086
2024-05-11 07:40:53 +00:00
psi29a
2f8e3611fb
Merge branch 'issue-7924-envvar-crashdump' into 'master'
...
components/crashcatcher: if OPENMW_FULL_MEMDUMP is set, generate a full memory crashdump
See merge request OpenMW/openmw!4078
2024-05-10 13:43:23 +00:00
elsid
020b31395b
Reserve arrays before merging
2024-05-09 17:21:56 +02:00
Alexei Kotov
7d979a2dfc
Place ESM4 static collections to the scene
2024-05-09 17:26:27 +03:00
Austin English
50b2edc121
components/crashcatcher: if OPENMW_FULL_MEMDUMP is set, generate a full memory crashdump
...
[Bug #7924 ](https://gitlab.com/OpenMW/openmw/issues/#7924 )
2024-05-08 18:27:57 -05:00
jvoisin
93aa887868
Merge branch 'itsemissivenotglow' into 'master'
...
Unbork glow maps
See merge request OpenMW/openmw!4077
2024-05-08 21:10:14 +00:00
Alexei Kotov
c95bb4ce59
Merge branch 'split_esm_headers' into 'master'
...
Split ESM headers
See merge request OpenMW/openmw!4071
2024-05-07 11:57:32 +00:00
Alexei Kotov
c29ceb7f7f
Unbork glow maps
2024-05-06 23:32:35 +03:00
elsid
a920ca9070
Report loading screens to osg stats
2024-05-04 13:22:32 +02:00
elsid
01166b1f26
Split ESM headers
2024-05-03 01:55:20 +02:00
AnyOldName3
b55a0fd32a
|| and && have different binding precedence
2024-04-30 13:50:50 +01:00
AnyOldName3
d148bd1cde
Add bounds check
2024-04-30 13:41:48 +01:00
psi29a
a57c350c08
Merge branch 'paint_svg' into 'master'
...
Change SVG icons color in the editor
See merge request OpenMW/openmw!4060
2024-04-30 08:19:51 +00:00
AnyOldName3
ee3d012a6a
Use CLAMP_TO_EDGE for shadows
...
Partially mitigates https://gitlab.com/OpenMW/openmw/-/issues/7944
The border was necessary in the olden days when the FFP might have shadows, but they require shaders now.
2024-04-29 01:21:29 +01:00
psi29a
e4fd852df6
Merge branch 'ba2' into 'master'
...
BA2 support fixes
See merge request OpenMW/openmw!4055
2024-04-28 07:40:40 +00:00
psi29a
1eb6b322a7
Merge branch 'morefunfallout4discoveries' into 'master'
...
Fix reading BSLightingShaderProperty backlight power in NIF Bethesda stream version 132
See merge request OpenMW/openmw!4058
2024-04-28 07:39:51 +00:00
Alexei Kotov
a5d936993f
Clarify Fallout 4 next gen update BA2 version naming
2024-04-28 05:09:40 +03:00
Andrei Kortunov
98abfcfe00
Use grayscale images for disabled icons
2024-04-27 11:25:56 +04:00
Andrei Kortunov
070327a259
Change SVG color in the editor
2024-04-27 09:57:47 +04:00
Alexei Kotov
52bc744642
Fix reading backlight power in NIF stream version 132
2024-04-26 17:32:07 +03:00
Alexei Kotov
52d77e3a45
Version 8 texture BA2s found
2024-04-26 16:45:30 +03:00
Alexei Kotov
f0e4793321
Remove allow shadow map overlap setting ( #7939 )
2024-04-26 13:50:03 +03:00
Alexei Kotov
61b6150c01
Properly detect the version for post-FO4 BA2 formats
2024-04-26 10:50:06 +03:00
Alexei Kotov
f796e051cb
Support zlib-compressed version 3 DDS BA2s
2024-04-26 10:45:03 +03:00
Alexei Kotov
b32385a0af
Fix BA2 signature check
2024-04-26 10:32:17 +03:00
Alexei Kotov
22fb3d7f83
Add support for Fallout 4 next-gen update BA2s
2024-04-26 10:30:42 +03:00
psi29a
26f0e6b22c
Merge branch 'nifmisc' into 'master'
...
Miscellaneous NIF loader corrections
See merge request OpenMW/openmw!4052
2024-04-25 08:45:36 +00:00
Alexei Kotov
7f13f6a4e9
Use osg::Fog::compare in NifOsg::Fog::compare
2024-04-25 03:09:04 +03:00
psi29a
a628c658a9
Merge branch 'lessgoofymaterialptr' into 'master'
...
Simplify material file pointer acrobatics
See merge request OpenMW/openmw!4049
2024-04-24 08:39:52 +00:00
psi29a
99a0755094
Merge branch 'remove_natural_sort' into 'master'
...
Remove dead code
See merge request OpenMW/openmw!4047
2024-04-24 08:38:26 +00:00
Alexei Kotov
745be2e91b
Implement NifOsg::Fog::compare()
2024-04-24 01:45:09 +03:00
Alexei Kotov
a513049129
Adjust drawable property state changes
...
Reset shininess and specular strength when specular lighting is supposed to be disabled
Don't add the material redundantly if a sorter is pushed
Don't discard non-default emissive and specular multipliers if there's no sorter or material
2024-04-24 00:40:54 +03:00
Alexei Kotov
713e741f9c
Share fog state attributes
2024-04-23 23:53:34 +03:00
Alexei Kotov
d7bd5e76ca
Move wrapping flag handling to relevant properties
2024-04-23 23:40:14 +03:00
psi29a
02cdeb6252
Merge branch 'scalable_editor' into 'master'
...
Treat editor icons as scalable
See merge request OpenMW/openmw!4042
2024-04-23 07:04:59 +00:00
Alexei Kotov
78eda530ac
Simplify material file pointer acrobatics
2024-04-23 00:34:38 +03:00
Andrei Kortunov
6390fdee7a
Remove dead code
2024-04-22 20:41:58 +04:00
psi29a
023c0f7a46
Merge branch 'vfs_normalized_path_6' into 'master'
...
Use normalized path for music related functions
See merge request OpenMW/openmw!4038
2024-04-22 07:02:14 +00:00
Andrei Kortunov
1bb48bcef7
Treat editor icons as scalable
2024-04-21 20:56:06 +04:00
Alexei Kotov
884668927f
BGSM Reader: include cleanup, adjust getFile return result
2024-04-20 23:38:01 +03:00
elsid
a863899eb1
Use normalized path for SoundManager::streamMusic
2024-04-20 21:14:09 +02:00
Alexei Kotov
77c3cd4467
More BGSM cleanup
2024-04-20 19:43:42 +03:00
Alexei Kotov
6be2bb70c3
Remove unused remnants of NIFStream from BGSMStream
2024-04-20 19:43:42 +03:00
Alexei Kotov
ea5e101821
Handle glow maps for BGSM files
2024-04-20 19:43:42 +03:00
Alexei Kotov
8325e100df
More decal deduplication
2024-04-20 19:43:42 +03:00
Alexei Kotov
5789eb73b1
Deduplicate decal and alpha handling in NifLoader
2024-04-20 19:43:42 +03:00