Closed IvanSanchez closed 9 years ago
Sorry for responding so slowly; life has been busy recently. I'll look into this.
Does Glitter support earlier versions or only the latest? I've been debating whether to try to do that or not with ArtClientLib.
Glitter supports latest only. My point of view is that updates to Artemis are free and there should be no reason to not update the game client.
The inclusion of a new entity type for updates shifts all other entity type IDs, which were hard-coded somewhere, so supporting 2.1.5 and pre-2.1.5 would have been too much work for me.
On a related note, I started to rewrite the entire packet parsing mechanism to be more human-friendly, see https://github.com/IvanSanchez/artemis-glitter/blob/redo/lib/packet-defs.js
I think I agree with your philosophy regarding backwards compatibility. If you can update for free, why wouldn't you? As for the next paid upgrade (whenever Artemis 3 happens), I think my approach will be to clean up as much as I can on the exiting code base, make a final release for Artemis 2, and then break backwards compatibility for subsequent releases. I can then point people who want Artemis 2 support to that release, but not have to make any updates for it.
I think I want to square away this release first before I start the Artemis 2.1.5 update, so I'm going to push this to a later milestone, probably the next one.
Changing this issue to skip version 2.1.5 (which was a test version anyway) and go straight to 2.2.0.
At this point, I believe the ArtClientLib v2.6.0 branch handles all the new features from Artemis v.2.1.5 onwards. Yay!
The packet protocol has changed quite a bit in Artemis 2.1.5. The most notable difference is the ship upgrades. These are now entity type 4, so all entities have their types incremented in 1.
Please see https://github.com/IvanSanchez/artemis-glitter/pull/22/files for my personal list of changes. Be warned that I haven't throughoutly tested Glitter with these changes.