2025-08-06 04:03 CEST

Changesets: spring

Search ] Browse ] Back to Index ]
develop e0085e8a
Timestamp: 2020-04-15 00:35:08
Author: sprunk
Committer: GitHub
Details ] Diff ]
Changelog++
mod - doc/changelog.txt Diff ] File ]
maintenance aeb39d69
Timestamp: 2020-04-13 16:11:47
Author: sprunk
Committer: gajop
Details ] Diff ]
Minor cleanup
mod - rts/Sim/Units/UnitTypes/Builder.cpp Diff ] File ]
develop ff671eca
Timestamp: 2020-04-13 16:11:47
Author: sprunk
Committer: GitHub
Details ] Diff ]
Minor cleanup
mod - rts/Sim/Units/UnitTypes/Builder.cpp Diff ] File ]
maintenance f266c810
Timestamp: 2020-04-13 09:13:31
Author: Google_Frog
Committer: hokomoko
Details ] Diff ]
Fix non-visible enemy units and structures not blocking construction. (0000518)
mod - rts/Sim/Units/UnitTypes/Builder.cpp Diff ] File ]
develop 4a97df4f
Timestamp: 2020-04-13 09:13:31
Author: Google_Frog
Committer: GitHub
Details ] Diff ]
Fix non-visible enemy units and structures not blocking construction. (0000518)
mod - rts/Sim/Units/UnitTypes/Builder.cpp Diff ] File ]
develop fa300159
Timestamp: 2020-04-12 19:04:02
Author: hokomoko
Details ] Diff ]
-
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
maintenance 17657700
Timestamp: 2020-04-12 18:56:11
Author: hokomoko
Details ] Diff ]
Fix roam maintenance
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
maintenance e6145104
Timestamp: 2020-04-12 18:52:14
Author: hokomoko
Details ] Diff ]
Split ROAM timers

# Conflicts:
# rts/Map/SMF/ROAM/Patch.h
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
maintenance c4129866
Timestamp: 2020-04-12 18:48:00
Author: hokomoko
Details ] Diff ]
Remove no longer used tripools that threaded tesselation used

And save 100MB ram and the dolphins.
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
develop e5437258
Timestamp: 2020-04-12 18:45:45
Author: hokomoko
Details ] Diff ]
Split ROAM timers
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
develop 27bf40b9
Timestamp: 2020-04-12 17:02:07
Author: Beherith
Committer: hokomoko
Details ] Diff ]
Remove no longer used tripools that threaded tesselation used

And save 100MB ram and the dolphins.
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
maintenance c4e1654d
Timestamp: 2020-04-11 16:59:21
Author: hokomoko
Details ] Diff ]
-
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
develop c0997eb5
Timestamp: 2020-04-11 16:59:21
Author: hokomoko
Details ] Diff ]
-
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
maintenance c96f02e5
Timestamp: 2020-04-11 12:15:28
Author: hokomoko
Details ] Diff ]
ROAM cleanup
mod - rts/Game/UnsyncedGameCommands.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
develop 61c890b7
Timestamp: 2020-04-11 12:15:28
Author: hokomoko
Details ] Diff ]
ROAM cleanup
mod - rts/Game/UnsyncedGameCommands.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
maintenance c9377ac3
Timestamp: 2020-04-11 11:21:03
Author: hokomoko
Details ] Diff ]
Increase max size of loaded strings.

ZK sometimes had start scripts >64kB which were not read completely on
load. This is now fixed.
mod - rts/System/LoadSave/CregLoadSaveHandler.cpp Diff ] File ]
develop 3d780d9b
Timestamp: 2020-04-11 11:21:03
Author: hokomoko
Details ] Diff ]
Increase max size of loaded strings.

ZK sometimes had start scripts >64kB which were not read completely on
load. This is now fixed.
mod - rts/System/LoadSave/CregLoadSaveHandler.cpp Diff ] File ]
maintenance eb3259db
Timestamp: 2020-04-09 12:42:18
Author: Beherith
Committer: hokomoko
Details ] Diff ]
LOAM: early bailout for visibility calculations on no change, reduce for_mt overhead

A. There are 4 conditions that can require a visibility/retess check:
1. Camera position change
2. camera direction change
3. heightmap change
4. grounddetail param change
Otherwise we can bail on a lot of expensive things

B. for_mt seems to have a high setup cost, and spins threads needlessly.
for_mt vertex index generation is only useful when a full retesselation is performed, otherwise the number of patches that need their indices regenerated is likely less than the number of threads.

C. side note: /debugview performance is now not strongly affected, side effect of less for_mt?
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
develop 32ba4ca3
Timestamp: 2020-04-09 12:42:18
Author: Beherith
Committer: hokomoko
Details ] Diff ]
LOAM: early bailout for visibility calculations on no change, reduce for_mt overhead


A. There are 4 conditions that can require a visibility/retess check:
1. Camera position change
2. camera direction change
3. heightmap change
4. grounddetail param change
Otherwise we can bail on a lot of expensive things

B. for_mt seems to have a high setup cost, and spins threads needlessly.
for_mt vertex index generation is only useful when a full retesselation is performed, otherwise the number of patches that need their indices regenerated is likely less than the number of threads.

C. side note: /debugview performance is now not strongly affected, side effect of less for_mt?
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
maintenance 8ecf38a7
Timestamp: 2020-04-06 14:46:23
Author: Beherith
Committer: GitHub
Details ] Diff ]
LOAM: cherry pick from develop missed the updates in these two functions (0000512)

Causeing reupload of all VBO's every frame, as these functions dont exist in develop
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
maintenance 0737b41c
Timestamp: 2020-04-05 21:12:33
Author: Beherith
Committer: hokomoko
Details ] Diff ]
LOAM (Lazy ROAM) for develop branch (0000508)

* LOAM (Lazy ROAM) for develop branch

ROAM frees up the entire triangle pool that stores the triangles of each tesselated patch (129*129 hmap pixels) and retesselates all patches whenever any in the visibility of patches occures, or if the unsynced heightmap changes (e.g.) explosion
LOAM does nothing when patches only go out of view, or when patches go into view, and a not-too-stale tesselation is aviable
when a 'stale' patch comes into view, only it is retesselated, and retesselation can affect neighbours, which is tracked and updated accordingly
when a heightmap change occurs, only that patch is retesselated, and if the neighbours are affected, that is updated accordingly
The cost: the mildly increased memory cost of keeping a larger triangle pool updated
the advantage is lag-free scrolling on a map
If the LOAM triangle pool runs out for any reason, then all the stored patches are all reset, and the whole view retesselated (exactly like it happens with ROAM on every visibility change)

* Update LOAM

Added detail increase on zoom in, fixed some midpos errors, shadow meshes are rendered from playercam perspective (much nicer, lower tri load)
Fixed a bug that caused VBO updates for every patch every time

* LOAM less lazy, but distribute load evenly over frames, behave well on zooming :)

* use _STPF_

* type pedancy
mod - rts/Map/Ground.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
maintenance 16e76c4b
Timestamp: 2020-04-05 21:12:33
Author: Beherith
Committer: hokomoko
Details ] Diff ]
LOAM (Lazy ROAM) for develop branch (0000508)

* LOAM (Lazy ROAM) for develop branch

ROAM frees up the entire triangle pool that stores the triangles of each tesselated patch (129*129 hmap pixels) and retesselates all patches whenever any in the visibility of patches occures, or if the unsynced heightmap changes (e.g.) explosion
LOAM does nothing when patches only go out of view, or when patches go into view, and a not-too-stale tesselation is aviable
when a 'stale' patch comes into view, only it is retesselated, and retesselation can affect neighbours, which is tracked and updated accordingly
when a heightmap change occurs, only that patch is retesselated, and if the neighbours are affected, that is updated accordingly
The cost: the mildly increased memory cost of keeping a larger triangle pool updated
the advantage is lag-free scrolling on a map
If the LOAM triangle pool runs out for any reason, then all the stored patches are all reset, and the whole view retesselated (exactly like it happens with ROAM on every visibility change)

* Update LOAM

Added detail increase on zoom in, fixed some midpos errors, shadow meshes are rendered from playercam perspective (much nicer, lower tri load)
Fixed a bug that caused VBO updates for every patch every time

* LOAM less lazy, but distribute load evenly over frames, behave well on zooming :)

* use _STPF_

* type pedancy
mod - rts/Map/Ground.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
develop 9fdfe7c3
Timestamp: 2020-04-05 21:12:33
Author: Beherith
Committer: GitHub
Details ] Diff ]
LOAM (Lazy ROAM) for develop branch (0000508)

* LOAM (Lazy ROAM) for develop branch

ROAM frees up the entire triangle pool that stores the triangles of each tesselated patch (129*129 hmap pixels) and retesselates all patches whenever any in the visibility of patches occures, or if the unsynced heightmap changes (e.g.) explosion
LOAM does nothing when patches only go out of view, or when patches go into view, and a not-too-stale tesselation is aviable
when a 'stale' patch comes into view, only it is retesselated, and retesselation can affect neighbours, which is tracked and updated accordingly
when a heightmap change occurs, only that patch is retesselated, and if the neighbours are affected, that is updated accordingly
The cost: the mildly increased memory cost of keeping a larger triangle pool updated
the advantage is lag-free scrolling on a map
If the LOAM triangle pool runs out for any reason, then all the stored patches are all reset, and the whole view retesselated (exactly like it happens with ROAM on every visibility change)

* Update LOAM

Added detail increase on zoom in, fixed some midpos errors, shadow meshes are rendered from playercam perspective (much nicer, lower tri load)
Fixed a bug that caused VBO updates for every patch every time

* LOAM less lazy, but distribute load evenly over frames, behave well on zooming :)

* use _STPF_

* type pedancy
mod - rts/Map/Ground.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/Patch.h Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.cpp Diff ] File ]
mod - rts/Map/SMF/ROAM/RoamMeshDrawer.h Diff ] File ]
maintenance ffafcbc5
Timestamp: 2020-04-05 10:00:42
Author: esainane
Committer: hokomoko
Details ] Diff ]
Coerce to number less often in *SetRulesParam (0000511)

Unlike most lua_is* functions, lua_isnumber checks to see if the
given value *can* be a number, rather than if it currently is one:

> Returns 1 if the value at the given acceptable index is a number or
> a string convertible to a number, and 0 otherwise.

This means that even if a lua caller expressly coerces to string
beforehand, as long as the string looks like a number, it gets stored
as a number. This can cause problems if, for example, a player name
that looks like a very large number loses precision.

See esainane/zkstats@99ddb35 for an example.

Explicitly checking using the lua_israwnumber variant allows the caller
to provide either a string or a number, and have it be stored as such.
mod - rts/Lua/LuaSyncedCtrl.cpp Diff ] File ]
develop 0f3a85f7
Timestamp: 2020-04-05 10:00:42
Author: esainane
Committer: GitHub
Details ] Diff ]
Coerce to number less often in *SetRulesParam (0000511)

Unlike most lua_is* functions, lua_isnumber checks to see if the
given value *can* be a number, rather than if it currently is one:

> Returns 1 if the value at the given acceptable index is a number or
> a string convertible to a number, and 0 otherwise.

This means that even if a lua caller expressly coerces to string
beforehand, as long as the string looks like a number, it gets stored
as a number. This can cause problems if, for example, a player name
that looks like a very large number loses precision.

See esainane/zkstats@99ddb35 for an example.

Explicitly checking using the lua_israwnumber variant allows the caller
to provide either a string or a number, and have it be stored as such.
mod - rts/Lua/LuaSyncedCtrl.cpp Diff ] File ]
First  Prev  1 2 3 ... 8 9 10 11 12 13 14 ... 110 ... 220 ... 330 ... 440 ... 550 ... 660 ... 770 ... 880 ... 990 ... 1057 1058 1059  Next  Last