BEEmod / BEE2-items

Standard Items for the BEE2.4
132 stars 46 forks source link

[Prl22 Bug] Overgrown Style: Laser Relay Positions causes "Failure To Compile" #794

Closed cartman1337 closed 7 years ago

cartman1337 commented 8 years ago

Laser Relays didn't work at all in prl 21 in Overgrown style. Now in prl 22 they work, but apparently only in a centered position. If placed in one of the four other positions, you get this error when compiling:

[W] cond.core: "NextCondition" is not a valid condition result! [W] instanceLocs: Invalid custom instance name - "common" for (Valid: {}) Traceback (most recent call last): File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in File "vbsp_launch.py", line 7, in File "F:\Git\BEE2.4\src\vbsp.py", line 3698, in main File "F:\Git\BEE2.4\src\conditionsinit.py", line 475, in check_all File "F:\Git\BEE2.4\src\conditionsinit.py", line 343, in test File "F:\Git\BEE2.4\src\conditionsinit.py", line 332, in test_result File "F:\Git\BEE2.4\src\conditions\addInstance.py", line 83, in res_add_overlay_inst IndexError: list index out of range

In the centered position, the chamber compiles fine.

LautaroL20 commented 8 years ago

I would not be so sure on this........ Recently have been using a laser emitter on different positions and this does not happens. Ill need to check this again......

FrozenDragon0 commented 8 years ago

It's a laser relay lautaro not an emitter.

LautaroL20 commented 8 years ago

Both relays, catchers and emmiters works pretty normal without failures...... I was almost to say im needing glasses too, but the screenshot from below proves that i am right >:D

20160912002911_1

Im sure i am using the PRL22, idk why this guy is getting those failures....

FrozenDragon0 commented 8 years ago

Leave it open until TeamSpen says something.

LautaroL20 commented 8 years ago

The report is invalid though, emmiter, catcher and also relays works pretty normal.

FrozenDragon0 commented 8 years ago

That might be on ur version imma test this when I get home

cartman1337 commented 8 years ago

Leave it open until I can test some more too. It could be that it's not the laser relay alone that causes the compile error, but a combination of that and other elements in my chamber. I'll make a new chamber with only a laser and relays first, and see if that compiles. Then add other elements in until it doesn't. The chamber which I got the error in also has a sendificator, goo/water, centered warm light squares, partial blocks (which have bugs of their own, see separate report), catwalks, partial walls, combined wall/window blocks, gratings, windows, flip panels, angled panels, chamber door, laserfield, blue field, laser catchers, cubes, buttons, pedestal buttons and a couple of turrets. I think that's all.

FrozenDragon0 commented 8 years ago

Alright so i've tested this and i can compile the maps just fine with the relays in different positions. So i don't know whats wrong with ur version

LautaroL20 commented 8 years ago

Case closed then.

cartman1337 commented 8 years ago

Perhaps you could help me figure out what's wrong with my setup, then? I just tried making an empty chamber, put one laser relay in there, and put it in a non-centered position, and bam - error:

Redownloading all lightmaps
[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps/preview.vmf ...
[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF success, chamber size: (8,6,4)
[PORTAL2 PUZZLEMAKER]  Compilation time (after export): 32 (ms)

VBSP failed.

[I] vbsp: BEE2.4.0pr22 VBSP hook initiallised.
[I] cond.core: Imported all conditions modules!
[I] vbsp: Map path is "C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps/preview.vmf"
[I] vbsp: New path: "C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps\styled\preview.vmf"
[I] vbsp: Clearing inject/ directory..
[I] vbsp: PeTI map detected!
[I] vbsp: Loading settings...
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[I] vbsp: Settings Loaded!
[I] vbsp: Parsing Map...
[I] vbsp: Reading Map...
[I] vbsp: Loading complete!
[I] vbsp: Setting SP Entry to 7
[I] vbsp: Setting SP Exit to 1
[I] vbsp: Game Mode: SP
[I] vbsp: Is Preview: True
[I] brushLoc: Analysed map, filling air... (12 starting positions..)
[I] brushLoc: Air filled!
[I] cond.core: Checking Conditions...
[I] cond.core: GooDebris: 0/0 locations
[I] cond.catwalks: Starting catwalk generator...
[I] cond.scaffold: Running Scaffold Generator (BEE2_SCAFFOLD)...
[I] cond.scaffold: Finished Scaffold generation!
[I] cond.vactubes: Running Generator (BEE2_VACTUBES)...
[W] instanceLocs: Invalid custom instance name - "common" for <ITEM_LASER_RELAY_OFFSET> (Valid: {})
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
  File "vbsp_launch.py", line 7, in <module>
  File "F:\Git\BEE2.4\src\vbsp.py", line 3698, in main
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 475, in check_all
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 343, in test
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 332, in test_result
  File "F:\Git\BEE2.4\src\conditions\addInstance.py", line 83, in res_add_overlay_inst
IndexError: list index out of range

What could the thing about "invalid weight" be?

Put the relay back in a centered position, and it compiled fine, with the following compile log:

[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps/preview.vmf ...
[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF success, chamber size: (8,6,4)
[PORTAL2 PUZZLEMAKER]  Compilation time (after export): 32 (ms)
[PORTAL2 PUZZLEMAKER]  Compilation time (after VBSP): 4059 (ms)
[PORTAL2 PUZZLEMAKER]  Compilation time (after VVIS): 4247 (ms)
[PORTAL2 PUZZLEMAKER]  Compilation time (after VRAD): 8803 (ms)
[PORTAL2 PUZZLEMAKER]  Compilation time (complete): 8854 (ms) ...launching map!
Error: Operator stop_entry, unknown sound operator attribute input_start
---- Host_Changelevel ----
exec: couldn't exec skill1.cfg
==== calling mapspawn.nut
Attempted to create unknown entity type playtest_manager!
Can't init playtest_manager
Script not found (scripts/vscripts/BEE2/auto_run.nut) 
prop_portal_linked_door '@exit_lower_elev' failed to link to partner named: '@exit_lower_cham'
Commentary: Could not find commentary data file 'maps/puzzlemaker/preview_commentary.txt'. 
Can't find factory for entity: wearable_item
NULL Ent in UTIL_PrecacheOther
[PORTAL2 PUZZLEMAKER]  --------START loading assets--------

[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_bee2_fizz_error.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_bee2_fizz_error.3ds
[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_portalgun1.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_portalgun1.3ds
[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_portalgun2.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_portalgun2.3ds
[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_portalgun3.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_portalgun3.3ds
[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_tspen_a.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_tspen_a.3ds
[PORTAL2 PUZZLEMAKER]     *!* 3ds file doesn't exist models/puzzlemaker/selection_tspen_b.3ds
[PORTAL2 PUZZLEMAKER]  Failed to load selection mesh: models/puzzlemaker/selection_tspen_b.3ds
[PORTAL2 PUZZLEMAKER]  ---------END loading assets---------

==== calling mapspawn.nut
Unknown command "cl_puzzlemaker_start_previewing"
***********************************
*         NO GAME SESSION         *
* some features might be disabled *
* (achievements, stats, UI, etc.) *
***********************************
=======================Trying to GivePlayerPortalgun
=======================Trying to UpgradePlayerPortalgun
CSoundEmitterSystemBase::BaseInit:  Manifest 'scripts/game_sounds_manifest.txt' with bogus file type 'new_sound_scripts_must_go_below_here', expecting 'declare_file' or 'precache_file'
Updating sound cache [8864 entries]
Found 8681 sound files on disk
Updated 0 out of 8681 cached files [284.101 msec]
Redownloading all lightmaps
FrozenDragon0 commented 8 years ago

I don't know how i can help u with that i know nothing with that type of error.

LautaroL20 commented 8 years ago

@cartman1337 - That log does not shows any relevant, make sure to turn on "Developer 2" on console first, then copy paste the log again.

LautaroL20 commented 8 years ago

@cartman1337 - Did you verify game cache files before installing the PRL22? Mixing up different pre releases on the Portal 2 folder may end up causing these failures.....

cartman1337 commented 8 years ago

@LautaroL20, here's the log after turning on "Developer 2". I notice the "invalid custom instance name for ". Is that of any help?

CreateEvent: event 'player_connect_full' not registered.
(1.60) output: (trigger_once,InstanceAuto1-arrival_elevator-elevator_1_interior_start_trigger) -> (InstanceAuto1-arrival_elevator-light_elevator_dynamic,TurnOn)()
(1.60) output: (trigger_once,InstanceAuto1-arrival_elevator-elevator_1_interior_start_trigger) -> (InstanceAuto1-arrival_elevator-signs_on,Trigger,1.0)()
(1.60) output: (trigger_once,InstanceAuto1-arrival_elevator-elevator_1_interior_start_trigger) -> (InstanceAuto1-arrival_elevator-elevator_1,MoveToPathNode,0.1)(@elevator_1_bottom_path_1)
Connection to Steam servers successful.
material "effects/flashlight002" not found.
material "effects/flashlight003" not found.
Redownloading all lightmaps
R_RedownloadAllLightmaps took 5.167 msec!
Setting cl_fov to 90.000000 and cl_viewmodelfov to 50.000000
   VAC secure mode is activated.
"cartman_1337<2><STEAM_1:1:34165825><>" STEAM USERID validated
[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps/preview.vmf ...
[PORTAL2 PUZZLEMAKER]  CVoxelTestChamber::Export VMF success, chamber size: (8,6,4)
[PORTAL2 PUZZLEMAKER]  Compilation time (after export): 32 (ms)

VBSP failed.

[I] vbsp: BEE2.4.0pr22 VBSP hook initiallised.
[I] cond.core: Imported all conditions modules!
[I] vbsp: Map path is "C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps/preview.vmf"
[I] vbsp: New path: "C:/Program Files (x86)/Steam/steamapps/common/Portal 2/sdk_content\maps\styled\preview.vmf"
[I] vbsp: Clearing inject/ directory..
[I] vbsp: PeTI map detected!
[I] vbsp: Loading settings...
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Failed parsing weight! ([])
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[W] cond.core: Invalid weight! ()
[I] vbsp: Settings Loaded!
[I] vbsp: Parsing Map...
[I] vbsp: Reading Map...
[I] vbsp: Loading complete!
[I] vbsp: Setting SP Entry to 2
[I] vbsp: Setting SP Exit to 1
[I] vbsp: Game Mode: SP
[I] vbsp: Is Preview: True
[I] brushLoc: Analysed map, filling air... (12 starting positions..)
[I] brushLoc: Air filled!
[I] cond.core: Checking Conditions...
[I] cond.core: GooDebris: 0/0 locations
[I] cond.catwalks: Starting catwalk generator...
[I] cond.scaffold: Running Scaffold Generator (BEE2_SCAFFOLD)...
[I] cond.scaffold: Finished Scaffold generation!
[I] cond.vactubes: Running Generator (BEE2_VACTUBES)...
[W] instanceLocs: Invalid custom instance name - "common" for <ITEM_LASER_RELAY_OFFSET> (Valid: {})
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
  File "vbsp_launch.py", line 7, in <module>
  File "F:\Git\BEE2.4\src\vbsp.py", line 3698, in main
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 475, in check_all
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 343, in test
  File "F:\Git\BEE2.4\src\conditions\__init__.py", line 332, in test_result
  File "F:\Git\BEE2.4\src\conditions\addInstance.py", line 83, in res_add_overlay_inst
IndexError: list index out of range

I'll look into the cache file verification.

cartman1337 commented 8 years ago

I tried verifying the game cache now. A few files failed and were re-downloaded. Same error, though.

cartman1337 commented 8 years ago

Got it working now. I still had the Bee2.exe up when I verified the game cache. I removed the game from Bee2, closed it, verified the game cache until it showed no errors, then started Bee2 and added the game again. Now it's working.

Thanks a lot for your help! :)

cartman1337 commented 8 years ago

One thing to take away from this then:

cartman1337 commented 8 years ago

Sorry; no, this is definitely a bug! Like I indicated above, I got it working by resetting the game cache and re-adding the game in Bee2.exe, but after playing around with my chamber a bit more, and deciding to actually move one of the laser relays, now that I thought I had the chance, the error came back. Now the error appears again also in the brand new test chamber with only a non-centered relay. So the fix was only temporary. Something definitely happens by prl22 of Bee2 that eventually sends the non-centered relays into error-land...

LautaroL20 commented 8 years ago

All of us have downloaded the exact same PRL22 if i am correct, so, if me and FrozenDragon (ZombiePwoner) we weren´t experiencing this bug, this definitelly means you have the Portal 2 files too mixed up. Id recommend to get clean copies re-downloaded from steam of the following folders: Sdk_content, p2_dlc2, and bin.

(this is doable by deleting these folders, then clicking verify game cache files, that way steam will start downloading the missing folders)

Make sure to remove the portal2_dlc3 folder wich isn´t something from Portal 2. Afther all this, re-unzip beemod with pakages and associate it to the game, then itll work without failures.

cartman1337 commented 8 years ago

Like I said 4 days ago, I DID get it working without error, then after working around with a chamber for a while again, the error came back. Have any of you made new, large Overgrown tests, with several Beemod items implemented and off-center laser relays since prl22, in Beemod? Or did you just test with a few relays in a clean, new chamber?

LautaroL20 commented 8 years ago

@cartman1337

20160912002911_1

FrozenDragon0 commented 8 years ago

Hey @LautaroL20 I want to chat ill be meeting you online. you seem to have missed my comments i've made on ur steam chat. And i want to show u a vid. @cartman1337 try a fresh reinstall for BEEmod as @LautaroL20 said ur files might be mixed.

cartman1337 commented 8 years ago

@LautaroL20; yes I've seen that picture before. And it is a picture of, quote "a few relays in a clean, new chamber", as I asked you about above. I too got that working after I did the cache clean-up, but as soon as I started working again on a larger, more complex room, with Beemod-items in addition to the standard items (laser relays and catchers are standard items, after all), the error returned. Which is why I asked if you too have tried this in an actual complex test, and not just a simple "new chamber" test.

cartman1337 commented 8 years ago

@ZombiePwner1; when I installed Beemod prl 22 I tried at first just copying the files over the prl 21 files. That didn't even let me start the exe-file, so I deleted everything and did a clean install of Beemod prl 22 then.

FrozenDragon0 commented 8 years ago

Well there is still a file causing this error so.

cartman1337 commented 8 years ago

Well, obviously. But I did also get it working without error, and it came back...

But I'll try to delete the folders Lautarol mentioned, and see what happens.

cartman1337 commented 8 years ago

Ok. I've done some more testing now.

  1. I removed the game from Bee2.exe
  2. I deleted the Beemod 2.4pr22 folder
  3. I backed up my Portal 2 folder from Steam
  4. I removed the entire Portal 2 game in Steam, then deleted all remaning files in the Portal 2 folder
  5. I did a complete, clean re-install of Portal 2
  6. I did a complete, clean re-install of Beemod 2.4pr22
  7. I restored my saved maps from my Portal 2 backup - nothing else
  8. I configured Portal 2 with correct audio and video settings
  9. I started Bee2.exe and connected to the Portal 2 folder

After all that I set Beemod up with Overgrown style and my preferred palette items, and exported. I worked around in the map I had previously gotten the error in. I was able to compile correctly.

Realizing I had selected the wrong start and exit, and also had forgotten an item in my palette, I quit the game, reconfigured Bee2, exported again, and then started editing again. Guess what; the error came back! Error is back

I thought to myself; Could it be connected to the selected start and exit corridors? So I set them back to start and exit corridors no. 1, but the error still came back. After putting all laser relays back into a centered position, it compiled again.

After doing this clean install of everything, I also noticed that monitors, that were added in pr22, are showing up as "error" in the PeTI editor; before they looked like futbol holders. See below: Monitor errors

The clean install also made some of my previously published tests start with announcer/Cave Johnson sounds that weren't there before. I have no idea how that happened...

In any case, now there can be absolutely no doubt that the errors I'm getting are related to Beemod 2.4pr22. There are no remnants of any other Beemod or other custom tools anywhere at this point.

FrozenDragon0 commented 8 years ago

Whats your steam profile? i can add you so we can talk about it more.

cartman1337 commented 8 years ago

I'm Cartman_1337 on Steam.

I have an idea why I'm getting random Cave Johnson messages when I start different levels, though. It's probably because in its current state, the normal campaign has not been played through.

FrozenDragon0 commented 8 years ago

ill add you so we can discuss more.

FrozenDragon0 commented 8 years ago

Okay i've sent a request. Waiting for you to accept.

cartman1337 commented 8 years ago

Ok, so @ZombiePwner1 has tried my map, and did not manage to reproduce the error.

However, I've been looking a bit further at it from my end, where I do get the error, and made the following observations:

This observation leads me to the following question. I observed that the first export adds the folder "Bee2" to the Portal 2 folder. On later exports, this folder will only receive changes if I change something to the palette or do some changes to the style, like selecting different music or corridors. But even if you don't to any changes, the export does do some copying; it exports configuration and it copies the compiler every time. My question is; to which folder are the configuration and compiler files copied? I'd like to compare these folders by content from the first export to later exports, to find out if something here changes on later exports. Based on the error I get only on later exports, I'm guessing something changes, so I'd like to find out what. I can do the comparisons myself, I just need to know the destination of the configuration and compiler exports.

cartman1337 commented 8 years ago

I think I found it. There's a bee2 folder in Portal 2\bin as well. And the files here DO change on the second export, even if no changes have been done.

In "instances.cfg" the following lines, starting from line 591 to 594, are gone on the second export:

    "ITEM_LASER_RELAY_OFFSET"
        {
        "common" "instances/BEE2/over/items/laser/relay_offset_com.vmf"
        }

In templates.vmf, lines 5 and 20 have the number behind "mapversion" changed. It is "1" in the first export, and currently "3" in the latest export. A new export confirms that the number increases by one for each export.

In vbsp_config.cfg, the following lines are ADDED for each export, starting from line 117:

    "Special"
        {
        "Sky" "sky_white"
        }

A new export confirms that it adds these four lines at line 117 for each and every export done. The latest export thus have these four lines repeated four times in a row.

The file pack_list.cfg does not change.

The culprit, then is instances.cfg. If I copy the original file to the bin\bee2 folder, even while in-game and in-editor, the compile will change from failing to succeeding. The vbsp_config.cfg change doesn't seem to have any effect, but it does seem redundant to have the same lines repeated several times.

The changes to instances.cfg does make sense for the error I get. The change is namely that the references to "ITEM_RELAY_OFFSET" are removed, and without those the compiler naturally does not know what to do with an offset laser relay. The "ITEM_RELAY_CENTER" is present in the further exports, so centered relays work.

This should probably help get the issue fixed, I hope.

TeamSpen210 commented 8 years ago

That's definitely serious, and shouldn't happen.