It doesn't grab that much initially. It creeps up during usage. Caras says it is likely a memory leak and he will fix it. I just wonder if that may be the cause of other peoples issues?
I did get a few crashes that the GR caught and was able to generate a stack trace. They were in glDeleteBuffers(). I assume I passed in a value that wasn't a valid buffer, but after much looking can't see how.
I did get a few crashes that the GR caught and was able to generate a stack trace. They were in glDeleteBuffers(). I assume I passed in a value that wasn't a valid buffer, but after much looking can't see how.
...
I took a quick look at the spot in the W3DN_SI driver listed in the stack trace, and it looks very much like an attempt to destroy a buffer that doesn't exist (so a stale/corrupt pointer). It's crashing at a FreeVecPooled() call, and there's actually a NULL pointer check in there. This suggests that the VBO in question has been freed and the memory reused before an attempt is made to free it again. Either that, or something's trashing memory and managed to corrupt that pointer.
@salass00 Quote:
Have you reported these findings to Hans de Ruiter who is the developer of Warp3D Nova?
It might be a bug in the W3DN_SI driver or Warp3D Nova itself or the ogles2 wrapper.
I certainly want people to report potential bugs. However, please make an effort to figure out if it's your own code, the GLES2 wrapper or Warp3D Nova first. I don't have time to be the "general graphics bug tracker."
The reason I'm saying this is because I've been sent far too many invalid bug reports in the past, and ended up debugging other people's code.** "It works on Linux/Windows" is not enough. When I was working on MiniGL I saw code that had uninitialised variable and/or array overrun bugs. They only worked on Linux/Windows because those OSes zero all memory before allocation. AmigaOS doesn't, and so is less forgiving for such bugs.
Likewise, AmigaOS does not have automatic stack extension, so we can still get data corruption caused by stack overflows. That can be checked fairly easily by allocating a ridiculously large stack before starting the game/app in question (start from a shell window, and use the stack command). If that solves the problem, then a stack cookie is needed.
Thanks to Daniel I can now use OGLES2. I've tried the latest Amicraft. and tried it, I do got a system lockup (while mining) and had to do a case button reboot. but when I started the game again I could not move. I was underground and had to dig out all the blocks again. I cleared a large space around me but trying to move in any direction fails, I can repeatly hit w and I move forward and backward a little (just the run stretching effect). I assume I'm stuck inside a block which isn't rendered. I can email the game files if you need them.
I'm using creative mode. is there a way to die and respawn so I can get out of the mancave I'm building?
Edit:
Tried again, got asnother lockup while underground and on restart I'm trapped inside a block again. can remove all the blocks around me but not the one I'm in.
Edited by Severin on 2016/10/11 17:42:27
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester
You could use a hex editor (I just tried this with FileX) to set your health to zero. Open the 'gamedata' file in the save directory, find the 17th last group of 32 bits (from the end) and set them all to zero. Take note of where you died and you should be able to get your stuff back. There is also a bug after respawning where the chunks wont be visible until you move around a bit, but it's still safe to move.
Or send me the file if you want and I'll edit it.
I'll re-enable flying mode in creative in the next version.
is it possible in future to add some ways to "mod" the graphics? Yesterday i tried to replace some textures and i found out that in the raw files the tiles are only 22x22 pixels, not much space to make some reworks. It would nice if a system where available where users can put its own artwork into the game, maybe make an alternative drawer with single textures instead of the tiled texture.
Minecraft also lives from such a modding community, would be cool if some AmiCraft users could do some stuff in Arteffect and upload it to os4depot ;)
That worked. in this grab you can see the stone block my 'head' was stuck in:
Amicraft locks up regularly for me unless I play for a dew minutes, exit, restart play another few minutes etc.
The lockups are really annoying when for example I'd found coal, set up a furnace and was creating stone, locked up, restarted and the furnace, coal, cobbles and stone were all gone.
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester
The region files contain the actual world when it has been altered from the procedural generation algorithm. These are only saved when needed so they could all have different date stamps.
Also saving the game shouldn't be able to lock up the whole system (could crash though). But you could test this by pressing escape to go the the main menu a few time. The game is saved every time you do this so that could confirm if it is a bug on save.
Being stuck in the block was caused by the game crashing before that chunk was saved. You destroyed the block, occupied its space, the game crashed but your new position had been saved and the chunk hadn't. The chunk appeared invisible because of back face culling (3D system doesn't render faces that aren't supposed to be visible).
In Minecraft you would suffocate and die if glitched in a block, I should implement that.
Also, always check the log.txt file, it could contain a clue to the crash.