@MaxED: I know it's a pain, but the best bet is to submit a separate GitHub pull request for each change. It's going to be difficult for me to merge those changes in when all the changes are in a combined patch, since some of them conflict with my own changes or requirements, e.g:
1- This needs to be a toggle-able option, and needs to be implemented in all renderers (I have a requirement that all renderers must look the same).
8- This actually seems to be undoing a fix that I have just made in the unreleased build, since many people reported it as a bug.
Plus issues with testing as well, and many of them change defined behaviour and will need to be made into toggle settings. I can deal with adding toggle settings (if you don't want to) as long as each change is in a separate pull request so I can review the changes on an individual basis.
Since you don't seem to be familiar with Git, here's a quick tutorial (let me know if more info is needed):
1. Create a GitHub account, fork the Sledge repo (this copies it to your account)
2. Download
SourceTree and log into your GitHub account in the "view > hosted repositories" window, after that double click the Sledge repo to check it out
3. Click "Branch" and give it an appropriate name
4. Apply your changes, commit, and push your branch (in that order)
5. In GitHub, create a pull request to merge your branch into sledge master
6. Repeat steps 3-5 for each change
GitHub creates a discussion thread for each pull request, so if I find issues with a particular change I can comment on it from there and we can discuss possible solutions. GitHub has primitive support for SVN but I'm not sure how it deals with branches since they have very different branching models. You can try it, but SourceTree makes it pretty easy to deal with Git.
As I said, I know it's annoying, but it really helps me out a lot when reviewing the code changes - especially to have each individual change in a separate pull request so I can see which code changes are relevant to which features.
As for Quake support: yes please! I have absolutely no experience with Quake 1/2 so I cannot add Quake support myself (without significant investment in learning the engines), but if you have the knowledge of how the Quake mapping process differs from Goldsource, we could probably implement it!
The first step would be to create an issue on GitHub that details what all the differences between the engines and mapping process are. Specifically, stuff like:
- Is mapping/supporting Quake 1 different to Quake 2? How different?
- File formats: Models, textures, FGD, packages (WAD, PAK), game folder structures, different install types (is a Steam install different to a disc install), how mods work, and so on
- Compile process: Same as Goldsource? What compile flags are available? Are there updated compile tools, like VHLT? Where do files get copied after compiling finishes? What flags are required to run the game?
- Map format: Does the Quake MAP format have any differences from the GS MAP format?
- Entities: How does Quake specify entities? FGDs? Hard-coded?
- Different map objects: GS has four basic objects: Solid, Group, World, and Entity. Which map objects does Quake use?
- Any other possible differences!
After that we can discuss the challenges with supporting the Quake engine and how to go about implementing them. I don't think it'll be a huge deal to get the app to support a second engine: I'd need to make those changes when I add Source support, anyway. The difficult part would be creating model/texture loaders for the file formats, and there are plenty of open source projects who have already done that for Quake 1/2 formats, so it should be pretty manageable. Unfortunately HLLib does not work with Quake formats (that I know of), so a package loader for Quake formats in .NET will have to be found, or written from scratch.
@Jeff: The reason is that the feature hasn't been implemented yet >_>
It's on the todo list, though!