Please read the documentation in the mod's archive before posting here. And your question might already be answered elsewhere; you can try Google with the search parameter site:gsc-game.com to check this site.

Feel free to mention any bugs or crashes you know that are missing from the list.

If you don't start a new game, there may be some minor problems with your saved games. The saves are modified versions of the all.spawn file present when you started your current game. Saved games based on mods might also include custom items from those mods, and support for them will need to be properly merged to avoid crashes.

¯¯¯¯¯¯¯¯¯¯angrydog, romulous, and Lyoko774: Thanks for the feedback on the connection. I forwarded it to the webhost's technical support folks, but it had to go through quite a few hops of its own to get to a useful place: tier 1 > tier 2 > network engineers > router's owner > their network engineers, etc. Even then, nothing was said for the longest time, and now the site is available again with nothing still being said. I suspect they were just the jumpgate operators in this Shadows-Vorlon dispute (possible TMs Babylon 5/J. Michael Straczynski).
__________

---QUOTATION---Shoc treatment

So I went throught this little procedure, took all of 10 minutes. Was it an earth shattering improvement? Naw, but it was definitely a noticeable improvement in lag/stutter, and load times. As we all know with SHOC, every little bit helps! Thanks again and again Nat!---END QUOTATION---

ERForman, thanks for the willingness to try it out; it's certainly not a simple procedure. In addition to what you mentioned, I'm seeing a lot more variety in entity behavior. Thanks for the encouragement, too. If you encounter any quirks that might be relevant, please post those too.

Edit: added relevant qualifier to "quirks". We live in a world of quirks.
__________

---QUOTATION---it's awesome to see that there are still people trying to fix more bugs even after this long time.---END QUOTATION---

Hi, EngineOfDarkness. Blame obsessive-compulsive persistence. It's awful that there are so many bugs still left.

---QUOTATION---At the same time it's a shame that the adaption of this fixes by mods seems rather "slow" in general (or it isn't really communicated much - which should totally be done!).---END QUOTATION---

It's been tried. The ZRP even in earlier incarnations was considered too complex to merge into existing mods, although some have done so. The most recent ZRP is not that compatible with big mods as it has a custom ui_icon_equipment.dds file that would conflict with the ones in the mods.

There might also be a "not-invented-here" component. According to my faulty memory, the AMK folks had some feud with bardak (the father of STALKER modding and bug fixes) based on his belief that mods should be open, something in opposition to their preference to keep their mod proprietary. I found that strange because they were freely using bardak's stuff.

It became bad enough that the AMK guys even came up with a clever alternate way to fix the "marked but empty stashes" problem. But bardak's "bug fix attempt" (bfa) seemed to be mostly ignored in those early days by the AMK folks, whose mod formed the basis for a large part of the mod world some of us live in.

This situation has been changing the last couple of years; folks are now including fixes in their new mods or adding them to updated versions of existing ones.

These fixes are published in various places. I along with others like Lijenstina have been continuing to report fixes in the ZRP thread so that non-ZRP users can benefit.

---QUOTATION---Regarding your new work on optimizing Stalker, WOW.
I always wondered why, in all this time since Stalker was released, not one modder thought about cleaning out old stuff and building a solid "Vanilla" base first. Or maybe modders thought about it but never really saw the need?---END QUOTATION---

Or they didn't know they could, although even that had to wait until bardak's tools became available.

There are other aspects to this. For one thing, it may not have been that important to most players. Consider that folks like yourself are willing to put up with much longer loading times than experienced by the (non-Steam*) vanilla player for the gameplay provided by AMK and AMK-based mods.

For another, even for those who desired such a cleanup had their needs mostly met by external bug-fix mods. The bardak bfa, the first serious third-party attempt at cleaning up the game, used an external gamedata\ subdirectory to override problems in the packed database files. To use a metaphor: You cleared out a path through the junk in the living room to make it easier to get from the bedroom to the kitchen.

Yes, there's still a lot of junk in the living room, off the beaten path. But you are no longer tripping over stuff. The path you take is not the shortest, but it is good enough.

---QUOTATION---Looking at other games, I sometimes wander of with my thoughts. If I look at games like Skyrim - they got ScriptExtender and ScriptDragon which make awesome stuff possible (like SkyBoost which was used to Boost pre 1.4 Patch performance on CPU limited system up to 50% - I myself have seen and measured a 40% increase). They patched functions of the executable at run time to achieve this without changing the actual exe.

Then again there are/ where "similar" Projects for Stalker like I think it was called XRAY Extensions for fixing bugs/ adding stuff by writing new ASM.---END QUOTATION---

Modding support was not a primary goal for the STALKER SoC release, especially in light of the triage used to get it out the door. The X-ray Extensions project is a DLL hack to patch in additional API function jumps to added routines. I don't consider it to be a serious bug-fix solution, but more of a functionality extension. To fix some bugs, one has to completely replace the buggy function. It has potential, though.

---QUOTATION---I always wondered - is it the lack of knowledge or time why nobody tries to tackle the Savegame Corruption which happens when too much stuff seems to be saved (I recall reading somewhere that something shouldn't grow beyond 7,5 kb or something like that in the save - not sure as it was long ago).---END QUOTATION---

Save-game corruption is generally a mod-specific problem. It can occur in vanilla when a minimap spot is orphaned by your close proximity to an NPC body being destroyed in a whirligig or vortex, but that is rare. Another vanilla cause is hitting the 2-GB process space limit and creating a save before trying to use the now-bad object, although the game usually crashes fairly quickly after the in-memory corruption due to the failure of a subsequent attempt to allocate more memory.

Mod-related causes include a mismatch between load() and save() functions. Or there's your experience with the attempt to save data beyond the limit of actor's storage space. In SoC, that can only happen in certain mods. For those instances one's best solution is to get the mod's developers/maintainers to fix the problem they created. (Back when I had the extra time I sometimes tried to help folks with problems in the mods they played, but some mod developers have treated my contributions as complicating matters. In my defense, I note that my help was proffered usually when the dev denied responsibility for the problem or rejected the problem in the first place.)

__________
*Steam players on modern OSes have default loading delays primarily from extra memory overhead and the fact that both game and Steam are running in a worse-than-useless compatibility mode.

Missing from the list but already done is the Poker fix. It's missing because I would like some help in deciding how to handle this.

Actually, there are several ways to fix Poker. Most of them are unsatisfactory, effectively make him a gameplay gelding.

Fix 1: Prevent all "free" (not assigned to a smart terrain) NPCs who can't go online from joining a smart terrain. This fix has been tested from start well into Army Warehouses play. Poker spawned at the Dark Valley bandit base when Borov was searched, but I avoided him in normal gameplay by not going to the north side of the base afterward. (Shaggy was freed quite a bit earlier.)

I still encountered him -- actually, his body -- at the Rostok camp where he would often go before (sometimes preventing the Eliminate Mercs and Bandits quest completion by remaining offline). The normal post X16 traffic proved too much for him, even though it was spaced out; a Dutyer or loner bound for Yantar took him out just before I got there in my return to the Bar.

The fix is applied to the se_smart_terrain:obj_accepts_smart_terrain() function in smart_terrain.script. Move the if block that checks whether the entity can switch online out of and below the if obj.smart_terrain_conditions block.

Impact: The change affects load time a small bit -- it might not even be perceptible, although the function is called ((NPCs+mutants) X smart_terrains) times. (Put in a debug statement and see.) New game not required, but it might need to be implemented before the problematic ST goes online.

Fix 2: Give him a [smart_terrains] section in the all.spawn with "none = true". The game will not spawn him until you search Borov. He will wander about in Dark Valley, future worm food looking for a place to become fertilizer. Impact: Very low. New game required.

Fix 3: Give him a specific [smart_terrains] assignment. The game will not spawn Poker until you search Borov, but he can move to the smart terrain if it is already online or switches online before you go to Dark Valley. Of course this means he can't be assigned to ros_smart_killers1. Impact: Very low. New game required. Very predictable.

Fix 4: Perform the test for can_switch_online() before checking for the other obj.smart_terrain_conditions stuff like exclusivity, and add an empty [smart_terrains] section to Poker's definition. While this has a lower game-time impact than Fix 1, it has not yet been tested. Impact: Very low. New game required.

Fix 5: Give him a different spawn trigger, or none at all. "None at all" would make Poker like Friar, always online. If you give him a conditional spawn, care must be taken to avoid a problem with Voronin's task to eliminate him. For instance, you could keep him offline until that troublesome ST switches online, and then it would not matter where he goes -- except that you could conceivably get the task to take care of him while he is still invisible. (That would be a form of the original problem.) This would not be a problem if you simply made sure the info_portion was one you would definitely acquire before you went to Rostok or got in to see Voronin. Impact: Very low. New game required.

Fix 6: Give him a benign ST assignment to move him from where he would normally be created in Dark Valley, and make that ST assignment conditional on {-val_actor_has_borov_key}. So he still takes up invisible space at a camp, but is freed from that camp when he is switched online. Subsequently he will be online for whatever camp he moves to. Impact: Almost zero versus vanilla. Requires new game, and a little bit of forethought for the initial smart terrain.

Fix 7: Create a new smart terrain conditional flag to mark an entity for exclusion. Impact: Low. New game required, plus a bit of code support. Wasteful for just one NPC, but it has some potential. Probably better suited for a mod that would actually use the feature for more than just Poker.

Tweak: Relocate him. Use Fix 1 (or maybe a variation of Fix 2 or Fix 3) in conjunction with relocating his spawn point, so that when you search Borov you won't immediately encounter him. Impact is the same as the other fix used, but there might be some gameplay improvement.

Other fixes are possible. You might have some of your own to share.

So, folks, any suggestions?

¯¯¯¯¯¯¯¯¯¯weidrik has noted elsewhere that if you leave a Kruglov-attacking merc alive, he can join that camp. This occurs just after you either fail or succeed in rescuing Kruglov. There's a brief window that opens up the ros_smart_killers1 smart terrain before the bar_heli_scene_stay_online info_portion is switched off, usually by going to Yantar or back to the Bar.

(This doesn't occur in the current ZRP TZIO with any chapter from Yantar onward, including free play. The mercs are not allowed online at all. Only if you play through the Kruglov rescue without killing all the mercs is this possible.)

That possibility will be prevented in the R3 all.spawn by requiring the absence of that info_portion in the ST's online condition check.

¯¯¯¯¯¯¯¯¯¯ZaGaR, it turns out that the situation with Petruha's report is partly a state-related logic problem.

Lijenstina's fix handles the other two guys. There are also a couple of copy/paste typos in the original logic that switch the second attacker into using the first attacker's logic.

But there is a state where the initial logic doesn't check that info_portion. And given that the logic gets reset sometimes, you can return from Garbage and hear Petruha say he's "returning to starting positions" again and again, until he stops kicking butt and simply kicks bucket.

I'm starting to learn what others like Lijenstina, dezodor and barin have long known about logic states. There's a lot of potential here: Petruha can stay in the auto park camp for a bit, then really return to "starting positions", to avoid that spawn soup gunbattle that we hate so much. I can eventually cure Nimble of his Stockholm syndrome, and the survivors of the Red Forest Hatfields-McCoys feud don't have to keep rushing to that northern camp. (Or not; it's a bit of an immersion breaker to me currently but folks might prefer it as is.)

I hope to start testing the add-ons soon, like the grenadier stuff.

¯¯¯¯¯¯¯¯¯¯BobBQ, I swapped out a check function so that "Protect the Border from the Monolith" quest completion no longer matters how many Monolith are dead as long as all are incapacitated (i.e., either dead or wounded). This is closer to what you wanted, and definitely better than the original which left four alive but not necessarily wounded.

¯¯¯¯¯¯¯¯¯¯ERForman, there's still some work needed on the Dark Valley pig farm replacements: While you can come and go without incident, talking with the guards still gets you a snootful of barrel during the otherwise-friendly discussion. But it works well enough now.

¯¯¯¯¯¯¯¯¯¯MrSeyker, the current Freedom vs Duty setup prohibits access to the Freedom armory without joining Freedom and then the armory guard gets into a "you're in my spot" shoving match with the HQ door guard, but this is acceptable for now.

¯¯¯¯¯¯¯¯¯¯Folks, if you have any problems or fixes that you haven't seen posted, now is the time. Easy fixes can be incorporated quickly, but the cutoff date approaches. When is the fifth anniversary of this game's worldwide release, anyway?

Well, I'm going to get back to it. It's mostly documentation issues now. At least the testing is fun. I had a ten-hour continuous playing time recently, leaving the game running even during a meal (alt-tabbed to let the GPU rest). Not one single exit. I almost forgot I was testing! What a nice break from the rest of my current existence.

Does that refer to how I managed to end up in Freedom here a while back (I think I went to the barrier task and completed it first before going to the Freedom base)?

---QUOTATION---

• Prevent dialog crash when talking with wounded NPCs that
are normally enemy (bandits, mercs, military, monolith).
[config\misc\dialog_manager.ltx,
config\text\eng\stable_dialog_manager.xml]
• Prevent Petruha's team from repeating his report should he
die afterward (Lijenstina, NatVac per ZaGaR).
[config\misc\gulag_escape.ltx]
• Return to Bar level before visiting Sakharov no longer
denies you ecologist suit reward if you first saved Kruglov
in Rostok (per romulous et alia). [alife_l05_bar.ltx]
• NPC Use Single Item Rule added. NOW you can change it
without having to edit a file. [modcfg\Experimental.cfg]

---END QUOTATION---

Yay!

---QUOTATION---

Missing from the list but already done is the Poker fix. It's missing because I would like some help in deciding how to handle this.

---END QUOTATION---

Most of the solutions are (way) over my head technically, but I note:

---QUOTATION---

but I avoided him in normal gameplay by not going to the north side of the base afterward.

---END QUOTATION---

If there is a way to still trigger it, romulous will be sure to find it. I dislike the bit in AW where you have to walk around an invisible spot that is not marked anywhere just to avoid Freedom instantly becoming enemies with you, so I don't think having another one in the game is a good idea.

---QUOTATION---

Very predictable.

---END QUOTATION---

SHOC and predictability don't really go together (unless you are talking about not being able to hit any of the NPC's from 5 yards with any of the default guns but those same NPC's can headshot you from 100 yards away) - so I'd avoid this one too.

The others seem to be pretty much the same (new game required i mean), but I don't think having to start a new game is a real problem as the bandit is not that far into the game really - and anyone with a long-term save game (who are not willing to restart) are already way past this point in the game.

---QUOTATION---

(Or not; it's a bit of an immersion breaker to me currently but folks might prefer it as is.)

---END QUOTATION---

I feel the same way - all those you describe break the immersion for me too, so I'd love to see them changed. If you can add the continual spawn of rookies assaulting the car park every few minutes (even when there are no bandits there), that would be a bonus.

---QUOTATION---Folks, if you have any problems or fixes that you haven't seen posted, now is the time. Easy fixes can be incorporated quickly, but the cutoff date approaches. When is the fifth anniversary of this game's worldwide release, anyway?

Well, I'm going to get back to it. It's mostly documentation issues now. At least the testing is fun. I had a ten-hour continuous playing time recently, leaving the game running even during a meal (alt-tabbed to let the GPU rest). Not one single exit. I almost forgot I was testing! What a nice break from the rest of my current existence.

In the Garbage bombed out factory that sits south of the Duty checkpoint going to the Bar and having the two giant storage tanks, there are several anomalies in the fallen concrete blocks on the inside of the structure. The funny thing is that if you approach from the east and come to the outside of the wall you can trigger the anomaly that is actually on the inside with the rubble. This is about halfway alongside the north south running wall of the building. I wittnessed seven bandits coming from the Dark Valley head straight into this wall and all get killled but one. Perhaps I attracted them since I was perched on the second level of the wall above the said anomaly but I was doing my best to stay hidden. It seemed like they were walking on a line that they refused to deviate from. This was in freeplay mode. Is it a known vanilla problem ??? Has that anomaly always been deadly on the east side of that wall?

STALKER Obsessive Compulsive Disorder , yes NatVac, it's a real disease nowadays . There is no therapy out of it. On the other hand, we are addicted to play with one of the LAST GREAT PC Games, before everything becames console. Metro2033, I needed only two runs before hurrying back to ShoC for console poison detox.

* The problems of inconsistent logic states and/or their reset are one of those problems that part of the community calls "features". While for most of the time can be nauseating, these glitches contribute to a certain degere to the unpredicted. Agreed that certain situations, like that of Nimble, are in the nausea sector ans need a fix.

I've been returning again and again to the Barrier mission, one of the pieces I like most, because of the massive AI involvement. Interestingly, when I "help" monos to eliminate Cap & Co. quickly and cleanly, they proceed to fill the camps around the firebins previously occupied by freedomers. Then the follows the usual guitar play and stale jokes. If I switch the monolith party offline, then come again near the barrier, they will stage again the same assault as soon as they are back online. So, even this falls under the same endemic disease of logic glitches.
Doing this, I noticed that the monolith assault is a 2-stage one: first they move to preset positions close to the fence, reamining on RF side; second, they move to occupy the campfires on the freedom's side. THERE IS NO REAL ASSAULT on Cap and his boys, the combat comes as the inevitable side effect of the closing distance. That is why this looks a mock assault all the way. As oposite to such logic, seems (to me) the attack of the Garbage bandits to Seriy&Friends. The bandits come down onto Seriy with what looks extreme prejudice. It would be nice to have the same behaviour at the Barrier, monoliths poised for a killing spree from the very start. IT WOULD MAKE MORE SENSE if the assault target be the Freedom base itself, it gives a real meaning to the concept of "barrier".

* The slimming and the compacting of ShoC package is the culmination of a due process. As I see it, we were given a big pile of rubble with a working machine in the middle of it. The machine, see it as a lorry or any technology you want to, had hard time to move because of the weight on top and the barring on all sides. Flooring the gas pedal (upping hardware and OS) wouldn't and didn't do any good. If ever we want to see what the machine is capable of, we must relieve it of burden and restraints. My oldtime comparison for ZRP has been the japanese katana: light, smooth and badass. It seems we're getting there Prof. .

Fix 7: Create a new smart terrain conditional flag to mark an entity for exclusion. Impact: Low. New game required, plus a bit of code support. Wasteful for just one NPC, but it has some potential. Probably better suited for a mod that would actually use the feature for more than just Poker.

Fix 7 seems to me to be a good solution.
The possibility that the code can be reused, opens up for more potential.

>> Does that refer to how I managed to end up in Freedom here a while back

Yes, romulous. It won't happen as of 1.07 R3 unless you want to join Freedom.

>> If there is a way to still trigger it, romulous will be sure to find it.

I am counting on that. In this particular case, it just means that you might have to deal with Poker before you have Voronin's special quest, as he is spawned in vanilla when you deal with Borov, but previously he would have already migrated to a bandit camp elsewhere, potentially ruining a quest until your actions at the DV bandit base allowed him to switch online. The real goal is to have no broken quests.

---QUOTATION---I dislike the bit in AW where you have to walk around an invisible spot that is not marked anywhere just to avoid Freedom instantly becoming enemies with you, so I don't think having another one in the game is a good idea.---END QUOTATION---

I'll be looking at the logic issues in more depth after the upcoming R3 release. But I'm implementing some features in R3 I think you'll like. See my next post.
__________

---QUOTATION---The Tourist Suit, you can carry 70kg but loaded at 50kg you start panting real quick after a very short sprint.... Inconsistent. Should
you not slow down until 70kg + ?---END QUOTATION---

ERForman, that bug may not be easily fixed without access to the engine internals. I never thought of it as inconsistent because the description indicates it distributes the weight so that you can carry more, but that doesn't mean the extra mass doesn't still affect you the same way. The exo suits are probably likewise affected, but I never noticed because I can't sprint with them.

One can modify max_item_mass in config\creatures\actor.ltx to reduce this effect, but that's an unsatisfactory solution. Ideally the stamina depletion would be directly linked (well, more directly inversely proportional) to the maximum weight one could carry.

Re bandit suicide by anomaly: Despite doing your best to stay hidden, I'm not sure that section is properly occluded from an AI perspective. Yes, if you move along the east face of the wall you will be anomalously affected through the wall.

¯¯¯¯¯¯¯¯¯¯
>> This is NOT a page 2 thread.

Were the ZRP thread pinned, Steelyglint, probably everyone would be clamoring to have their mod stickied with the justification that the ZRP was also "just a mod". I like the idea, though, because folks need to know that bug fixes exist.

One thought I've been tripping over a lot lately is a "hot links to important mod threads" thread, and that one could be pinned. Mods like aliVe, NS, OL, Priboi Story, STALKER Complete and the others with long-winded threads could have a "Mods of Interest" listing that included the thread link and a very brief feature description.

Something like that might help. --Or not; the "How to mod STALKER" sticky went a bit too far, and now the same questions are being asked again either there or in the unpinned section because folks can't search and won't bother to wade through the long thread to see if their question has been answered.

Anyway, I was thinking that the "Compatibility with Patches" sticky could be unstickied and listed in the "links to important threads" topic under a "Modding Notes" section. This would keep the pinned-thread count down.

¯¯¯¯¯¯¯¯¯¯ZaGaR, I've been looking at the Grenadier mod. To get the copy you posted to work, I had to remove an extra throw_dist in line 226 of xrs_grenade.script. (It was easy to find; Show Symbols in Notepad++ revealed spaces there, probably put in when the code was being cleaned up.)

I'm going to include it with an adapter. I've made some changes to suit the ZRP approach.

Some notes on using it:

The game seems a bit less smooth, but not annoyingly so. Entering the Bar area the first time is rife with pauses as AI switches online, but they were really reduced by the ZRP and ShoC_Treatment. This adds back a bit more hiccup. Maybe later I can look into limiting how much these guys can do; one possibility is to disable the mod functionality if one is in the Bar.

The modded game leaves behind some fake grenades in places. (I got a resource leak when I used a debug feature to grab items, but it might have been that I was picking up the fakes, too. That's been corrected.)

You can sometimes take grenades from folks; you can get the "Pick up item" prompt if you are near someone preparing to throw.

It's not as spammy as I would have expected. I really like this version over the one that explicitly told you someone was about to throw a grenade and then put up a red marker on the mini-map. This one is much more challenging, especially when you have ten MonoMartyrs surrounding you. Great choices on the sounds, ZaGaR.

There's occasionally an animation quirk where the grenade thrower will slide sideways without moving his feet. And the Freedomers like to play Grenade Russian Roulette, with very few winners (survivors). It might be an issue with throwing a grenade while in a crowd.

No crashes, no real issues with this mini-mod.

Re the Monolith assault on the Barrier: Yes, it is seriously scripted and staged. Your earlier observation that they would just sit there and not attack is related to this. There is also a quirk about saving in the middle of such scripted stages (cf. Bullet's rescue scenario) that needs fixing.

I agree that making the camp the initial target would work, but there would still need to be stages of the attack or the Monolith would always win. Hmm, maybe as a variation...

Re Kruglov's ranting to Sakharov: Yeah, it sounds like a logic reset. Once X16 is done (state = 2, logic@scientist_return_out_rest), Kruglov is supposed to just walk away mumbling after being switched online, and Sakharov should remain at the window. I'll look into it, and thanks for mentioning it. (I also have some ideas to alternately move Kruglov/Semenov to the bunk room, check his PDA and/or simply not be there from time to time.)

Re katana: That's a high compliment! But I do think we are definitely moving in the right direction. I am playing a game that had no crashes (not even the xr_render.dll ones!) from the vanilla start through a couple of game-weeks of free play -- until I started messing with a sleeping bag! This faster-loading and higher-framerate (vs. vanilla) game is also doing a great thing: still surprising me after five years with novel expressions of AI behavior.

¯¯¯¯¯¯¯¯¯¯
>> Fix 7 seems to me to be a good solution.
>> The possibility that the code can be reused, opens up for more potential.

LoboTheMan, it turns out that one can use never as an ST assignment to do this, and they can use conditions here as well. The example is Seriy and company. The flag is on the NPC, not on the ST, but the effect is the same, at least for now.

That doesn't help Poker, though. If you use any ST statements in his logic, he won't go anywhere until he is able to switch online,

I'm going to use "any = true", which won't match any ST and therefore should permit him to join any when he switches online. There still is the issue that you are likely to encounter him after dealing with Borov, and the only solution I can think of is to move his spawn position and/or level.

If you or anyone else has any further suggestions on this, please let me know as soon as possible. He can be spawned outside the DV bandit camp, say, somewhere further north. Or maybe the Garbage, although if you get near him before he moves to an open ST, then he will likely perish from exposure to the Zone. My current thought is to just leave him where he is.

¯¯¯¯¯¯¯¯¯¯
Thanks for the thoughtful feedback, guys. It's what makes this effort work, and what makes it worthwhile.

I don't mind the young at heart, but I don't "heart" the young at mind, who resent those who won't do their homework for them. While this forum has its share of those, there is a preponderance here of Heinlein's 5% of the population who *can* think, and *do*.