ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
ZRP - A joint effort in fixing S.T.A.L.K.E.R.

« Previous 10 events | 1 ... 351 352 353 354 355 356 357 358 359 ... 367 | Next 10 events »
Question Do YOU want an unofficial patch?
Answers
Yes, I'm desperate!
Yeh, why not...
I don't care either way.
Could easily do without it...
Decane, stop spamming the forums with your dumb ideas! NO!
Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  06:18:51  26 September 2018
profilee-mailreply Message URLTo the Top
NatVac
Senior Resident
 

 
On forum: 06/15/2007
Messages: 4255
The links to the current Zone Reclamation Project (ZRP) download site are in my first post on the previous page (as of this post).

Please note the information there about an issue some are experiencing when downloading from the site.

¯¯¯¯¯¯¯¯¯¯
Some notes on the new release of ZRP, version 1.09 XR3:

I finished a game with the second half of the game using 50 objects_per_update in alife.ltx (vanilla uses 10). No discernible differences, even in the Bar level, other than AI seems smarter and NPCs would notice me much more often from afar.

The event loop is now really fast. I'll say again: the game is no longer CPU-bound. I'm often seeing a pseudo-frames-per-second value of 1000 (1 millisecond between invocations of the bind_stalker:update() function). You can test this yourself with debug enabled and "Show Update Ticks" enabled (Modifier > _ZRP.cfg > Debug Options): In-game, press Esc followed by D then D again (Esc D D) to enable (and disable) the HUD display of debug info.

Your graphics card will be rendering a complex scene most of the time. But if you look at the ground (thus reducing the impact of the GPU), you might see a very high framerate when only a simple texture is rendered, showing that the CPU is updating the game state very quickly. Note that despite the visual culling of hidden textures, the game still renders them, so looking toward the Bar from the Bar's level changers will have a much lower framerate than looking away from the Bar.

I increased the NPC hit_probability_novice (which affects all difficulty levels as we now know) from 0.20 to 0.25, and played with a hit_probability_max_dist of 50. Wow, the game was a lot harder to play! But reloading the last save only took a couple seconds (it helps to have an SSD), so the game was actually much more enjoyable.

There is a fast initial load, but subsequent loads are much quicker. There is a bit of hitching initially, and each time the game loads a model for the first time in a game since it was started (e.g., coming within switch distance of the military for the first time) -- and then the game is very smooth even if you have to reload. And reloads might take 0 msec during the synchronizing phase; see the console log. Once the game's resources are cached, the response delays are no longer distracting.

¯¯¯¯¯¯¯¯¯¯
I might mention that to achieve the minimum memory load and fastest speed while playing, some additional tweaking might help:

I strongly suggest installing a version-compatible actor.ltx and system.ltx of your choice (Modifier > Actor.cfg > *Install Actor.ltx*). The ZRP vanilla version does not change the parameters for the actor, but all the ZRP versions of system.ltx will no longer load unused resources for multiplayer and test levels and the like. You likely want the 1.0005/1.0006 files for Steam and GOG versions of the game.

Use "-noprefetch" as a command line parameter for starting the game. This will avoid a long start-up delay that is mostly useless anyway, since the game will both cache unused resources, and then throw out usable resources anyway to load others that weren't on the prefetch list.

Run the game with a 64-bit operating system, one in which you are not running unnecessary tasks in the background. Run with enough RAM that your swapfile is unused while playing the game.

Gameplay lag reduction: Empty stashes as soon as possible to eliminate that lag that occurs when you come within switch_distance of the stash. You can store unneeded stash contents in permabodies (these don't disappear from the game). Bodies don't seem to force the game engine to process their inventory in a lag-inducing way, unlike lockers, chests, toolboxes and other non-body storage locations.

Speaking of bodies: Revisiting Pripyat a few game hours after you enter free play with XR3 is amazing: Loners rushing north like the Freedomers and the Dutyers, snorks inside Monolith HQ, and pseudodogs on a tear south of the stadium main entrance. And when the battlefield is strewn with carcasses, your framerate will be just as high as when it was empty.
  06:23:48  26 September 2018
profilee-mailreply Message URLTo the Top
NatVac
Senior Resident
 

 
On forum: 06/15/2007
 

Message edited by:
NatVac
09/26/2018 6:47:56
Messages: 4255
Note to seckino: Try the ZRP 1.09 XR3 version for a relatively-easy way to add the cut mutants to your game. Read the MonoMartyr.cfg's Config Notes by clicking the button in the Modifier while the MonoMartyr.cfg entry is selected. Enable the MonoMartyr spawning on the first entry's page, then deselect the MonoMartyrs on the Spawn Types 1 page and click Apply. Then enable the one(s) you want to see in a game. Click Apply after finishing your changes on each page. I've weakened the mutants a lot, so some of the tooltip comments for the choices are not as applicable.

¯¯¯¯¯¯¯¯¯¯
MrSeyker, I used your esc_flash_task suggestion to fix easy peasy's missing initial quest completion credit. This has more benefit than just avoiding a crash with existing games, as it works to give the player the credit even with localizations that don't support it -- the quest statistics will show esc_flash_task without any crash. When localization is added, the task will automatically show the correct text in existing games.

That applies to other PDA text fixes as well. Tolik's PDA is now Nimble's flash, etc. There are probably a few tasks that are not currently added to the quest completion statistics, like "Get to the railroad embankment" (which is not that critical anyway).

I also included what I think you meant by the font change; if it is still not what you mean, please send me the file fixed the way you want. As for the tips_bun_komand sr_tip to show a PDA message in bun_deactivate_radar.ltx, we need to discuss this, as that text corresponds to the same message the military uses in X18, but the actual spoken message in X19 starts with "Irregular situation..." and ends with "... Eliminate the trespassers. Suppress the intrusion." Yes, it mentions "first floor, second floor, main hall", but we might need two messages, or at least an update to the text on the X19 message. Meanwhile, the setup works okay as an intercepted message each time without a PDA update, at least for now.

Edit: Somehow I didn't get your fix for the sr_tip missing icons per zZz1 into the release. I'll look at rectifying the situation soon.

¯¯¯¯¯¯¯¯¯¯
As mentioned, exostalker, the code changes to use less memory and run faster will have a big impact on mods that are not made with ZRP 1.09 specifically in mind. One of the biggest changes that impacts mods is the reduction in parameter passing in commonly-used function calls. Lesser impacts include the elimination of some functions and the optimization of others, both of which won't support complex mods unless the ZRP is used as a base.

The ZRP 1.09 release has some compatibility. I kept the call to update the weather (useless in ZRP; the engine handles it), which should permit weather mods to function properly without additional effort beyond installing them, and of course graphics mods should work as before. I plan to resume fixing the rest of the AI addon mini-mods shortly, and look at some popular mods with an eye to getting them to work with the updated ZRP.

¯¯¯¯¯¯¯¯¯¯
>> (1) How did you ascertain that db.actor:id() is always 0?

Decane, I didn't "make certain" (the archaic definition of ascertain), although I'm considering running Ollydbg to verify/find/fix a few things like this when I get the time. I have played this game enough to ascertain by experience and examination (the modern definition) that the id for actor is always zero. Should it ever prove otherwise, the game would break in obvious ways. The fact that the actor's id is 0 even after other objects are created by the game first is a strong indicator that the id is "hard-wired".

---QUOTATION---
(2) How did you work out the game's script load sequence? E.g. in xr_logic.script, you have a file-scope local reference to utils.w_CTime defined. I think that's safe only if utils.script is loaded before xr_logic.script. Can we be sure that's always going to be the case?
---END QUOTATION---


It's in the nature of Lua. I'd inserted debug statements in the files to see which scripts had loaded first.* While working on the ShoC_Treatment effort, I discovered that the very act of checking for the existence of a script object in memory (to see if a script had been loaded) would automatically load and parse that script to provide the object for my test, showing its existence in memory to be true every time (if the script was valid).

During the development of ZRP 1.09 XR3 the loading and initializing of scripts became fast enough that loading the autosave for the Agroprom Underground revealed a new problem: the death_manager's create_release_item() function was being invoked for the permabody below the entrance near Mole, before the bind_stalker.script had a chance to run the actor_binder:net_spawn() function which in turn initialized the tables that create_release_item() needed.

In XR3 the death_manager now self-initializes. When a script's function or variable is accessed from another script or engine function, the script is loaded, parsed, and initialized (including running file-scope code and variable assignments). It doesn't matter if that access is due to xr_motivator processing a permabody or the actor object being initialized, the first access creates the script object and the script's variable is then fetched or the function is executed.

One has to be careful to avoid conflicts. If script A uses script B at file-scope, a file-scope element of B cannot access A directly or indirectly (e.g., using C which uses A). Any use by A of B requires B to be completely valid to satisfy A's requirement, so B cannot access the incomplete A object at B's file scope. (Yet again, this is quite possibly only important to me. Eh.)

tl;dr: The very act of accessing a valid script will result in a valid script object, so no sweat here.

__________
* That's how I found out that smart_terrains and associated gulags are initialized twice on each level change and on each reload of a save. See my last post (the one for the release of ZRP 1.07 R4) on page 284 of this thread:

---QUOTATION---
https://www.gsc-game.com/main.php?t=community&s=forums&s_game_type=xr&thm_id=11786&page=284&sec_id=16
---END QUOTATION---

  09:39:34  26 September 2018
profilee-mailreply Message URLTo the Top
Storm Shadow
A machine, a Shadow Machine.
(Resident)

 

 
On forum: 11/14/2007
Messages: 1420
Wow, this sounds incredible! I'm glad all of your hard work has paid off mate, and I wish that Reb was still a thing, as I would love to incorporate all of your performance and stability updates.

Did the e_parent && e_entity fixes we were testing ~150711 make it into this release?
  10:16:48  26 September 2018
profilee-mailreply Message URLTo the Top
MrSeyker
Senior Resident
 

 
On forum: 03/21/2010
Messages: 423

---QUOTATION---
I also included what I think you meant by the font change; if it is still not what you mean, please send me the file fixed the way you want.
---END QUOTATION---



Nah, that's exactly how I implemented it. Compared it to my own file and they were exact matches.


---QUOTATION---
As for the tips_bun_komand sr_tip to show a PDA message in bun_deactivate_radar.ltx, we need to discuss this, as that text corresponds to the same message the military uses in X18, but the actual spoken message in X19 starts with "Irregular situation..." and ends with "... Eliminate the trespassers. Suppress the intrusion." Yes, it mentions "first floor, second floor, main hall", but we might need two messages, or at least an update to the text on the X19 message. Meanwhile, the setup works okay as an intercepted message each time without a PDA update, at least for now.
---END QUOTATION---



I actually added a new string to handle both messages separately.

The new message (for the Dark Valley raid) I load this way:


function end_x18_dream(actor, npc)
	db.actor:give_info_portion("dar_x18_dream")
	_dev.queue_delayed_event({delay=7500,event="xr_effects.patrol_prikaz()"})
end
function patrol_prikaz()
	news_manager.send_tip(db.actor, "tips_patrol_prikaz", nil, "military", nil)
end



I use this method because there was no script I could hook the new PDA message to.

Placed this new string in string_table_tips_darkvalley.xml


	<string id="tips_patrol_prikaz">
		<text>Teams one and two - check the first floor, team three - the main hall, teams four and five - second floor.</text>
	</string>



The tips_bun_komand ("Irregular situation..." I can call directly via bun_deactivate_radar.ltx


[sr_sound_act@monolith_call]
snd = characters_voice\scenario\sarcofag\monolith_call_1
;stereo = true 
on_signal = sound_end| sr_sound_act@monolith_orders %=enable_ui%

[sr_sound_act@monolith_orders]
snd         = characters_voice\scenario\bun\patrol_prikaz
delay       = 3000
on_signal   = sound_end | nil
on_timer    = 3000 | sr_tip1

[sr_tip1]
name        = tips_bun_komand
sender      = monolith
type        = tips
single      = true
on_signal   = tip_sended | nil



This is the reworked text in string_table_tips_radar.xml


	<string id="tips_bun_komand">
		<text>Irregular situation, secure immediately. First floor, second floor, main hall. Eliminate the trespassers, suppress the intrusion.</text>
	</string>

  01:35:12  28 September 2018
profilee-mailreply Message URLTo the Top
Decane
Senior Resident
 

 
On forum: 04/04/2007
Messages: 1690

---QUOTATION---
The fact that the actor's id is 0 even after other objects are created by the game first is a strong indicator that the id is "hard-wired".
---END QUOTATION---


I agree. And I think I found the engine code that verifies your hypothesis, for CS at least - in alife_simulator_base.cpp:
	if (!graph().actor() && smart_cast<CSE_ALifeCreatureActor*>(i))
		i->ID					= 0;
	else
		i->ID					= server().PerformIDgen(0xffff);


---QUOTATION---
the death_manager's create_release_item() function was being invoked (...) before the bind_stalker.script had a chance to run the actor_binder:net_spawn() function which in turn initialized the tables that create_release_item() needed
---END QUOTATION---


I just checked and that same possibility exists in CS, too. With the SRP, it would manifest as a crash if it were to ever happen - probably something like attempt to index local 'level_count' (a nil value). Whether it will happen seems to depend on whether an NPC's death_callback() or update() routine will ever run before the actor's net_spawn() does. Thanks for the heads-up.


---QUOTATION---
One has to be careful to avoid conflicts. If script A uses script B at file-scope, a file-scope element of B cannot access A directly or indirectly (e.g., using C which uses A). Any use by A of B requires B to be completely valid to satisfy A's requirement, so B cannot access the incomplete A object at B's file scope. (Yet again, this is quite possibly only important to me. Eh.)
---END QUOTATION---


That reminds me of something I once ran into with Perl: compile-time circular module dependence causing one of the modules to import an incomplete symbol table from the other, manifesting in functions from one module mysteriously not being recognized by the other. To my recollection, it went like this: if A 'used' B and B 'used' A, and Perl began loading A first, Perl would pause loading A and instead start loading B from the point where A 'used' B, but would then reach the point where B 'used' A and simply skip it because Perl doesn't attempt to load modules more than once (preventing infinite load loops in cases of inter-dependence). Hence Perl would happily load the rest of B and then return to load the rest of A, but with the result that B would have imported no symbols (e.g. function names) from A, as A would not yet have had a chance to export any symbols by the time B finished loading, as it was stuck 'using' B! So any references to A's functions within B would go unrecognized at run-time.
  11:47:44  30 September 2018
profilee-mailreply Message URLTo the Top
easy peasy
(Novice)
 
On forum: 08/26/2018
Messages: 21
wow, thanks for cool update!

maybe some inaccuracy or bugs:
- world model SVU without a flame arrester, on the hud model with him
- is there a protective cap on the L85, but as to shoot?
- wrong animation retract G36
- at a shot from the Winchester 2 casings take off
- if to take some additional tasks from the bartender and Sidorovich and to carry out in different sequence, they will repeat?
- green texture fingers some mans Freedom
- walkie-talkie in the hands of the NPC not always is displayed
- in encyclopedia some the images there is no
- dialogue of the Wolf about taking the job to meet with the group closes itself
- Tolik after the rescue, sometimes not sleeping in the village
- Nimble after salvation does not become a friend
- what if you implement the improvement of relations after the assignments to the example of the Wolf?
- if Petruha will be killed during a shootout, after killing the bandits on the walkie-talkie Stalker will report to the Wolf and hang with the walkie-talkie
- precision sniper rifle LR300 lower than conventional lr300
- why does a grenade launcher need shooting modes?
- muffler can be installed on all the weapons that thought?
- for X10 there is no mini map
- scripted respawn of NPCs and monsters may occur in front of the player?

I would like an option (sorry, a lot of want ):
- recover Beretta 92 Browning, TOZ 34, PKM
- breaking light bulbs on r2
- dynamic news
- loot money with the NPC
- places near which you can sleep
- repair
- jokes and music compositions from CoP
- the sounds while using food and drug administration
- boosters of the type CoP

Also even if you continue to develop PRP you can add some changes from the unofficial patch 2.0!
  03:11:25  1 October 2018
profilee-mailreply Message URLTo the Top
MrSeyker
Senior Resident
 

 
On forum: 03/21/2010
 

Message edited by:
MrSeyker
10/02/2018 0:16:44
Messages: 423

---QUOTATION---

- world model SVU without a flame arrester, on the hud model with him
- is there a protective cap on the L85, but as to shoot?
- wrong animation retract G36
- at a shot from the Winchester 2 casings take off

---END QUOTATION---



Those are problems with the models that can't be fixed by NatVac. I have personal meshes that address the SVU muzzle, the missing holster animation of the G36, and I plan to fix the other two at some point.

The duplicate shells in shotguns come from the way the animations are made and how the shells are modeled rather than particles like with the other weapons - I think I'll just remove the animation. That means now shells won't eject, but I just can't find the way to prevent the duplicates from showing up.


---QUOTATION---

- green texture fingers some mans Freedom

---END QUOTATION---



That's by design. They are supposed to be gloved.


---QUOTATION---

- in encyclopedia some the images there is no

---END QUOTATION---



Also by design. Some entries just don't come with accompanying pictures.


---QUOTATION---

- precision sniper rifle LR300 lower than conventional lr300

---END QUOTATION---



Already fixed by the ZRP


---QUOTATION---

- muffler can be installed on all the weapons that thought?

---END QUOTATION---



By design. Per caliber silencers need extensive modding, and some weapons are not meant to fit them in vanilla. I made a small mod that allows you to enable attachments on a per-weapon basis.


---QUOTATION---

- recover Beretta 92 Browning, TOZ 34, PKM

---END QUOTATION---



The first three can by added as stash contents via ZRP. The last needs a dedicated mod as it lacks model, animations and sounds.


---QUOTATION---

- breaking light bulbs on r2
- dynamic news
- loot money with the NPC

---END QUOTATION---



Those are all dedicated mods. Breakable lights can be added on ZRP. Dynamic News and money Looting need to be adapted (specially to in 1.09).


---QUOTATION---

- repair

---END QUOTATION---



Already in ZRP, but unlike the classic mod, only two mechanics can be found (Screw and Ivantsov).


---QUOTATION---

- jokes and music compositions from CoP
- the sounds while using food and drug administration
- boosters of the type CoP

---END QUOTATION---



All dedicated mods that require extensive implementation.

The music is easy to transfer, and I made a mini-mod that replaces vanilla songs with their COP variants. I also made a mini-mod for item sounds.

The boosters I don't think anyone has ever implemented on SOC.


Most of your request go a bit outside of the scope of the ZRP.

The mesh replacements I'll see if I can share this week (my folders are a mess).
  17:34:07  1 October 2018
profilee-mailreply Message URLTo the Top
easy peasy
(Novice)
 
On forum: 08/26/2018
 

Message edited by:
easy peasy
10/01/2018 17:56:26
Messages: 21
MrSeyker Thanks for the detailed and understandable answer. I agree with you in many ways.
I remember that in some kind of fashion I saw a correction of the original SVU model, LR300 and texture L85, and I can search for the author. In general, some models in the original turned out to be full of holes in some places; I remember that they were corrected in the original weapon reanimation, but unfortunately with a change in animation.
-green fingers of stalkers in the costume “guard of freedom”, like this is still a small defect of the model or texture, there were no such gloves in the following parts of the game, but how the design is also a worthy option.
-strange, but for some reason I have a lr 300 accuracy higher than that of the sniper version, although I did not touch the configs ... i try reinstall later
-Just in the description of silencers, that they are suitable for any weapon (With it, a set of adapters for weapons of any caliber is included.)
- about repair, it is good (I did not know)
- if Beretta 92, Browning, TOZ 34 possible restoring as stash contents and in trade, is also good
- Hope we will see the corrected meshes soon, thanks
- found these boosters, maybe there are others https://www.moddb.com/downloads/medicine-rc-shoc-port
I understand that not everything relates to the ZRP, but it is just interesting to know how others think. pity that not everything can be fixed ...
  02:06:52  5 October 2018
profilee-mailreply Message URLTo the Top
MrSeyker
Senior Resident
 

 
On forum: 03/21/2010
 

Message edited by:
MrSeyker
10/05/2018 2:14:31
Messages: 423
Ok, here are my weapon mesh fixes. I share two files.

The first is an older version. This file has my attempt at fixing the shotgun animations, which still needs work.

The second file is the one I'm currently using, it has some more polish in some of the animations, changes to some meshes (used a new, slightly larger silencer on most pistols and the mp5), reverts the shotguns to their default animations and includes the fix to the muzzle break of the SVU.

http://www.mediafire.com/file/dqb1wa53il0dvrv/weapons.rar/file

http://www.mediafire.com/file/magdfl4ymmup0s9/MrSeykerWeaponFixes.rar/file


I included new animations for some weapons that were missing them:

Most NATO rifles lack the various idle_aim animations of the Warsaw rifles, which makes the weapons bob up and down while aiming down the sights.

The FN2000 and Groza have new draw/holster animations when the Grenade Launcher is active (to remove the self-opening GL sights in vanilla).

The G36 has a new holster animation made reversing the draw animation.

All these need to be modded by changing animation names on the weapon ltx files in order to work. Later I'll add instructions on what to change and where.
  18:11:47  5 October 2018
profilee-mailreply Message URLTo the Top
easy peasy
(Novice)
 
On forum: 08/26/2018
Messages: 21
MrSeyker, it is really good, man! I hope that fans will appreciate the fixed vanilla weapons, thanks again!
 
Each word should be at least 3 characters long.
Search:    
Search conditions:    - spaces as AND    - spaces as OR   
 
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
 

All short dates are in Month-Day-Year format.


 

Copyright © 1995-2019 GSC Game World. All rights reserved.
This site is best viewed in Internet Explorer 4.xx and up and Javascript enabled. Webmaster.
Opera Software products are not supported.
If any problem concerning the site functioning under Opera Software appears apply
to Opera Software technical support service.