Talon1024 wrote:I see what's causing the array index to go out of bounds.
champion_Bundle.champions_DropItems(int drops) has a loop that removes items from the DropItems array, but the "drops" argument is not modified to account for the shrinkage.
Adding this at the beginning of the for loop fixes the bug:
- Code: Select all • Expand view
if (i >= DropItems.Size()) break;
hornbuckle0wns wrote:So where do you insert that code? I dont really see any obvious right spot to put the loop break.
Rtma wrote:Could you do something about optimization? larger clusterf**K maps tend to slow down dramatically to an unplayable mess with Brutal Doom, try Sunlust map 24 from the start (GZDoom) and 25 in combat, you'll see what I mean, if you can do anything about that then that would be great.
Nems wrote:That sounds more like a Brutal Doom issue, not necessarily a Champions issue. Brutal Doom adds a lot of additional sprites with the gore effects. The thingcount in map 24 map already exceeds 2500 (if you're playing on UV then over 1800 of those things on that map are monsters).
GZDoom in particular doesn't play well with slaughtermaps/slaughterwads to start with even without throwing mods into the mix, based on my experiences. As soon as you start throwing mods in, that already shaky performance gets worse depending on what mods are used. Mods that just replace weapons, like Russian Overkill or Trailblazer, have less of an impact on slaughtermaps/slaughterwads than mods that replace both monsters and weapons.
if (drops > max)
{
drops = max;
}
Spoiler: changelog
Users browsing this forum: AuroraDestiny, barosans, Karl515, Mikk-, VicBorAng and 22 guests