- edited description
Make it work with 3.0
Hi. 3.0 is going to be official on Feb 16th, 2016 and the app does not support 3.0 save format.
I've forked the repo and can commit some code. Please let me know if you are available to provide support on this task.
Thanks.
Comments (22)
-
reporter -
repo owner Yeah I'll be getting back into the project fairly soon, I'm just waiting on a new laptop as my current one is no longer fit for development. I always welcome contributions to the project. I can provide some limited support by answering questions if I have time.
-
reporter Would be great. I've pushed a test for a 2.0 and 3.0 files and a refactored DeserializerTest to test all 3 save files, I thought it would be the best place to start.
-
reporter sorry I continue to post without finish editing :) Here it is: https://bitbucket.org/ildella/eternity-keeper/commits/all
-
reporter I guess that:
assertEquals(17, count);
is dependant on specific file so should be a parameter for the test.
-
reporter Yes, now only 3.0 fails.
-
repo owner No need for separate 2.x and 3.x tests and saves, just update the current save to 3.0. The editor doesn't need to support older format saved games.
-
reporter done, there are also some slight changes for the difference between my save and yours (player name, timestamp etc...). Now there are 3 tests broken on my fork. Should I make a pull request from here?
-
repo owner I won't accept pull requests with broken tests. The test you're modifying is really just a smoke test to make sure the very basic deserialisation process works. I would suggest trying to keep the save file as simple as possible, i.e. start a new 3.0 game and then immediately save it and use that.
-
reporter I am diggint inside the serialization. I have added a few fields on StatusEffect and StatusEffectParam to make the test green. Now I have a series of errors like:
SharpSerializer 257 ERROR Unable to set field 'AbilitiesGrantedToTarget' of class 'StatusEffect' and value 'Property [name=, type=null, parent=null, obj=null]': Can not set boolean field uk.me.mantas.eternity.game.StatusEffect.AbilitiesGrantedToTarget to null value
Do not really have a strategy with this kind of error, maybe you have some tip.
If you want you can check the code in my fork, please note I've re-factored it a little to remove some nested duplication and make the createObject flow more explicit.
-
repo owner I don't really have time to do an in-depth code review right now but that error suggests that boolean is not the correct type for the AbilitiesGrantedToTarget field. I usually have to decompile the game's source code to find the correct types for these.
-
reporter that's a start, I also have a few more ideas now (after lunch ;) )
-
reporter -
repo owner Well the serializer test will be specific to your save file like the deserializer test was. That deserializer warning suggests that some extra enum values have been added to the ModifiedStat enum. Will need to check the game source for that again.
-
reporter mmmm, that goes beyond my abilities now :)
If you are willing to receive more help, I am available but I'll need some clarification when you will have time.
-
Is there any updated since?
-
I'm also hopeful for more updates. Beat the game already on PoTD, would love to just play around with creating new and interesting saves. I'd help, but I'm an entrylevel C++ programmer, so..
-
repo owner My laptop arrived yesterday so I am actively working on the update now. You can expect it to drop soon.
-
You deserve a thousand accolades, glad to hear things are going your way!
-
Glad to see the updates! Are these automatically updated on the main page? I can't seem to get the downloaded source code working on my own.
-
repo owner Any changes to the repository here are just development work. If you're able to build the source then it should work with PoE version 3.0 saves now. Otherwise you'll need to wait a little while for me to do a proper release. The main limiting factor for releases is just my upload speed...
-
repo owner - changed status to resolved
Should now work with the majority of 3.0 games.
- Log in to comment