@maxicek That's a good question. Basically I used to use ATMA and GoMule before but I really much preferred just relying on the game itself when doing things, and it's just less external dependencies I would need to have. At the moment I just need to install D2, get Singling since everything that is FAM and other fixes are already consolidated, version switcher, and glide. To further encapsulate this, I made the complete collection so that actually already has [All D2 versions from 1.00 - 1.14d for both Classic/Expansion if Available, Version Switcher, Singling, Glide]. With that being created, it's much faster for someone to get started to play. Obviously BVS (switcher) has to be an external application so there is no way around that since we need to be able to switch core game files with the appropriate ones, and Glide.. well that also needs to be external so that the game can start up from the beginning with 3dfx rendering. But for any other tasks that could be done with the regular Diablo 2 game (Muling via LAN, or using -seed), I would much prefer to just use the game itself.
I've thought about adding support to GoMule for pre 1.10 since ATMA is antiquated and I've done a good amount of research on the character formats for 1.10 (Version 96), 1.09 (Version 92), 1.08, (Version 89), 1.07 (Version 87), and 1.00-1.06 (Version 71). There are not many resources on things before 1.09 so it's difficult to implement. Even for my Alpaca character information dumper, 1.00-1.09 only have partial character dumping support. So it would take significant reverse engineering of the character file format structure to produce. I know ATMA has 1.07-1.09 support, not sure if it supports 1.00-1.06, but it may well definitely do.
But ultimately after my journey with looking at PlugY code, GoMule code, I decided that in order for people to be more independent and be closer to what Blizzard created, and also to be able to migrate to a new version faster, modifications to the game should be minimized, and the less dependencies we create for ourselves the better. If 1.15 comes out, I can say with confidence that I can implement any missing features that Blizzard didn't include in the new version, to that version (Like if Blizzard doesn't fix CPU problem, I can fix it again in that new version). However with something like GoMule or PlugY.. if blizzard changed the character format a lot, GoMule would completely break, and it would take significant time to understand the new character file format given that Blizzard doesn't disclose any of it. And as for PlugY.. I mean we already see what happened with 1.14. 1.14 and 1.13 aren't really different, they actually use the same exact patch file. The only difference is that Blizzard merged all of their libraries together into 1 big Game.exe file in order to break all of the existing bots and stuff. I'm kinda happy they did that haha. It makes my Singling work easier since I don't have to look at like 19+ dlls now . But the point is that PlugY is stuck in 1.13 and since I spent a month rewriting core parts of PlugY into my PlugY fork (Which I don't even use anymore but it was a good technical learning experience), it would take a lot of work to find all of the places needed for PlugY to be updated. And also if people aren't using my re-architected fork, they would need to re-architect plugy first in whatever way they see fit so that instead of having 19+ dlls, they only have 1 Game.exe that they make all of their changes in. It's a nightmare. So at the moment, anyone who is using PlugY, is guaranteed to be in a max version of 1.13.
Thanks for the question, I hope I answered it well and if you have any other questions, let me know!
I've thought about adding support to GoMule for pre 1.10 since ATMA is antiquated and I've done a good amount of research on the character formats for 1.10 (Version 96), 1.09 (Version 92), 1.08, (Version 89), 1.07 (Version 87), and 1.00-1.06 (Version 71). There are not many resources on things before 1.09 so it's difficult to implement. Even for my Alpaca character information dumper, 1.00-1.09 only have partial character dumping support. So it would take significant reverse engineering of the character file format structure to produce. I know ATMA has 1.07-1.09 support, not sure if it supports 1.00-1.06, but it may well definitely do.
But ultimately after my journey with looking at PlugY code, GoMule code, I decided that in order for people to be more independent and be closer to what Blizzard created, and also to be able to migrate to a new version faster, modifications to the game should be minimized, and the less dependencies we create for ourselves the better. If 1.15 comes out, I can say with confidence that I can implement any missing features that Blizzard didn't include in the new version, to that version (Like if Blizzard doesn't fix CPU problem, I can fix it again in that new version). However with something like GoMule or PlugY.. if blizzard changed the character format a lot, GoMule would completely break, and it would take significant time to understand the new character file format given that Blizzard doesn't disclose any of it. And as for PlugY.. I mean we already see what happened with 1.14. 1.14 and 1.13 aren't really different, they actually use the same exact patch file. The only difference is that Blizzard merged all of their libraries together into 1 big Game.exe file in order to break all of the existing bots and stuff. I'm kinda happy they did that haha. It makes my Singling work easier since I don't have to look at like 19+ dlls now . But the point is that PlugY is stuck in 1.13 and since I spent a month rewriting core parts of PlugY into my PlugY fork (Which I don't even use anymore but it was a good technical learning experience), it would take a lot of work to find all of the places needed for PlugY to be updated. And also if people aren't using my re-architected fork, they would need to re-architect plugy first in whatever way they see fit so that instead of having 19+ dlls, they only have 1 Game.exe that they make all of their changes in. It's a nightmare. So at the moment, anyone who is using PlugY, is guaranteed to be in a max version of 1.13.
Thanks for the question, I hope I answered it well and if you have any other questions, let me know!
Last edited: