Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MISC] Remove/hide nonfunctional skybox_swapper entity #336

Open
vrad-exe opened this issue Dec 17, 2024 · 6 comments
Open

[MISC] Remove/hide nonfunctional skybox_swapper entity #336

vrad-exe opened this issue Dec 17, 2024 · 6 comments
Labels
Enhancement New feature or request

Comments

@vrad-exe
Copy link

Is your feature request related to a problem? Please describe.

I just spent hours setting up a complex logic setup involving switching between multiple skyboxes only to discover the entity doesn't work. Having an entity that is added by Mapbase but is actually completely nonfunctional is confusing.

Describe the solution you'd like

Since the entity doesn't reasonably seem to be fixable without engine changes, it should just be removed or at least hidden from the FGD so people don't try using it.

Describe alternatives you've considered

At the very least the entity's FGD description should be modified to state that it doesn't work. Very few people seem to read that though so it doesn't really solve the problem.

@vrad-exe vrad-exe added the Enhancement New feature or request label Dec 17, 2024
@Nbc66
Copy link

Nbc66 commented Feb 6, 2025

could you describe your current setup of the entity remember that even if you wanted to do it through Vscript, the skybox texture needs to be preached to be able to be used

@Nbc66
Copy link

Nbc66 commented Feb 6, 2025

ignore this it does require an engine patch someone needs to hook bool R_LoadNamedSkys(const char* skyname) from the engine.dll to make the function be accessible from the client and server in any case it will require signature scanning the engine.dll for this function then being able to call it with that sig

@vrad-exe
Copy link
Author

vrad-exe commented Feb 6, 2025

The other solution would be to entirely reimplement sky rendering in the client DLL. For my mod, I ended up just copying the engine sky rendering code into the client directly, but that won't work for mapbase since it requires leaked code. The code isn't super complex though so someone else could probably do a clean room reimplementation.

@Nbc66
Copy link

Nbc66 commented Feb 6, 2025

i made a pull request to fix this if you want to check it out its located here #382

@Blixibon
Copy link
Member

Blixibon commented Feb 7, 2025

I will hide skybox_swapper from the FGD in the next Mapbase update. Perhaps we can find another workaround for this in the future.

@vrad-exe
Copy link
Author

vrad-exe commented Feb 7, 2025

As I said in my last comment, rendering the skybox entirely through client code (instead of letting the engine do it) is possible, and allows modifying the behavior so sv_skyname can be changed on the fly. Someone would just need to rewrite that code without using the leaked version, which I don't think would be too hard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants