rjwut / ArtClientLib

NOTE: This library is being superseded by IAN: https://github.com/rjwut/ian
14 stars 3 forks source link

Update packet protocol to support 2.2.0 #48

Closed IvanSanchez closed 9 years ago

IvanSanchez commented 9 years ago

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.

rjwut commented 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.

IvanSanchez commented 9 years ago

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

rjwut commented 9 years ago

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.

rjwut commented 9 years ago

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.

rjwut commented 9 years ago

Changing this issue to skip version 2.1.5 (which was a test version anyway) and go straight to 2.2.0.

rjwut commented 9 years ago

At this point, I believe the ArtClientLib v2.6.0 branch handles all the new features from Artemis v.2.1.5 onwards. Yay!