ata4 / bspsrc

A Source engine map decompiler
Other
654 stars 86 forks source link

Vampire: Bloodlines Errors #2

Closed Psycho-A closed 12 years ago

Psycho-A commented 12 years ago

1) Since version 1.3.1 I met a nasty bug when option "Fix tool textures enabled" --- all game-specific textures, like tools/novis, tools/tools_visonly, tools/tools_shadow etc now turns into SOLID "nodraw" brushes, that results to unexpected critical compile-errors, like "entitly *\ in solid volume" and unexpected collisions in game. Since we have unofficial VampireSDK (http://forum.bloodlinesresurgence.com/showthread.php?tid=2664), it's better solution is to left such tooltextures untouched.

2) Some map's entdata decompiles incorrectly. That relates to game's extended output system, that includes Python scripts in it's sections. These scripts can contain quotes (" ") that backslashed (\" \") in VBSP's entada, but decompiles without backslashes by BSPSrc. But anyway, modern Hammer editors doesn't support ANY types of quotes (no matter, backslashed or not) in entity data, and this leads to crashes when such map loading. I think it's best way to fix it, is to delete \" \" on map decompiles. It's not affect script functionality and prevent Hammer from crashes.

I hope my wishes will be heard. Thanks in advance.

ata4 commented 12 years ago

Okay, I'll have a look at these issues. The main problem is that I don't own the game, I only have the .bsp files so far, so I never really loaded a decompiled map of VTMB with full assets.

Psycho-A commented 12 years ago

Of course... Here, take it: http://rghost.ru/32764251 These are assets (editor, tools materials, etc.) from original game for using with VampireSDK. If you needed the assets for loading VTMB maps in current-version Hammer's, I also can prepare this for you.

ata4 commented 12 years ago

Ok, thanks. I think I fixed both issues in 1.3.2, please report if there are more issues.

Psycho-A commented 12 years ago

Thanks for new version: the former bugs not detected now, but as I saw, the script's \" quotes now replaces with apostrophes ( ' ). This can violate original scripts work, so I think it's better to remove script quotes at all.

The follow bugs I forgot to note in last message:

1) Some brush sides duplicates their planes many times on decompiled map (or on BSP compiling errors - I don't know exactly). In particular, this applies to func_areaportal* entities. As result, we get the compile warnings like "Brush 1776, Side 265: duplicate plane", and game lags/portal leaks/portal rendering errors. I think it's best way to avoid this, is deleting duplicate planes on decompiling.

2) Some areaportal entities does't have brush sides in itself, that also cause leaks on compiling. Such areaportals can be deleted on decompiling. But since all areaportals linked with targets, and these targets are often the black func_brush'es, I think it's needed also to replace textures on that brushes with "toolsinvisible" (not all - just "black" ones). Replacements are: tools/black -> tools/toolsinvisible effects/black -> tools/toolsinvisible

However, I think these problems are not just VtMB game's...

ata4 commented 12 years ago

Just wondering: if the quotes are removed entirely, isn't this destroying the functionality of the scripts? I thought by using apostrophes, you could at least fix the scripts after compiling.

The other issues seem difficult to fix. BSPSource is generally not designed to produce perfectly re-compilable maps, so if it takes too much work, I'll probably skip these.

Psycho-A commented 12 years ago

About quotes: no, this not destroying the scripts functionality, because quotes needed just for strings that contains "spaces". I'm viewed all such strings in all maps, and spaces were not detected. It's usually single-word function arguments, and less - the single-word script commands.

About other issues - probably, the second one won't be so difficult (I even tried to do this via simply "sfk" file-patcher's batch script and I got the successful results), but if it can greatly slow down decompiling process, this can be added as an additional "post-processing" option (I think, if the more such type bugs will be collected by different users, then all their bug-fixes may be combined into the separated "Post-processing" tab)..

ata4 commented 12 years ago

Just want to let you know that 1.3.3 removes the quotes now.