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
Camera API (revival) #14325
base: master
Are you sure you want to change the base?
Camera API (revival) #14325
Conversation
I think this is a pretty important feature to have, but I'm not sure "reusing" kilbith's code is fine licensing-wise (and even if it were, it might be problematic ethically). On the license side, we have headers for some files, so those should be fine. For all changes beyond that, I don't know. I don't see a reason to assume we'd be allowed to use them (one could argue try that at the point of redistributing those files, they need to have been licensed under a LGPLv2.1-compatible license to comply with copyleft, but that's a bit of a stretch).
Technically / conceptually, a "camera API" should be clear client Lua API ((SS)CSM) territory (this is also currently the case: the client has a camera object; the server does not - it can only tweak a few parameters such as camera offset), so I'm not sure this (server-centric) PR is the best approach. |
I merged all changes of kilbith and x2048 into the only commit since the original branch doesn't exist anymore and I assume once the PR is merged the commit history will be squashed into the one though, so it doesn't make sense to worry about the history. I also don't think the order of commit authors also has a large importance. The main thing is it is attributed to the correct people.
I think the API should be a bit server-oriented since there are such things as attaching textures for cameras and adding them in the node/entity defs. It is impossible to register nodes/entities and any other things client-side. Also it is necessary for attaching to objects because the objects are not accessible also through CSM except the local player itself. The task for server in this PR is saving maps of the cameras IDs and their params structures and reading them from/sending to clients. Saving camera parameters on the server is necessary e.g. to get them on the request from some mod ( |
Co-authored-by: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com> Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
…serving for new cameras
…e in set_camera()
… rtt name in set_camera()" This reverts commit 4ce0693.
…d as with ID=1 anymore
Revival of #13052. The PR also contains a few my fixes and improvements.
To do
This PR is a Work in Progress.
Probably something still...
How to test
Test
cameras
mod fromdevtest
game.