Developer postOriginal post (opens in a new tab)

Zombasite patch 1.022

This huge patch (well over 200 changes) fixes several crashes, improves performance, adds autosizing inventory, and fixes tons of minor issues.

1.022 change list:

  • inventory now autosizes to prevent overlapping
  • fixed Trigger::unlock starting an infinite loop if 2 unlocking triggers near each other
  • fixed crashes when creating/destroying fake player
  • fixed some radar stuff still being applied in some cases
  • fixed always dark in coop player towns (=TEF= Alpha-9 the Ratman)
  • fixed a rare infinite loop in trap activation
  • fixed a crash when a level 100 npc goes renegade in a level 200 world - might happen any time an NPC goes renegade and is below the min level of that world (Buttermilk)
  • fixed possible crashes in World::getLeftMainPathHorizontalPosition and World::getRightMainPathHorizontalPosition
  • fixed buildTempData running before reading in database data needed - fixes crashes, also fixes bad tile blocks on opening screen
  • fixed a rare infinite loop in generateCaveLevel
  • sped up Level::finishGenerateOutdoorLevel a little
  • fixed a slow down with inventory up, my test case went from 37.4 fps to 50.8 (Dragonface/Etto)
  • fixed a leak of resource handles if added, then removed, before actually loading now cache footstep handles so don't load, free, reload, etc, test scenario old=70-90fps, new=100ish
  • fixed a crash on load when trying to fix up loaded pointers but entity had been purged, clearEntityReferences not being called in correct place
  • fixed an entity leak with status effects never getting cleaned up on inactive actors - might also be causing slow downs and crashes
  • now monster promotions are slower once than hit unique level
  • fixed a really rare crash in GraphicsSystem::drawTiles
  • now get clan destroyed reward chest if kill clan members (not healthstone) (Dragonface/Mandark/twitch.tv/ninja/Destro*)
  • fixed a possible infinite loop in tryWeakenGround (Cthulhu Fhtagn!/Boink)
  • now free shader indexes so after a long game session a high shader index doesn't corrupt the sort integer, which can lead to random crashes (Mandark)
  • quest monsters can no longer be converted over to follow player (twitch.tv/ninja)
  • fixed an angles issue that might have be generating a NAN and then starting a infinite loop
  • made networking handle low framerate situations better
  • now world saves use basic network compression (saves about 40%)
  • now when holding down right click and kill target it will move to next target easier
  • fixed a crash when sometimes shader sorting could have an accidental collision (which can cause lots of problems)
  • fixed addObject in spawnAreaBlock to not reference modelResource so much less likely to pause waiting for resource to load
  • fixed other players in multiplayer getting XP multiple times when a player's pet got a kill (Ninjakillzu)
  • now traps can do explosions (can cause cave ins)
  • now on hit skill projectile starts at enemy killed
  • fixed on kill ring projectiles with cones not hurting anyone
  • fixed orc shaman weakness skill now based on monster skill
  • status effects now skip loading stat changes that can't happen
  • changed to a better hash algorithm
  • only partially build status effects on skill definitions until needed
  • magic modifiers now skip loading stat changes that can't happen
  • now skip loading unused stat changes
  • fixed reported relation change not getting to player sometimes
  • fixed 2 caves having unusable braziers
  • water can now spread
  • water now stays around for 30 seconds instead of 10
  • hazards can now apply status effects directly (instead of needing to be a trap or actor)
  • hazards can now apply multiple status effects
  • wet status effect now lasts 10 seconds
  • now outside in rain gives you wet status effect
  • now inside a house prevents rain/wet
  • now full level fog adds fog status effect to sentients
  • wet status effect now debuffs cold resistance also
  • fixed a case when scale could be wrong if a shadow being drawn was using vbo but model not using a normal map
  • unique monster and renegade quests that can be on any level now try to sync more times (now 200, was 20)
  • fixed liquids getting destroyed, not removed, and then no longer working correctly
  • projectiles no longer cause explosion effect on something that wasn't damaged
  • caveins should now be immune from damage from other caveins
  • now need to stand still to throw ice bombs and other similar things
  • fixed some issues when wielding a broken bow
  • ghost now counts as flying
  • now add colored @ symbols to show which clan(s) are in a level
  • auto extra projectiles now are homing
  • now get fog status effect from fog from the weather
  • fixed a state issue in RenderingState::setAlphaTestMode
  • now grab maxTextureSize from openGL
  • now check maxTextureUnits
  • whirlwind now repeats correctly when using right click (Mortac)
  • fixed a few things so that immortal clan members would work (treborx555)
  • can now have multiple BlockTypeIndex/BlockTypeMult for the same index (now multiple together instead of replacing)
  • now when spawning guards tries to find a valid position
  • fixed sometimes monster getting double promoted or saying player ran away when the player died
  • now inventory takes advantage of widescreen monitor if available
  • changed changeling 5 to use dark orc berserker instead of orc (Orc Schism)
  • fixed forest rock2a & rock2b collision
  • fixed sounds in editor (might have also fixed some issues where sounds at player shift back and forth from left to right speakers)
  • now projectiles explode when they hit world objects
  • now goodPositionToSpawnThings checks if block is from a fake level
  • now some dungeon sconces marked as CantPurge
  • player dying can't solve plague/curse quests any more
  • now when fixing an entities position, if can't find a valid location in the same level, will allow to move to a different level (a different level is better than invalid location) (Fulano)
  • fixed split projectiles not working with many skills it was meant to (Mandark)
  • fixed some spells not repeating correctly when used from a hotkey (Nyithra/Fulano)
  • decreased tower spell range from 1000.0 to 800.0 (Boink)
  • non ring projectiles no longer hit liquids & ground traps (vantil)
  • fixed not getting NPCs at high level worlds (>100) (Destro*)
  • non-moving monsters can no longer be converted over to follow player
  • fixed some old damage mults no longer supposed to be used (will increase physical damage, and decrease poison & lightning damage)
  • fixed crushing blow actually lowering damage in some cases
  • fixed things like a firesword changing left/right speaker as player turns around
  • Defy Death now has some inflation so higher levels are more useful (twitch.tv/ninja)
  • fixed constant has plans to raid quests popping up (Mithur)
  • fixed possibility of _eventChance increasing over time when not supposed to
  • fixed a way that NPCs could get stuck in activity if path failed in a certain way
  • now elite weapons and armor vendors skew their items towards the player
  • added Happy Chest (Patreon reward)
  • decreased PlayerRanFromMonsterUpgradeChance from 0.1 to 0.05 (Boink)
  • sped up GameShared::getSkillIndex some (decreased debug load time 4 seconds)
  • sped up getPerLevelSkillDefinition some (decreased debug load time 6 seconds)
  • sped up finding skill StatusEffect some (decreased debug load time 3 seconds)
  • sped up MagicModifier::processDatabaseEntry by ignoring stats if has some kind of skill (decreased debug load time 125 seconds) (Fulano)
  • increased chain lightning chain distance from 150.0 to 200.0
  • fixed projectile chaining using start position instead of end position (Romløk)
  • can now get more than 1 center print so less likely to miss important messages
  • increased center print base time a little and moved to database
  • now center prints stay around longer the longer they are (text wise)
  • increased center print size and get rid of the background (unless fullscreen menu)
  • added money sound when searching for an enemy from quest screen to show money changed (Boink)
  • fixed getting a critical error when loading a game when currently using Spirit Evasion
  • fixed item text not being able to get smaller on primary highlight text
  • now show full info on item skills
  • now client handles sending too much data up to the server much better
  • can now target skills towards another player by highlighting their name/health bar on side of screen (Etto)
  • fixed crafting items bought from a crafting vendor not adding to your inventory correctly (Destro/Fulano)
  • server should now handle a rejoin after a crash better (Mandark)
  • now if you have a selected target arcane swarm will select random targets near your intended target instead of near the player (Mandark)
  • items inside of reward chests can no longer break (Mandark/Fulano)
  • fixed orc ego enemy on items not being Dark Orcs (Orc Schism)
  • fixed Slaughter skill not repeating correctly when on left/right mouse
  • fixed first level sometimes not calling levelBuilt correctly because it got built before worldSetup finished (this can cause various issues like objects stuck in inaccessible locations) (Fulano)
  • now cache monster combat sounds
  • now precache weapon sounds
  • now precache turnedToZombie.mdl if monster is a zombie
  • now precache ground items
  • increased speed of escorted NPCs so they keep up a bit better
  • now cache texture of status effects on entity client
  • now keep old music handle to prevent reloading it if played again soon
  • sped up finding music datatbase entry
  • now don't let music load without hard pause before playing it
  • optimized ResourceSystem::findResource a little
  • now if try to load a resource and already have correct handle, just returns
  • can now precache textures
  • sped up StatusEffectBase::processDatabaseEntry (test went from 23 to 12 seconds)
  • now gameShared->getPackedDatabaseEntry uses database hints - should speed up loading some
  • no longer calculate hash multiple times for DatabaseEntry::getAllValues type calls (overrides/addsTo/base)
  • now when looking up each database entry base, uses the hint from the current subdatabase to speed up search
  • now static models (1 animation with 1 frame) always go down static vbo path (test went from 50.8 to 60.8 fps)
  • now all dead monsters of the same type shares the same vbo (test went from 66.2 to 71.0 fps)
  • fixed infinite loop if change SERVER_FRAME_TIME
  • can now change the server frame time with serverFrameTime user var (default is 50)
  • fixed explosion precaching not working correctly
  • improved projectile precaching
  • now make sure don't get in an infinite loop when precaching (don't think it has even happened yet, but as it gets more complex it would happen without protection)
  • now precache hazards
  • now precache objects
  • precached a bunch of small things better
  • now precache swipes better
  • now precache money sound and soulstone model
  • now precache footstep sounds
  • now precache basic elemental effects
  • precached status effect assets better
  • now precache level ambient objects
  • sped up skill & magic modifier build times
  • traps are no longer triggered by a dead player
  • now play monster pain sounds on dots and death
  • added effect to cripple status effect
  • made skill name draw larger
  • added on kill chance print on skills
  • changed PROTOCOL_VERSION to 76
  • changed save version to 226
  • increased volume of monster pain sounds
  • fixed orc and zombielord sounds in bestiary
  • no longer show cost of next point when at max
  • can now specify that effect is attached to a tag on an item model instead of parent model
  • changed bloom clamping from GL_CLAMP to GL_CLAMP_TO_EDGE
  • some short desert plants no longer fade out when "in way"
  • updated donation lists from Patreon
  • pets no longer trigger town attack sound/icon
  • fixed 1 DarkLord texture capitalization issue (Linux is case sensitive)
  • fixed 9 PlagueLord texture capitalization issues (Linux is case sensitive)
  • no longer show @ on level name for clans not met
  • fixed effects on items not always carrying over after a world win/loss
  • now highlighting a slider shows you current value (minimum - maximum)
  • now open bag circle blinks when you have the cursor over slots in the bag
  • fixed small gap in minimap
  • fixed a parsing error in UIWidget::parseTextSources
  • now can right click on inventory button to open bags only
  • cleaned up some widescreen handling code
  • fixed trap FirstThinkTime
  • hitting a statue no longer shows effect
  • statues no longer do dying animation
  • fixed a bunch of blocks in opening screen area being marked as has house
  • changed wampir blood to a green effect
  • now cache canSee checks for Actors if it is their current enemy
  • ENTITY_STATE_HAS_ENEMIES now only gets updated every 1/2 second or so
  • added Patreon page to credits page
  • fixed some skills not automatically getting added to use slots
  • torches can now be purged if already reseting the level spawn
  • fixed raid gate sometimes spawning inside collision
  • fixed clan guards sometimes spawning inside collision
  • fixed block and energizing block not animating correctly
  • now hide time on fog and darkness icons since so short and gets redone constantly
  • no longer move when typing 'a' in multiplayer chat (Fulano)
  • fixed an adding follower issue with no parent (Nick)
  • blinding flash no longer works on inanimate objects
  • can no longer use the lock pick skill on spider webs :) (Karol13)
  • fixed resurrect UI blinking away sometimes
  • made so center prints have to be unique to add another one
  • fixed wrapping when going down to a smaller font to fit highlight text on screen
  • text wrapping now keeps initial indentation
  • now an item can specify no random modifier power (crafting items now use this)
  • fixed NPCs not starting out with full health (Etto/Fulano)
  • Blixt and Mortus avatars no longer use a weapon
  • player can now walk through their gate, stashes, healthstone, bulletin board, and crafting station (DrJoeFitz)
  • auto targeting stuff will no longer target crystals (you still can if you highlight them directly)
  • can no longer use ice bombs and other throwable items when you're dead :)
  • turned off most of the effects on an unactivated gate so it looks more distinct from an activated one
  • moved spider web effect up so more noticable
  • fixed on old whirlwind effect being referenced
  • fixed god altar blessing prints (Orc Schism)
  • changed god altar text to gold instead of white/green (Orc Schism)
  • fixed whirlwind text no longer being up to date on number of enemies
  • fixed missing SkillTime translation
  • fixed missing GoodAvatars translation
  • item name in item highlight text is now in larger font
  • changed item description color
  • made item bonuses more noticable (different color and shifted over a bit)
  • added empty line before at current skill level info
  • added empty line before next skill level cost info
  • changed skill level info text color to stand out more
  • changed next skill level info text color to grey
  • got rid of a several places could get an extra blank line in skill text
  • simplified current/next skill level text
  • now hide current skill level/next skill level if no per level info
  • no longer show mana needed for basic attack skills
  • added empty line before max skill level line
  • moved extra enemies to target section
  • now status effect text on skill text is much more clear
  • now show skill icon in highlight text box
  • got rid of a couple more empty lines in quests
  • fixed skill prints on item to be indented and colored
  • fixed +durability prints on item to be indented and colored
  • fixed aura/status effect text indentation
  • reworded RightClickMainSlot slightly
  • added "and only one can effect a person at a time." to protection skills text (Thunt_Cunder)
  • added a splitter graphic to status effect text to make it a bit easier to read
  • changed Game Options to UI Options
  • fixed DarkOrcBerserkerUnique1-3 translation (Orc Schism)
  • added a splitter to skill text
  • fixed PlayersListDesc
  • improved CultDesc (Boink)
  • improved AggressivePetsDesc
  • improved clan destroyed reward chest print
  • quick tips are no longer numbered (Dragonface)
  • removed a \n from Fire Strike description that messes up formating
  • improved removeNewLinesAtEnd to handle color/font codes
  • fixed typo on 3 leech skill descriptions
  • fixed Redemption description (Orc Schism)
  • added ui_allConditionsTrue so I could see all widgets at once (easier to rearrange)
  • added support to log stuff without translating
  • no longer build ctx files in debug build (faster debug loading)
  • added printResourceName debug command
  • detail models in longer hide in model editor
  • detail models always drawn in editor now
  • improved "Could not find widget" warning
  • made all center print stuff go through same code path (less code, more consistent location & length)
  • fixed a crash in GraphicsSystem::drawString (probably only happens in developer build)
  • now d_printFilesWaitingOn and profile debugging tools print frame number
  • added profileSuppressBelow so can make profile tool print less non-interesting info