tchegito / zildo

The Land of Alembrume
GNU Lesser General Public License v3.0
4 stars 1 forks source link

[2.55] ArrayIndexOutOfBoundsEXception #168

Open tchegito opened 5 years ago

tchegito commented 5 years ago

Happened 11/11/2018

version=v2.55
map=chateaucoucou2 (64x38)
sprites=[Perso=Zildo
Coords:(399.99673, 474.60583 0.0)
info=ZILDO
mvt=VIDE pv=2 weapon=[SWORD,0] name=JESTIN lasthit=null, 399.99673, 484.60583 (97 - bank 0), 691.0, 540.0 (83 - bank 0), 691.0, 540.0 (SHADOW), 377.22162, 376.70148 (103 - bank 0), 
520.0, 460.0 (STATUE), Entity id=115
x=268.0
y=240.0
nSpr=167
visible=true, Entity id=116
x=613.0
y=240.0
nSpr=167
visible=true, Entity id=117
x=368.0
y=136.0
nSpr=166
visible=true, Entity id=118
x=512.0
y=136.0
nSpr=166
visible=true, Entity id=119
x=468.0
y=424.0
nSpr=172
visible=true, Entity id=120
x=72.0
y=589.0
nSpr=170
visible=true, Entity id=121
x=88.0
y=589.0
nSpr=170
visible=true, Entity id=122
x=336.0
y=512.0
nSpr=166
visible=true, Perso=gard2
Coords:(490.0, 272.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1, 0.0, 0.0 (80 - bank 0), Perso=king
Coords:(399.0, 209.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1, 0.0, 0.0 (80 - bank 0), Perso=maltus
Coords:(409.0, 271.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1, 0.0, 0.0 (80 - bank 0), scepter
388.0, 222.0 (SCEPTER)]
persos=[Perso=Zildo
Coords:(399.99673, 474.60583 0.0)
info=ZILDO
mvt=VIDE pv=2 weapon=[SWORD,0] name=JESTIN lasthit=null, Perso=gard2
Coords:(490.0, 272.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1, Perso=king
Coords:(399.0, 209.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1, Perso=maltus
Coords:(409.0, 271.0 0.0)
info=NEUTRAL
mvt=VIDE pv=1]
variables={nettleCount=-1, Carlo=[[MOON, 1], 800, 1], allowedDynamite=yes, Dizzie=[[DYNAMITE, 1], 15, 20], BilelIgorVillage=[[EMPTY_BAG, 1], 100, 2], [[BLUEDROP, 1], 15, -1], [[DYNAMITE, 1], 100, 2]}
scripts=0 scripts running {[}
quests=[flut_ask, flut, chateau_ask, enlevebuissons, enlevebuissons_win, fermierperdu_ask, gardelaitier, gardelaitier_win, ritou_bar, enlevement, hector_1, start_defi1, stop_defi1, start_visit1, voyante, prisonext(40, 40)]
lastdialog=Lugdunia Castle
�Hector�: Just choose it from your inventory by pressing item in upper-left corner. Then, you just have to press Y button to use it. It can cut bushes too.
�Hector�: Well done JESTIN! With this Sword, you can now defeat enemies!
�Hector�: Come on JESTIN, you can do it!
�Hector�: But be careful! I've complicated things: some obstacles will slow you down!
�Hector�: At the bottom of that ledge, you'll find a chest. It holds a reward for you, if you can reach it.
�Hector�: Do you see the ledge along the water?
�Hector�: Since you're interested in the art of fighting, you'll be glad to see what I've prepared for you!
�Hector�: JESTIN! You came at the perfect time!
�King Trion�: As long as you don't carry a decent weapon, I can't let you go. Come back when you are properly equipped.
�JESTIN�: Unfortunately no, your Highness. But I do know the art of fighting!
�King Trion�: Do you have a weapon, young JESTIN?
�King Trion�: As long as you don't carry a decent weapon, I can't let you go. Come back when you are properly equipped.
�JESTIN�: Unfortunately no, your Highness. But I do know the art of fighting!
�King Trion�: Do you have a weapon, young JESTIN?
�King Trion�: I need a fearless young man willing to go to Polaky and bring back information.
�King Trion�: Ah Maltus, don't be so cowardly! But I will listen to you: first of all, we'll send someone to scout there.
�Maltus�: It could be a trap, my King!
�King Trion�: I don't understand! I have never heard of anything like this! Nevertheless, we absolutely need to find her!
�JESTIN�: He just said he was from Polaky and left with her.
�King Trion�: But where did that black guard come from? Where did he take her?
java.lang.ArrayIndexOutOfBoundsException: length=512; index=998
    at zildo.fwk.collection.IdGenerator.remove(IdGenerator.java:60)
    at zildo.fwk.db.Identified.remove(Identified.java:137)
    at zildo.monde.sprites.SpriteStore.deleteSprite(SpriteStore.java:187)
    at zildo.client.gui.GUISpriteSequence.clear(GUISpriteSequence.java:109)
    at zildo.client.gui.GUIDisplay.clearSequences(GUIDisplay.java:1208)
    at zildo.client.gui.GUIDisplay.draw(GUIDisplay.java:289)
    at zildo.client.ClientEngineZildo.renderFrame(ClientEngineZildo.java:220)
    at zildo.platform.opengl.AndroidOpenGLGestion.render(AndroidOpenGLGestion.java:406)
    at zildo.client.Client.render(Client.java:273)
    at zildo.client.Client.mainLoop(Client.java:233)
    at com.alembrum.OpenGLRenderer.onDrawFrame(OpenGLRenderer.java:116)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1557)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1268)
tchegito commented 5 years ago

That exception means we have an entity with ID=998 inside guiSpriteSequence. But every entity inserted into that list has an ID valued with -1. Plus, the only ID authorized beyond 512 is in SpriteModel identifying generator. So basically, that should be quite impossible ! Maybe that's again an effect of game restore after phone has been in sleep mode.

Not reproduced yet.