TheOverfloater / pathos-public

Public release of Pathos Engine
MIT License
40 stars 10 forks source link

does this engine use 100% original code? #15

Closed valina354 closed 6 months ago

valina354 commented 6 months ago

i want to make my own standalone games and like upload on steam and stuff, and i like half-life styled engines because of their level editor and stuff, so does this use 100% original code which would mean possible to do that? not related to this is im wondering what is BSS that shaders use, i wanna make my own custom shaders and im familiar with opengl that it seems to be based on but i have never heard of BSS, hoping for an answer and thanks for making this

valina354 commented 6 months ago

i looked in readme.txt and it says "Valve Software for the code referenced from the Half-Life SDK while developing this project." however half-life sdk doesnt allow anything to be used out of the half-life engine and is one of the main reasons why another project called xash3d isnt legal mostly

TheOverfloater commented 6 months ago

Referenced != copied - I looked at some SDK code to see how they were doing some things, but I did not copy any code from the Half-Life SDK, basically having used Clean room design to recreate the functionality of Half-Life features I depended on with my own game. This means it's 100% original code that behaves mostly the same as some Half-Life code did, but it does not in any way infringe upon the SDK license or copyright.

BSS is explained under the docs folder, it's a proprietary scripting language used to define a single ubershader that is then split into multiple unique shaders along the $if branches. This means that a specific rendering module uses a single BSS ubershader script to compile all it's unique shaders it needs.

valina354 commented 6 months ago

Referenced != copied - I looked at some SDK code to see how they were doing some things, but I did not copy any code from the Half-Life SDK, basically having used Clean room design to recreate the functionality of Half-Life features I depended on with my own game. This means it's 100% original code that behaves mostly the same as some Half-Life code did, but it does not in any way infringe upon the SDK license or copyright.

BSS is explained under the docs folder, it's a proprietary scripting language used to define a single ubershader that is then split into multiple unique shaders along the $if branches. This means that a specific rendering module uses a single BSS ubershader script to compile all it's unique shaders it needs.

ok i understand, guess i will close this as complete

valina354 commented 6 months ago

forgot to ask this but im wondering what about compilers? they seem to be based on vhlt but im guessing the compilers arent written from scratch, wouldnt that cause an issue? or probably not as long as i dont put the compilers in the game

valina354 commented 6 months ago

i also see that some studio stuff (well this header that is in the released code) does use valve stuff, are these temporary till studiomdl is rewritten or something? (at least thats what i saw in readme something related to studiomdl being from sdk) image

TheOverfloater commented 6 months ago

The file in question is still 100% custom code, I just kept the header, as the studiomdl format is not my invention. I kept studiomdl, as it is needed for VHE and Jack. There is no patent on the model format, so it is free to use by anyone. There are no plans to strip it out.

TheOverfloater commented 6 months ago

forgot to ask this but im wondering what about compilers? they seem to be based on vhlt but im guessing the compilers arent written from scratch, wouldnt that cause an issue? or probably not as long as i dont put the compilers in the game

The compilers are VHLT based yes, but as far as I am aware, there's no limiting factor that prevents their use outside of Half-Life, as they sre not part of the HLSDK nor do they contain any original HLSDK code.

valina354 commented 6 months ago

The file in question is still 100% custom code, I just kept the header, as the studiomdl format is not my invention. I kept studiomdl, as it is needed for VHE and Jack. There is no patent on the model format, so it is free to use by anyone. There are no plans to strip it out.

im just a tiny bit worried about this, like i dont understand if it means original code from hl sdk was taken or just that studiomdl format isnt your invention so that was placed there @TheOverfloater image

TheOverfloater commented 6 months ago

@valina354 It means the studiomdl format is not my invention so I don't have any ownership of it. Otherwise no code was taken from the HLSDK. I will clarify this in the file.

valina354 commented 6 months ago

@TheOverfloater image image image image

qrad.cpp,qcsg.cpp,qbsp.cpp,vis.cpp mentions being based on valve original code due to being based on vhlt which probably doesnt matter much as long as they arent provided with final game but still its probably worrying

TheOverfloater commented 6 months ago

VHLT is separate from the Pathos repository, which was partly done to avoid any issues due to copyright or licenses, in case some Valve/Id Software code did remain. There's currently no plans to write my own level compilers for Pathos, so they just won't be distributed with the game itself.

valina354 commented 6 months ago

VHLT is separate from the Pathos repository, which was partly done to avoid any issues due to copyright or licenses, in case some Valve/Id Software code did remain. There's currently no plans to write my own level compilers for Pathos, so they just won't be distributed with the game itself.

i have been doing some investigation into the compilers and comparing functions and as of now i have found a bunch of valve/idtech code so the compilers should stay seperate from pathos repo as it is now