ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
634 stars 74 forks source link

HL2, EP1, EP2, SDK 2013 Singleplayer: Fixing Particle Systems entries in the particle_manifest.txt file. #3615

Open SC1040-TS2 opened 3 years ago

SC1040-TS2 commented 3 years ago

While this issue is seen across most, if not almost all HL2 games, both in the SDK 2013 Singleplayer asset listings and in respective launch titles, Episode 2 is the most notable example I could find where the particle_manifest.txt file is fraught with issues.

Aside from the manifests themselves not being properly alphabetized, some particle systems that are present in the ep2_pak_dir.vpk's Particles folder—both intentionally and not—have had entries removed from the manifest, or were never added at all. This potentially breaks certain assets that are still present in Episode 2's final release.

Additionally, some files mentioned in the EP2 particle_manifest.txt file are not found in the EP2 Particles folder. While I understand that the HL2 games and Source SDK 2013 SP builds work by parsing separate folder directories simultaneously, perhaps moving some of the files over from the HL2_misc_dir.vpk would help reduce precious parsing overhead. — — — Now, this is all well and good, but clearly this is something the average user would not find out about without some help.

Admittedly, I had used GCFScape to inspect the default .VPK directories after finding this inconsistency in a Source engine game that did not contain a custom particles_manifest.txt file reused from EP2 within a .VPK. I do not know if this infringes on anything, but sincerely hope it does not considering the usefulness this issue may have.

SC1040-TS2 commented 3 years ago

Additionally, Kisak, I had also gone through the trouble of fixing this myself.

I will post two versions of the corrected EP2 particle manifest file several hours from now, with one version containing comments documenting changes made and those that need to be made for each listing—to be used as a reference for adding HL2 particle files to EP2's Particles folder directory later—as well as a version without them that is intended to be pushed as a release candidate.

Until then, please do not close the issue.

SC1040-TS2 commented 3 years ago

Okay, both files are at the ready. Here are the completed and alphabetized manifests, one with comments on what was and needs to be changed, and one without. EP2_particles_manifest_with_comments.txt EP2_particles_manifest_without_comments.txt

In order for this to be hypothetically pushed to release, the manifest without comments needs to be renamed to just particles_manifest.txt and packed into both the HL2:EP2 ep2_pak_dir.vpk's particles folder, and the Source SDK 2013 Singleplayer's ep2_pak_dir.vpk's particles folder as well.

Yetoo1 commented 3 years ago

@SC1040-TS2 There seems to be an extra tab before in "file" "particles/hunter_shield_impact.pcf" in both files. This is extremely minor, but who knows how small an issue could cause a Valve employee to get bored and get distracted by something shiny.

SC1040-TS2 commented 3 years ago

@SC1040-TS2 There seems to be an extra tab before in "file" "particles/hunter_shield_impact.pcf" in both files. This is extremely minor, but who knows how small an issue could cause a Valve employee to get bored and get distracted by something shiny.

One moment while I corroborate this, as I am not a fan of extra syntax, either.

Yetoo1 commented 3 years ago

@SC1040-TS2 Rather than a tab this is actually 4 spaces. image

SC1040-TS2 commented 3 years ago

Ah, I see how it is. I must have missed that in the original editing passes.

SC1040-TS2 commented 3 years ago

Okay, both files are at the ready. Here are the completed and alphabetized manifests, one with comments on what was and needs to be changed, and one without. EP2_particles_manifest_with_comments.txt EP2_particles_manifest_without_comments.txt

In order for this to be hypothetically pushed to release, the manifest without comments needs to be renamed to just particles_manifest.txt and packed into both the HL2:EP2 ep2_pak_dir.vpk's particles folder, and the Source SDK 2013 Singleplayer's ep2_pak_dir.vpk's particles folder as well.

The original post with the attached files has been updated to include fixed Tab syntax throughout. The files are now considered truly ready at this time; at least, where specifically Episode 2's particle manifest is concerned.

SC1040-TS2 commented 3 years ago

Should Kisak be pinged just so he is aware of the now fully corrected files, or is the above posting enough to inform?

kisak-valve commented 3 years ago

Hello @SC1040-TS2, friendly reminder that I'm a moderator for Valve's issue trackers on Github and not a Valve dev myself. We'll need to hear from a Source 1 dev if this can be included in a game update.

SC1040-TS2 commented 3 years ago

Hello @SC1040-TS2, friendly reminder that I'm a moderator for Valve's issue trackers on Github and not a Valve dev myself. We'll need to hear from a Source 1 dev if this can be included in a game update.

Whoops, my apologies. Given you tend to be the one guy users whom post issues and pull requests for Source 1 are generally in contact with whom has something to do with Valve, it is easy to forget the true scope of your role sometimes, or even wrongly assume you are able to relay such things to the appropriate developers on rare occasions.

Oh well. Anyway, um, is it alright if this Issue is expanded to include other Source 1 games in potential need of updated particle manifests, or would it be inappopriate to do so given this Issue was originally reported for just one game?

kisak-valve commented 3 years ago

Ideally, we want one issue per issue report, so if you're confident that other manifest inconsistencies fall under the same, tightly scoped topic, then it would make sense to combine them.

Since your feedback is concise and actionable for a specific game title, I also wouldn't object if you decided to file separate issue reports, one per game title where the changes do not overlap.

SC1040-TS2 commented 3 years ago

Ideally, we want one issue per issue report, so if you're confident that other manifest inconsistencies fall under the same, tightly scoped topic, then it would make sense to combine them.

Since your feedback is concise and actionable for a specific game title, I also wouldn't object if you decided to file separate issue reports, one per game title where the changes do not overlap.

Hmm...Well, maybe this specific issue can be used to consolidate Particle Manifest issues for HL2, EP1/Episodic, EP2, Lost Coast, and the Source SDK 2013 Singleplayer base, as those all fall under a similar category asset-wise, engine build version differences aside.

Source SDK 2013 Multiplayer and HL2: Deathmatch can be moved to a separate issue, both for engine Base consolidation's sake, and given the separate issue of whether EP1, EP2, and Lost Coast assets should be ported to the Multiplayer Base since they already exist in the Singleplayer Base (With the exception of some Lost Coast assets, but that is for another Issue.).

That leaves Portal and Team Fortress 2 as the sole remaining Orange Box titles, and those games are fairly removed from the respective SDK Bases by now. Again, separate issues for these is probably ideal. ——— That mostly leaves isolated projects such as Day of Defeat: Source, Half-Life: Source and HLDM: Source, CS:S, and non-Source 2013 games such as those on newer engine branches (Portal 2, CS:GO, et cetera). These all likely require separate issues for each title, unless I can come up with a better way of organizing them all.

Yetoo1 commented 3 years ago

@SC1040-TS2 If you're going to be consolidating those issues under this issue posting, then you need to edit this current posting to accommodate for that. Portal 2, CS:GO, DOTA 2, and Underlords have separate issue trackers (Portal 2 issue tracker says it's for the Linux port, but Kisak seems to move issue over there regardless of the operating system).

SC1040-TS2 commented 3 years ago

Understood. One moment...

SC1040-TS2 commented 3 years ago

So, uh, I have a tiny question. For the patched and updated Episode 2 Particles Manifest, should I include the Episode One-specific ep1_fx.pcf file listing in its manifest so it is partially exposed to Episode 2 modders, in spite of it not needing to be added compared to other listings?

Yetoo1 commented 3 years ago

@SC1040-TS2 If it wasn't there originally just make two manifests one with it and one without and note the differences.

SC1040-TS2 commented 3 years ago

@SC1040-TS2 If it wasn't there originally just make two manifests one with it and one without and note the differences.

That was the plan for the Episode 2 manifest in particular, but for all manifests, I have included respective patch notes listing changes in the form of ReadMes.

What I was asking is if I should include an Episode One Particle listing in the Episode 2 manifest, or if I should only leave it in its respective game's particles manifest.

This does not apply to HL2-specific particles, mind you, as they must be retained in the Episode One/Episodic and EP2 manifests due to being part of the HL2 Base.

Yetoo1 commented 2 years ago

@SC1040-TS2 Yeah, like I said just make a separate and appropriately labeled manifest for episode 2 that has the added Episode One particle listing or don't include the particle listing and just write instructions for how and what to to add that Episode One file whether it be within the file or some place where you distribute it.

SC1040-TS2 commented 2 years ago

@SC1040-TS2 Yeah, like I said just make a separate and appropriately labeled manifest for episode 2 that has the added Episode One particle listing or don't include the particle listing and just write instructions for how and what to to add that Episode One file whether it be within the file or some place where you distribute it.

It is done for now. Feel free to have a look through the files accordingly. Source 1 Engine Particles Manifest Patch—HL2 Base and Singleplayer.zip