Comments (14)
What?!
Yes, please provide the game save!
Super weird!
from unciv.
Had to pull this file out with total commander since it won't load. The other saves seem to be fine.
Note I updated from 4.12.0.0 - pretty certain.
Details
from unciv.
Ugh accidentally touched close comment.
Anyway including the previous save. That will give something to compare to.
from unciv.
@SomeTroglodyte
LastSeenImprovement.readOldFormat is getting a jsonData with real data, but jsonData.get("entries")
is null
Putting a breakpoint on LastSeenImprovement.kt:46 and loading the save gets you to the interesting info
from unciv.
Having a class: com.unciv.json.HashMapVector2
part at all without the entries
is somehow a contradiction. The old code would write both, and the new shouldn't be able to, as that class path is still a class, but a subclass of the data it writes, not a super...
So a patch might be adding && jsonData.has("entries")
to the if
on line 31, but I'd rather find out how that unwanted class
got in there.
from unciv.
No, can't repro that - I can load turn 338, nextTurn it, and get a turn 339 save that's perfectly fine without the obsolete-class marker. So - do we know the Java runtime that did this or any such details?
from unciv.
In the update period, only sprites changed, no json. history
from unciv.
only sprites changed
Didn't think a mod json change could in any way influence that serialization... But a weird Java classloader might. So which one is it? Android version & manufacturer?
(it's the writeObjectStart(actualType, knownType);
call in Gdx Json.java line 508 that decides whether that class annotation is needed - and it shouldn't be, but maybe the java.lang.Object::getClass call a few lines above was weird? The knownType at this point is com.unciv.json.LastSeenImprovement, but maybe getClass failed to produce the correct actualType?)
from unciv.
@hackedpassword I wasn't clear enough - I'm asking which exact platform was the code running when it last saved - the save that was successful but then couldn't be loaded. Android version, mainly major version but maybe also OS manufacturer?
We'll need to know if that can repro on any other platform, beginning with an Android AVD of the same level. Sounds like it cannot. or we would be hearing massively about nobody being able to load their saves??? So far the analysis says it's not specific to your mod!
from unciv.
Running android 12, galaxy s10, ATT model, kernel 4.14.190
Everything stock on this phone nothing fancy no hax/rooting etc.
The save did not cross platforms.
Let me know if there's anything missing.
from unciv.
Sounds good, the one AVD I kept should be enough - but probably not today.
Curious why there's not a lotta more noise, seems only you. Otherwise, that snippet up there ("patch might be adding && jsonData.has("entries") to the if on line 31") would be simple and "can't hurt 'xept perf" and definitely cure your one glitch...
from unciv.
Nope, an API 32 (Android 12L) AVD does not reproduce. Neither with a small vanilla test game nor your Turn 338 then next-turn. Writes without class marker as intended. 🤷
from unciv.
Could be a one-off, perhaps a unique artifact inclusive of your recent save size reduction and solar activity. Since no one else is reporting, I'd say neutrino decay bursts have subsided.
Haven't seen the issue reproduce here either since, all load/save actions seem normal.
btw what did the faulty save produce as a wrong version/build value out of curiosity?
from unciv.
wrong version/build value
None at all, that's just the message it defaults to when an unexpected exception occurs during deserialization
from unciv.
Related Issues (20)
- crashing HOT 2
- My unit does not gain experience when attacking in no-one's land HOT 3
- Gold per turn and resources duplication after retracting trade offers HOT 6
- Cannot copy save game via in-game button HOT 6
- Happened twice HOT 1
- Crash when ending turn HOT 1
- Sprites of unique units don't change with style. HOT 4
- <costs [amount] [stockpiledResource]> just turns Resources value to negative 'amount' HOT 2
- <after [amount] turns> seems to only apply to Global turns HOT 5
- Crash on attempting next turn HOT 1
- Feature request: Reactivate Thai
- Feature request: Missing civilizations from the “Brave New World” expansion. HOT 4
- lateinit property civ has not been initialized HOT 1
- Crash when founding a religion HOT 1
- SOLVED: crash with "lateinit property civ has not been initialized" HOT 1
- Dev RFC: MapUnit and automated - doc and roadmap? HOT 2
- promotion will gives buff to All units when having <for [amount] turns>. HOT 1
- Outdated Mods HOT 1
- Crash after the city was founded HOT 2
- Modding Feature request: Adding "[Amount] Strength" As a alternative unique to "[RelativeAmount] Strength" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unciv.