Greetings ascemu-community,
I have a few questions regarding your plans to support several game versions with one branch, maybe this could be used as a thread for advantages and disadvantages of the different approaches how one could tackle this problem.
It seems like your goal is to have one codebase which works for Classic, TBC, Wotlk, and Cata depending on which flags you use to compile the sources.
Doesn't this overcomplicate a lot of things instead of making it easier to work with the code? Maybe I got the wrong idea but it seems like you want to do the following tasks:
-Split up the handling of the different DBCs
-Split up stat calculation, spells, scripts etc.
I have questions regarding how you seem to handle this:
Sometimes this projects uses giant #ifndef clauses to split up code, doesn't this just make the code way bigger and convoluted than it needs to be? Other times different systems seem to use just two different source files depending on which wow version is used. What is your final goal? Split them up in different files or have them all in one?
Another question I have regarding this is, how do you want to handle spells and scripts for instances/raids in this system?
Depending on which client versions the differences can be rather big. Whole raids changed, spells where completly changed. Does it really make sense to put them into one system instead of one system for every game version?
Eg: One Cataclysm Spellsystem, one for wotlk...
Not here to critizice, I just want to understand your design decisions and understand the bigger picture you want to achieve
What's the reasoning behind not just using different branches like every other emulator out there?
Best regards,
dhmann
I have a few questions regarding your plans to support several game versions with one branch, maybe this could be used as a thread for advantages and disadvantages of the different approaches how one could tackle this problem.
It seems like your goal is to have one codebase which works for Classic, TBC, Wotlk, and Cata depending on which flags you use to compile the sources.
Doesn't this overcomplicate a lot of things instead of making it easier to work with the code? Maybe I got the wrong idea but it seems like you want to do the following tasks:
-Split up the handling of the different DBCs
-Split up stat calculation, spells, scripts etc.
I have questions regarding how you seem to handle this:
Sometimes this projects uses giant #ifndef clauses to split up code, doesn't this just make the code way bigger and convoluted than it needs to be? Other times different systems seem to use just two different source files depending on which wow version is used. What is your final goal? Split them up in different files or have them all in one?
Another question I have regarding this is, how do you want to handle spells and scripts for instances/raids in this system?
Depending on which client versions the differences can be rather big. Whole raids changed, spells where completly changed. Does it really make sense to put them into one system instead of one system for every game version?
Eg: One Cataclysm Spellsystem, one for wotlk...
Not here to critizice, I just want to understand your design decisions and understand the bigger picture you want to achieve

Best regards,
dhmann