REMINDER: Fix Build Bots, Port big chunks of dcEDGE backend
- Notes to self, as I'm sure I'm the only one left developing EDGE at this point
-
Address Git Build Failures; need to update all of the auto build stuff.
-
Update MSVC environment and address initial dev environment setup, move to automation and vcPKG exclusively. Will port Powershell setup scripts to Powershell Core for cross-platform utilization.
-
Port all of the major refactoring of RGL render enhancements, GL, type-formatting, P_MapUtl enhancements, and BSP traversal rewrites from dreamEDGE repo to mainline. Recently spent almost two weeks methodically rewriting core functions and added intelligent walking, caching, lookups, and very fast R_PointTo* functions.
-
Move upwards to modern OpenGL 3+ only and drop legacy support entirely (on all platforms except SH-2/GLdc for dreamEDGE), remove all immediate mode support from rest of platforms. Will merge the code from dreamEDGE repo as I based that rewritten renderer on EDGE core code - paving the way to merge both dreamEDGE and EDGE together.
-
Update PhysFS, file/WAD/EPK handling and sorting from dreamEDGE repo. Major EPK fixes and file format specification. I am aware Edge-Classic uses our EPK format as well now but I am not sure if they changed their standard from our established model here. ** Will need to weigh format changes/differences for cross-compatibility between the ports is desired.
-
Port completed and fixed Splitscreen (2-Player) code from dreamEDGE, including input handling and reworked controller code.
-
Port optimized and completed r_lerp (interpolation) code from dreamEDGE repo.
-
Port optimized math refactor functions from dreamEDGE repo.
-
Port major COAL rewrite from dreamEDGE repo.
-
Update codebase with new code branch I've been working on for EDGE that will come later.
Is Rise of the Triad support still planned or are plans for it dropped?
To address the attribution concerns, this is a list of things currently in our codebase that originated from this fork, and the individual contributor to the best of my knowledge:
Corbachu
- FALLING_SOUND for player when falling long distances (a la Hexen)
- SECRET_SOUND/DSSECRET support
- Fix for detail slopes under extrafloors not using their slope
- TuttiFrutti effect fix for walls whose texture was shorter than the wall itself
- XGL3 node loading (adapted from 2.x's LoadZNodes routine, updated to handle ZGL3 nodes as well via miniz)
ChillyWillyGuru
- DJNE DDF weapon action for more robust reload animations
- Fix for black screen after end game finale
usernameAK
- Simplified R_PointToAngle (basis, now updated to break out usage of atan2 vs. faster approximate atan2)
There are some items (like MD3 support) where I went back to the original old132 branch and thus I believe the "EDGE Team" attribution is still appropriate.
The intent of having an overarching "The EDGE Team" attribution was that much of our common code has its roots in the original EDGE project and newer code could flow in both directions between forks with less friction. If you have a preferred means of attribution, or have identified any portions of code that I have missed, let me know and we can get our stuff updated.
Regarding topics like EPK implementation or other port differences, that's probably too long for a GH issue, but you're always welcome at our Discord if you'd like to hash it out.
Notes to self, as I'm sure I'm the only one left developing EDGE at this point
Address Git Build Failures; need to update all of the auto build stuff.
Update MSVC environment and address initial dev environment setup, move to automation and vcPKG exclusively. Will port Powershell setup scripts to Powershell Core for cross-platform utilization.
Port all of the major refactoring of RGL render enhancements, GL, type-formatting, P_MapUtl enhancements, and BSP traversal rewrites from dreamEDGE repo to mainline. Recently spent almost two weeks methodically rewriting core functions and added intelligent walking, caching, lookups, and very fast R_PointTo* functions.
Move upwards to modern OpenGL 3+ only and drop legacy support entirely (on all platforms except SH-2/GLdc for dreamEDGE), remove all immediate mode support from rest of platforms. Will merge the code from dreamEDGE repo as I based that rewritten renderer on EDGE core code - paving the way to merge both dreamEDGE and EDGE together.
Update PhysFS, file/WAD/EPK handling and sorting from dreamEDGE repo. Major EPK fixes and file format specification. I am aware "Edge Classic" uses our EPK format as well now but I am not sure if they changed their standard from our established model here. ** Will need to weigh if any desire for cross-compatibility between the ports is desired. I've noticed large parts of reworked EDGE core code there, but missing attributions. . This is something I hope to discuss with them sometime later.
Port completed and fixed Splitscreen (2-Player) code from dreamEDGE, including input handling and reworked controller code.
Port optimized and completed r_lerp (interpolation) code from dreamEDGE repo.
Port optimized math refactor functions from dreamEDGE repo.
Port major COAL rewrite from dreamEDGE repo.
Update codebase with new code branch I've been working on for EDGE that will come later.
The development of edge was frozen for a whilr.
The intent of having an overarching "The EDGE Team" attribution was that much of our common code has its roots in the original EDGE project and newer code could flow in both directions between forks with less friction. If you have a preferred means of attribution, or have identified any portions of code that I have missed, let me know and we can get our stuff updated.
@dashodanger That actually sounds totally OK as-is. I was looking at it from the previous perspective of it not being referred to as EDGE (when others referred to it as 3DGE years back when there was mild friction) - as long as everyone uses the canonical name EDGE to refer to this port, we’re good, and I do apologize about that! The only thing I ask is that the year be updated to whenever it was last worked on here if even applicable - nothing else is needed as I completely agree the directional flow is the best idea! No need to complicate things. :)
Regarding topics like EPK implementation or other port differences, that's probably too long for a GH issue, but you're always welcome at our Discord if you'd like to hash it out.
I’ll eventually get back into our Discord and I’m totally OK with that as well. Some parity is always a good thing in case we need shims here for the format differences, if any. I’ll be adding / merging the Dreamcast-specific code into this repo over the next week or so, and updating the build process / docs as needed; if possible anything you can see that could be streamlined as-is regarding simple fixes to the build systems would be great as well.
Is Rise of the Triad support still planned or are plans for it dropped?
Eventually yes. First thing for me is to finish dreamEDGE and then begin porting all of that over to EDGE and make sure things are stable with the new changes to core code.