Closed SSNTails closed 5 months ago
Ideally you'd split the newly added stuff into a separate source code file with its own license, otherwise the code might be attributed with the Doom Source Code License, which I guess we don't want
Cool feature though!
OK, thanks. Have you considered making a CONTRIB file so those wishing to contribute know how you want pull requests done?
WRT license, this was originally from a very old version of Doom Legacy, which was also under the Doom Source License, before iD Software gave the option to 'upgrade' to the GPL. I then personally rewrote it for a GPL project, but as the original author I have authority to relicense as I wish, and I am fine with the Doom Source License.
Regardless, I will see about reworking this PR to split things out to separate files. What license would it be under, then?
Have you considered upgrading to the GPL, though? You may get more contributions that way. That being said, the Boom source code was originally released under the Doom Source License as well, and I'm interested in adding a subset of Boom-compatible features in the future.
Alright, I put everything into a separate file. I worked on this using the v3.1 tag, and copied the code over to 'master' and verified compiling, but I haven't been able to build a master-compatible WAD yet, so I hope this works. 😊 If it doesn't, whatever error remains should be a very light lift (probably a missing function prototype, etc.).
What license would it be under, then?
MIT
Have you considered upgrading to the GPL, though? You may get more contributions that way. That being said, the Boom source code was originally released under the Doom Source License as well, and I'm interested in adding a subset of Boom-compatible features in the future.
I can't simply switch to a different icense. Jaguar Doom source code was released by Songbird Productions under DSCL and despite sharing a common ancestor with the GPL-licensed Linux port of Doom, it can not be voluntarily "upgraded" to GPL, at least not without getting all contributing parties and id/Bethesda/Zenimax/Microsoft lawyers involved.
Okay, I'm fine with MIT. Looking back on this code, I had to rewrite all of it anyway since the way Jaguar Doom handles collisions (TryMove, SlideMove, CheckPosition, etc) is very different from stock Doom.
I'm also fine with the DSCL. You are welcome to choose.
What is the purpose of this feature anyway? It's not like I am ever going to need it for Doom..
It's just something fairly unique (nobody remembers Doom Legacy) and different, and makes folks go, 'hey, that's cool' when the game boots up, in exchange for very little additional memory pressure. You can even cut the memory use down farther if you eliminate the camera2 variable for the splitscreen player, and remove the unused angle_t 'aiming' variable (next I was going to add look up/down).
If you don't feel it's right for the project, I won't feel bad if you reject it. I just like to try and give back where I can.
This pull request adds a chasecam during demo playback. It can be disabled/enabled with the USECAMERA preprocessor macro. It's also possible to enable it during regular play by removing the USECAMERAFORDEMOS preprocessor macro.
https://github.com/viciious/d32xr/assets/159929665/56703cd3-b1b0-4c59-b4cb-ad1684a14051