I/O Not Working Within func_instance When Enabling Name Fixup

PoFro

L1: Registered
Dec 25, 2016
6
0
I have an instance that contains a logic_auto, which fires an output "OnMapSpawn" to open a func_door_rotating.

The instance has no issues operating when actually ported into a map as brushes and individual entities.

Similarly, the instance works if the "Entity Name Fix Up" field is set to "None."

However, setting this field to either "prefix" or "postfix" causes the door to not open OnMapSpawn as specified.

The func_instance was working at some point, but this map has been sitting for ~8 months. Did the 64-bit update break name fixups?

I saw this post regarding broken func_instances, but I was hoping to get some other opinions or options, since I don't see such a compiler fix anywhere else.

I would appreciate any help. Thanks!
 

Box Of Paper

L3: Member
Jul 15, 2019
121
148
It's probably a compiler bug...

By running ent_fire logic_auto runscriptcode "printl(`\n`); EntityOutputs.GetOutputTable(self,`OnMapSpawn`,::t <- {},0); foreach (k,v in ::t) printl(k+` - `+v)" you can see the bugged outputs (you have to uncheck the logic_auto's "Remove on fire" flag).

(I have placed three instances, each with a diffrent Fix Up strategy, containing the bare minimum: a logic_auto that OnMapSpawn opens "rotating_brush")

1725791282120.png


I don't have a fix, but maybe this insight can help you decide what to do.
 

gidi30

L2: Junior Member
Sep 24, 2022
68
25
it is a compiler bug that appeared after the vscript update due to the io delimiter character being changed from comma to an escape character
 

PoFro

L1: Registered
Dec 25, 2016
6
0
It's probably a compiler bug...

By running ent_fire logic_auto runscriptcode "printl(`\n`); EntityOutputs.GetOutputTable(self,`OnMapSpawn`,::t <- {},0); foreach (k,v in ::t) printl(k+` - `+v)" you can see the bugged outputs (you have to uncheck the logic_auto's "Remove on fire" flag).

(I have placed three instances, each with a diffrent Fix Up strategy, containing the bare minimum: a logic_auto that OnMapSpawn opens "rotating_brush")

1725791282120.png


I don't have a fix, but maybe this insight can help you decide what to do.
it is a compiler bug that appeared after the vscript update due to the io delimiter character being changed from comma to an escape character
Thank you for the replies both of y'all.

Is that not a massive bug? Amazing that hasn't been patched...

Is there really no way to fix it? Is there a vbsp source anywhere I could edit and compile myself?
 

Barracuda

L1: Registered
Sep 24, 2009
42
39
If you have a hex editor and don't want to download sketchy .exe files, you can patch vbsp yourself.

Just go to offset 0xC7704 and replace 2C with 1B. For later updates, in case it still won't be fixed: just search for the string "func_simpleladder", the comma should follow closely afterwards.

Edit: Whoops, changing that constant alone has some side effects. Here is a corrected patch:

0x255DD: 23 -> 25
0xC7706: 00 -> 1B
 
Last edited: