Changesets: spring
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 ] | ||