
08-15-2025, 05:01 PM
|
 |
Super Moderator
|
|
Join Date: Jun 2007
Location: Dallas, TX
Posts: 10,238
|
|
Optimizations - Patch 0.839
Patch 0.839 of Din's Champion is now available on Steam.
This patch optimizes things better (fps, start up, & world building), fixes some hitches, makes player movement better, fixes some graphic issues, and fixes many other minor issues.
0.839 change list:
- now preload tiles around the viewing area slowly so less building of tiles all at once when you move (less hitches)
- now sort drawing surfaces a little better to have less texture changes
- now skip light passes on entities if no contribution from light and at least 1 other light has or will be drawn
- now skip light passes on blocks if no contribution from light and at least 1 other light has or will be drawn
- fixed settleAllLooseSolids, settleAllGases, and settleAllLiquids all looping over level total size instead of level tile size (NULL checks so not crashing but doing a lot of nothing)
- decreased StartLightIntensity from 2.0 to 1.6
- increased MaxSpeedAccelMult from 3.5 to 5.25
- increased MaxSpeedDecelMult from 3.0 to 4.5
- decreased GroundJumpImpulseMult penalty on several blocks (mud, tar, ice, etc)
- fixed blending with platforms (su-su-supernova)
- fixed a blending issue with wood and partial blocks sometimes (Nailclippins)
- new entities that show up on screen edge no longer fade in
- fixed lock pick experience using wrong level
- now cap objectiveLevel in experience stuff to 200
- added new dungeon tiles (look same as stone roof, but things can spawn on them, are tougher, and different name)
- no longer get fully explored or cleared bonus for levels (really doesn't make sense for this game)
- added new quick tip "It is wise to keep your entertainer NPCs at normal or work focus to keep them entertaining other NPCs."
- fixed HitEffectColor on grass, wood, brick, glass, clay roof, and stone roof blocks
- now only set 1 color for entities (instead of building array with all same values)
- fixed an unneeded sqrt call in LightingSystem::setupLight
- ifdefed out some Drox specific planet lighting (don't use)
- ifdefed out models on world map (don't use)
- ifdefed out shadow mapping support (don't use)
- ifdefed out more of the blended tiles support (don't use)
- ifdefed out Shader::buildBlendedTilesShader & Shader::buildRandomIconShader
- now WorldBlock::getFirstTextureName uses const String& so less String construction which can be slow when building a ton of blocks
- changed DatabaseEntry::getKeyValue, DatabaseEntry::getStringValue, and SimpleData::getDatabaseStringValue to const String& (should speed up some things, mostly startup)
- changed DatabaseEntry::getIntValue and DatabaseEntry::getFloatValue to use const String& instead of local var (should speed up some things, mostly startup)
- addKeyValue setBase now uses local emptyString instead of "" (less conversions for loading)
- removed a couple unnecessary checks in Database::getDatabaseEntry
- now convertCharacterStatNameToNum and convertDynamicCharacterStatNameToNum use hashes to be much quicker
- now minimize reading normal and dynamic stats on magic modifiers (there are a lot of modifiers and a lot of stats)
- now GameShared::getNpcChat uses hashes to speed up
- changed SimpleData::getDatabaseEntryName to use const String&
- sped up Database::getDatabaseEntry when looking for Base (now tries backwards in list a little)
- now Quest::syncLevelAndSeed calculates what seed it needs (much quicker than old way)
- fixed a potential memory leak in Game::createRandomQuest (not likely but better code)
- made Game::createRandomQuest kill a quest earlier in the process if quest level too low
- made it so quests that try to get shoved into a specific level that can't have them fail much quicker
- now use cached tile for updating loose solids, liquids, and gases when building world
- made settleAllLooseSolids, settleAllGases, and settleAllLiquids loop through tiles directly instead of calling getTile for each
- sped up some faction stuff a little
- changed PROTOCOL_VERSION to 149
__________________
Steven Peeler
Designer/programmer
Depths of Peril, Kivi's Underworld, Din's Curse, Drox Operative, Zombasite, Din's Legacy, Drox Operative 2, & Din's Champion
Wishlist Din's Champion
|