Anomalous Compiling Issues

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Alright, here we go again with more compiling issues.

There seems to be an issue with my maps being partly broken for people. The thing is, whenever I test my maps, everything is fine, all the content is there, the lighting looks fine. But when others playtest it, lighting appears broken, it causes crashes and custom assets aren't there.

This has happened with my maps koth_cloaked and a few sfm/gmod maps I've made, but others suffer no such problems.

How is this even possible, and how do I fix it? I never even see any errors in the compile log or alt+p.
 

Obsyden

L1: Registered
Dec 13, 2017
8
4
I couldn't pin point it exactly, but make sure that all of your custom assets are packed into the map properly. Pakrat works as a program, but I've heard better things about VIDE for games like TF2.
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
I couldn't pin point it exactly, but make sure that all of your custom assets are packed into the map properly. Pakrat works as a program, but I've heard better things about VIDE for games like TF2.

Thanks, I'll certainly give these a shot. In the meantime, I tried a test someone on the discord channel suggested. If I load a map after enabling sv_pure 2, all custom content that I'm using that isn't packed with the map should deactivate. So when I load my map, I see what others see. I tried this after I successfully activated the command, and saw no errors or missing textures. Is this a reliable technique for troubleshooting?
 

nᵗʰSonata

Takes way to long to make and update maps
aa
Jun 11, 2015
433
436
Please use CompilePal instead of Packrat or VIDE for packing, it's so much easier. I mean, it's up to preference, but CompilePal is definitely more user-friendly.

Anyway to answer your question I would make sure to test the map multiple times, and to make sure you're testing the absolute final version you've compiled before uploading it. One thing that I also do is test it on a different computer, though this is a lot easier for me than other people since I already use my laptop for making/compiling maps and my desktop for playing them. If you can have a friend or family member lend you their computer temporarily to test it, that would work
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Please use CompilePal instead of Packrat or VIDE for packing, it's so much easier. I mean, it's up to preference, but CompilePal is definitely more user-friendly.

Anyway to answer your question I would make sure to test the map multiple times, and to make sure you're testing the absolute final version you've compiled before uploading it. One thing that I also do is test it on a different computer, though this is a lot easier for me than other people since I already use my laptop for making/compiling maps and my desktop for playing them. If you can have a friend or family member lend you their computer temporarily to test it, that would work

Yeah, I absolutely use CompilePal. I agree, so much easier in every way. I'm just worried about the reliability of packing for me. I asked the discord about this, and, surprise surprise, I'm the only one who's having this problem with it. Before I submitted my map last night, I did a final compile and performed multiple tests. Everything seemed to work. Now I just wait for the feedback...
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
I'm at my wits end here. I compiled my maps on full settings, no errors. I loaded up both my maps with all of my custom content moved out of the custom folder, all the assets were there and the lighting was perfect. I restarted the maps after typing sv_pure 2, and still no issues. I loaded them up a few more times anyway, just to be sure. There is never any indication that anything is wrong.

So then it turns out that during today's test, all people saw were missing textures and full bright.

I honestly don't know what to do at this point. Even with no custom content, lighting still doesn't work for anyone but me. If there's no way I can fix this, there's no way I can keep mapping. I'm not going to waste anymore testing time if I'm not 100% sure that my pc is the only one in the world that run my maps.
 

ics

http://ics-base.net
aa
Jun 17, 2010
841
543
Open your compiled map file, the bsp one with GCFScape and see if the lighting data is inside of it. There should be a big list of .vhv files for ldr and hdr. If those arent there, then for some reason your pc doesnt save lighting data into the compiled file itself, but they are saved on some folder of your TF2 installation directory, which menas they work for you, but nobody else cannot see them.

I used to have about 5 years ago an issue where i could not build cubemaps. They just wouldnt save into the bsp file no matter what i did and i received a console error saying so. So i had a friend build those for me and the file was ok after that. Could be similar fluke.

Just saying this, Pakrat is more advanced tool these days. It will propably save up automatically a models texture files but you need to manually add the mdl, vtx and such files. I still use it and it works, but it requires a bit of knowledge on what to do and what not to.
 

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
Are you compiling with LDR, HDR, or both? The fullbright issue could be caused by only compiling in HDR lighting.
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Are you compiling with LDR, HDR, or both? The fullbright issue could be caused by only compiling in HDR lighting.
No, I'm compiling with both. I've even tested this by loading the map up in GMod, which doesn't support HDR. Even with just the LDR, the map looks fine.
Open your compiled map file, the bsp one with GCFScape and see if the lighting data is inside of it. There should be a big list of .vhv files for ldr and hdr. If those arent there, then for some reason your pc doesnt save lighting data into the compiled file itself, but they are saved on some folder of your TF2 installation directory, which menas they work for you, but nobody else cannot see them.

I used to have about 5 years ago an issue where i could not build cubemaps. They just wouldnt save into the bsp file no matter what i did and i received a console error saying so. So i had a friend build those for me and the file was ok after that. Could be similar fluke.

Just saying this, Pakrat is more advanced tool these days. It will propably save up automatically a models texture files but you need to manually add the mdl, vtx and such files. I still use it and it works, but it requires a bit of knowledge on what to do and what not to.
I've opened up one of my maps, koth_descent to have a peek around. I've also had to read up a bit on the valve developer wiki, quite a learning experience here. I've seen many things...

- Lumps. Just reading up on how these things work, how their numbering identifies what data they contain for the map. Lumps 8 (lighting), 15 (worldlights), 22 (unused), 23 (unused), 24 (unused), 25 (unused), 32 (displacement lighting), 38 (water vertices), 41(clipped portal vertices), 42 (cubemap locations), 49 (unused), 50 (wateroverlays), 57 (xbox stuff) are not present. Most of this makes sense, except 8, 15, 32, 38, and 50. Three of those are lighting related, that's not unexpected. The remaining two relate to water. I have no idea how broken water appears to other people, but I'm guessing it is now. So the lack of lumps 8, 15, and 32 seem to explain the lighting issues.

- The Materials folder. This contains some textures, but not all of the ones my map uses. I would guess that these are the custom textures, and the default ones don't need to be packed... But the well water textures are in here, and I'm pretty sure those aren't custom. Without knowing which textures are missing for people when they play the map, I can't really say for sure what's going on here.

- Tons of vhv files. However, they're all for hdr. Theeeere we go. Okay, now to try and figure out how I can see lighting on this map.

- mapname.ent. No idea what this is, and a brief search of a few places yields nothing. Something to do with entities maybe?

- mapname.zip. This one intrigues me. Within are the materials and vhv I've already seen in the bsp, but the lump files and the .ent aren't there. Even more interesting, opening up this .zip from gcfscape shows that its file path leads to C:\Users\scampi\AppData\Local\Temp, with the .zip files always as recent as the moment I opened it. I'm sure I'm missing something here, how could a file packed into the bsp exist in two places simultaneously?

I think this just raised more questions then answers. It's clear to me that a lot of this is just me not understanding what I'm looking at. Though something is still clearly wrong. Why do I still have LDR lighting if there's no evidence of it even being generated? Why is there no evidence? What's the deal with that .zip file? C O N F U S I O N
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
I have done some more testing with compiling, and the results are fascinating! Not hopeful in the slightest, but fascinating! I feel a little like a medical scientist amazed at the never-before-studied disease slowly killing him!

So I performed a few more compiles and took a look at their BSPs afterwards, then loaded them up in game. First, I removed all custom content from my custom folder again. Second, I renamed a duplicate map of descent for testing. My thoughts were if anything outside the bsp was letting my use the lighting, it wouldn't be able to keep carrying over if the name was incorrect. I also did a search all throughout the TeamFortress folder for anything suspicious, but I couldn't find any to my knowledge.

1st compile. Compiled on CompilePal full settings. Exactly same as the results detailed in the above post.

2nd compile. Compiled with Hammer's default compiler on full settings. The resulting bps had zero vhv files whatsoever, but going into the lump folder revealed that 8 and 15 generated. Going into the game, I was not surprised by the lack of custom textures, but I was surprised by the lighting. Nothing was wrong with it.

3rd compile. Compiled with CompilePal with minimum settings, so no HDR. Same exact results as above. Even though I deleted the previous bsp, somehow HDR lighting sneaked in there despite the fact that I turned it off. I'm not really sure what to make of this. I loaded up the old, original map I submitted for testing. Still perfect.

Here's a list of bizarre rules that seem to govern my system:

1. vhv files for LDR will never generate under any circumstances.
2. TF2 does not require vhv files in a bsp to have lighting.
3. CompilePal will not generate the correct number of lump files when trying to compile HDR lighting, but it will when it isn't.
4. Maps loaded in TF2 on my system always have that distinct HDR look (obvious when compared to gmod), even when HDR shouldn't be there.
5. The full compile settings present in default hammer will produce identical results to the minimal compile settings on CompilePal.
6. Not a single error or warning will betray any signs that something is not working properly.
7. No amount of reinstalling and restarting will change anything.
8. It wasn't always this way, old bsp files have the correct number of lump files, and non-hdr vhvs.

Anyone who knows more about this, I implore you, tell me what's happening. My psyche is too fragile to comprehend the true nature of this, and I will soon descend into gibbering madness.
 

ics

http://ics-base.net
aa
Jun 17, 2010
841
543
Whats your compile line for $light_exe looks like? For -final, default should be: -both -final -game $gamedir $path\$file
 

Vel0city

func_fish
aa
Dec 6, 2014
1,947
1,589
About -both: it will sometimes not do what it says it does. Have you tried compiling with -ldr and -hdr as the options instead of -both? It should do the same but I too had cases where compiling on -both didn't compile either LDR or HDR data at random for some reason (probably because it's the Source engine and Source is, well, Source).

About the custom content: open your map in TF2 after you packed it, then type sv_pure 2 in the console. That's pretty much the only guaranteed way to test for missing content with a PC full of custom content in either the models/materials folders AND in the /custom folder. sv_pure 2 forces TF2 to ignore all custom content wherever it is in the file system and only looks for content in the default VPK files.
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Whats your compile line for $light_exe looks like? For -final, default should be: -both -final -game $gamedir $path\$file

I'm not sure what you mean. Is this in the compile log? I can't find it.

So I did another compile using CompilePal. I compiled under Full- LDR, and it seemed to work. All of the non-hdr vhvs are there, as are the lumps. Assuming that the lack of them was causing the lighting issues, I'm guessing that means the lighting on this map actually works for other people now? I sure hope so.

About -both: it will sometimes not do what it says it does. Have you tried compiling with -ldr and -hdr as the options instead of -both? It should do the same but I too had cases where compiling on -both didn't compile either LDR or HDR data at random for some reason (probably because it's the Source engine and Source is, well, Source).

About the custom content: open your map in TF2 after you packed it, then type sv_pure 2 in the console. That's pretty much the only guaranteed way to test for missing content with a PC full of custom content in either the models/materials folders AND in the /custom folder. sv_pure 2 forces TF2 to ignore all custom content wherever it is in the file system and only looks for content in the default VPK files.

I have used this technique in the past and... are you sure it is 100% reliable? I've done it for the same map before and after playtesters noted the lack of assets, and it never showed that to me. To be absolutely sure I'm using it correctly, you load the map, then type sv_cheats 1, then type sv_pure 2, yes? I get a message stating:
--------------------------------------------------------
Note: Waiting for the next changelevel to apply the current value.
--------------------------------------------------------
Nothing changes after this, and I've waited awhile. I've unloaded and relaunched the map with this command active and everything is normal.

So I'm at a stage where things are closer to working, but not quite yet. After some more testing, I was able to compile BSPs with the correct number of lump files, and both HDR and LDR .vhvs. Assuming that the lack of .vhvs was causing the lighting problems, I can call that part resolved. However, ambient_generics will not compile. Again, no warning, just no sounds from them in the compiled map. I've had this issue before with other maps, appearing and disappearing randomly, but this time it's not going away.

Just to make sure custom content and lighting works, could someone load up this map and tell me how it looks? I would really appreciate it! The only other option for me to be sure is to put it back in the play test rotation, and I don't think they'd tolerate another broken map from me. Also, the waterfalls are supposed to have sound, if you hear any, then that means the broken sound is on my end.
https://www.dropbox.com/s/12tiqcqfvglyyxo/koth_descent_test.bsp?dl=0
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Please, someone, download and have a look at the map. I just need to be sure that the lighting and custom assets work properly for other people. If I could test this reliably myself, I would.
 

nᵗʰSonata

Takes way to long to make and update maps
aa
Jun 11, 2015
433
436
I downloaded it and both sound and lighting seem to be working, although I'm getting a lot of missing textures
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
I downloaded it and both sound and lighting seem to be working, although I'm getting a lot of missing textures

Thanks! This means that all I have left to fix is asset packing. Any advice on how to do this with CompilePal? My current setup is to just enable packing and test in-game with sv_pure 2. Clearly this doesn't work, because even with custom content removed from the folder and sv_pure 2 engaged, I've never seen a single missing texture before. In my above post, I describe how I use the command and what happens, am I using it correctly? Everyone has told me thus far that the command is infallible.

Also, you said sounds work, but did you hear more than just soundscapes? The two rivers and waterfalls should have loud rushing water noises, let me know specifically if you hear those.