collapse

Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: SDK Research  (Read 455 times)

Offline thewarsend

  • Ancillus
  • ***
  • Posts: 208
  • Reputation: +1/-0
  • BOOM! Love Jack :)
SDK Research
« on: May 04, 2021, 12:28:09 am »
It is no secret that unofficial Bloodlines SDK is not working as it should. Compiling maps with water is problematic at best. Entire purpose of this topic is to figure out how to make it work as it was intended.

For the longest time I have been trying to figure out why water doesn't work and how it could be fixed. I have some possible clues I would like to share.

Bloodlines uses BSP version 17 for levels, which should place it around the same ballpark as HL2 Beta. For this reason the unofficial Bloodlines SDK uses a modified source code from the HL2 Beta, which should be more or less compatible, but my investigations to the issue prove this is not the case. It appears Bloodlines has more in common with later versions of Source engine than most of us even considered. Most likely case is, Troika updated their engine source code with updated code from Valve at some point during development. So combining Source engine code from HL2 Beta and Source engine code from 2004 seems to be our best bet.

Some values that can be found in later versions of the source engine can be found in Bloodlines. For example:


Original vs compiled map hex comparison.
--

SDK source code comparison.
--

As you can see, values that can be found in Bloodlines maps that were made by Troika have values that can be found in later versions of the Source engine. Maps compiled with the unofficial Bloodlines SDK lack these values. Same goes for values for lighting and so on, but that one is probably a Vrad issue.



Also, while checking the embedded assets in the compiled maps, I found some issues regarding the material path, which looks to be set incorrectly for whatever reason, (path should be set as "materials/water/" but in the compiled map it was set as "materials\maps\sm1\maps\sm1\water" instead) and file name is always wrong. (it should be "sewer_water.vmt" for example, but in the compiled map it is set as multiple files with similar names instead like "sewer_water_-1612_-111_-5876.vmt" and "sewer_water_-1520_2255_68.vmt".) Game/compiler probably searches for a file and texture named "sewer_water_-1612_-111_-5876.vmt" and "sewer_water_-1520_2255_68.vmt" before giving up. Same goes for dev textures like "dev_waterbeneath2.vmt". There should be only one file named "dev_waterbeneath2.vmt" but instead there are multiple files named such as "dev_waterbeneath2_-1840_-2107_-72.vmt" and "dev_waterbeneath2_-1612_-111_-5876.vmt". Additionally, there is a file named "invisible_water_depth_2393.vmt" in maps compiled with our SDK, but there is no such a thing in maps compiled by Troika. I am just guessing here, but presumably if all texture names related to water is broken, water would be broken as well, right? I couldn't figure out where this texture information is coming from and why it is wrong. I just figured out where this information such as "-1840_-2107_-72" is coming from. For whatever reason water vmt's taking origin information from env_cubemap's and adding them to their filenames, which shouldn't be the case.

I have a lot more to add, but this is it for tonight. I will add to this more I discover. Hopefully someone could use all this information and fix the SDK. I sure can't.
« Last Edit: May 04, 2021, 08:58:15 am by Wesp5 »

Offline Corvin

  • Fledgling
  • *
  • Posts: 12
  • Reputation: +1/-0
Re: SDK Research
« Reply #1 on: Today at 06:10:29 am »
Great work!  :funny:
Is there any info on SDK crashes caused by the lightning sprite? Superannoying.
Not on SDK (or not not?), but a similar problem: has anybody tried to extend BL engine limitations? When I tried to make an SM+pier unified map, at some point a piece of map simply failed to compile, it was absent in game. And reducing polygon count made it compile.

Offline Wesp5

  • Administratrix
  • Antediluvian
  • *****
  • Posts: 7156
  • Reputation: +896/-29
  • Unofficial Patcher
Re: SDK Research
« Reply #2 on: Today at 08:31:14 am »
Is there any info on SDK crashes caused by the lightning sprite? Superannoying.
I don't think it's the lightning sprite only, I have crashes on other levels too, like la_bradbury_2...

Quote
When I tried to make an SM+pier unified map, at some point a piece of map simply failed to compile, it was absent in game. And reducing polygon count made it compile.
This is about what atrblizzard told me when he tried to merge the SM maps for Project Vaulderie.
« Last Edit: Today at 08:34:12 am by Wesp5 »

Offline thewarsend

  • Ancillus
  • ***
  • Posts: 208
  • Reputation: +1/-0
  • BOOM! Love Jack :)
Re: SDK Research
« Reply #3 on: Today at 08:51:54 am »
Great work!  :funny:
Is there any info on SDK crashes caused by the lightning sprite? Superannoying.
Not on SDK (or not not?), but a similar problem: has anybody tried to extend BL engine limitations? When I tried to make an SM+pier unified map, at some point a piece of map simply failed to compile, it was absent in game. And reducing polygon count made it compile.

Thank you!

Since water doesn't work I never tested it fully, but I did try combining SM Hub, SM Pier and SM Beachhouse and compiling, seemingly without any visible issues. I did later add Diner and Junkyard maps as well, but never tried to compile as I know it would have taken ages.


Like I said, I didn't notice any issues, nothing seemed to be missing, but I never did test it fully.


As for other issues regarding crashes, I never looked into it. I have no idea what causes it.

This is about what atrblizzard told me when he tried to merge the SM maps for Project Vaulderie.



There is a limit for sure, but I believe you can't reach that limit just by combining SM Hub and SM Pier. I will need to test it further, but my compiled map seemed fine in game after combining a few maps together.

Offline Wesp5

  • Administratrix
  • Antediluvian
  • *****
  • Posts: 7156
  • Reputation: +896/-29
  • Unofficial Patcher
Re: SDK Research
« Reply #4 on: Today at 01:59:09 pm »
There is a limit for sure, but I believe you can't reach that limit just by combining SM Hub and SM Pier.
As far as I remember he tried merging all SM maps which might have been too much in the end!

Offline thewarsend

  • Ancillus
  • ***
  • Posts: 208
  • Reputation: +1/-0
  • BOOM! Love Jack :)
Re: SDK Research
« Reply #5 on: Today at 02:51:50 pm »
As far as I remember he tried merging all SM maps which might have been too much in the end!


That's exactly what I mean. :)


Merging all SM maps would be way over the limit, but merging essential maps should still be possible, which is what I intend to do.


I will try to test how many of the SM maps we can merge together before issues appear. I am pretty sure exterior maps such as SM Hub, SM Pier, SM Beachhouse and Junkyard maps can be merged without any issues, but I need to test it further.

 

SimplePortal 2.3.7 © 2008-2021, SimplePortal