@kas1e You are right. I thought you were talking about the loading during startup. It really cut map loading time, plus now I'm able to get ingame with just 512MB RAM :P Sweet!
This is just like television, only you can see much further.
@tlosm Don't worry, I already ordered an another 512MB module of the same brand, model, etc. Only Rev. 2B5 Pegasos II motherboards work reliably with 2GB RAM, so I'm limited to 1GB, but it will be more than enough.
This is just like television, only you can see much further.
Sometime it happens also in vorbis's ov_read() fucntion , which also want to know Endianes and bring such kind of distortion too.
@kas1e
I've also noticed occasional strange output from that. Does libvorbis on MorphOS do this? First time that I remember anyone else mentioning this issue.
I've also noticed occasional strange output from that. Does libvorbis on MorphOS do this? First time that I remember anyone else mentioning this issue.
Its just sometime coders use vorbisfile's ov_read without worrying about endianes, and then we need to change it manually (but in most cases authors worry about it). Check ov_read itself, parametr 4 is to set big or little endian, so some coders just put there 0 and do not worry about big endianes.
Morphos port of vorbisfile there reacts the same as aos4 one, as its in general no problem of vorbisfile port, but how authors of code to port use it.
I deal with it when port DccNightmare game , even asking of forum about and post a solution as well (there).
You can also use Wazp3D for his debugger Select Enable Debugger Debug Function Debug Var name Debug Var value Debug Error But as WaZp3D got less limitations you should not have all the WaRp3D errors ...so not so usefull
Also disabling HardwareDriver Lie TexFmt Lie may help as WaZp3D will then report errors on his unimplemented features (like say stencil) else will just pretend (lie) that it can do it too Also use renderer: Soft to bitmap because this renderer implement almost all features (not like Compositing2D) It will be slow but not a problem for debugging on a g4
Note that often texture sizes are limited to 256x256 on Amigaish systems (btw this kind of prog should better use compositing to draw a big rectangular background) You can obtain a list of implemented Warp3D features (and texture sizes) for a peculiar Warp3D driver with Aminet/Cow3D debug output
If the glcontext is closed then the following glDeleteTextures() calls are useless as the textures have (should) been freed on VRAM
@thellier The problem here is not the size of the texture, but the way MiniGL handles it. In other implementations' glteximage2d resamples the textures, which are larger than GL_MAX_TEXTURE_SIZE, while MiniGL silently fails to load them. That's why I have to add manual scaling for these textures.
edit: OK, the problem is a little different. MiniGL/Warp3D claims to support 2048x2048 textures, but when the game tries to load the menu background it fails. It looks like I have to hardcode an 1024x1024 texture limit. The driver shouldn't lie about the max supported texture size, this can lead to a lot of confusion.
This is just like television, only you can see much further.
@kas1e There's no need for me to make one, it can be reproduced with any OpenGL program. You just have to replace one of the textures with a 2048x2048 one.
This is just like television, only you can see much further.
@BSZili Even simple and primitive test cases always need it. If i will write in bz "go and try any opengl program and change texture on 2048x2048" it will be too general and devs will not worry about it for years.
Anyway, to what should i add bz ? To minigl or to warp3d ? And what should be done instead : should driver just saying that 2048x2048 its too much and exit with error, or just skip it in silence, or , re-scale it internally to something which can be handled ? And on what call exactly it fail : did it allow to load texture , but can't handle later, or, it just looks like it load (without error) but in reality there is nothing in memory but just an random trash ? How it done on other implementations ?
Some simple test case which just load 2048x2048 texture with point out what is exactly wrong and where and how it should be, will for sure help, so devs can in fast way check it and see that it indeed wrong and not something with code.
I from myself just remember that 2048x2048 textures can be handled by old bvision cards, while for example vodoo3 ones was limited to 512x512. Dunno about those radeons92xx..
@kas1e This is not some obscure hard to reproduce bug. MiniGL advertises to support 2048x2048 textures, but it won't load them. If you want me to make a test case, then it can be arranged. I just googled "opengl textured quad", and this is what come up: http://www.gamedev.net/page/resources ... ping-an-introduction-r947
edit: Again, this is not about the texture size supported by the hardware, but the inconsistency in minigl.
This is just like television, only you can see much further.
I just experimented with the multitex demo in the miniGL archive and I can confirm that things go wrong if you icrease the door texture size to 2048 pixels square, it locks up for this demo rather that failing silent;y.
I added
int size;
glGetIntegerv(GL_MAX_TEXTURE_SIZE,&size);
printf("max text size %ld\n",size);
To the demo and it returns 2048
Textures larger than 1024 are certainly supported by the hardware though as if not compositing wouldn't work with windows > 1024 pixels.
It's warp3d that returns the 2048 value as can be seen in the minigl code here:
case GL_MAX_TEXTURE_SIZE:
*data ++ = FROM_INT(IWarp3D->W3D_Query(context->w3dContext, W3D_Q_MAXTEXWIDTH, 0));
break;
@all New test version: http://www24.zippyshare.com/v/15301278/file.htm It should fix most of the problems mentioned before. Network play, and singleplayer against bots should work. There's one catch though, you can't save/load the game without getting unknown errors. The crashes happen mostly at random delete calls. Anyone knows what causes these type of errors? How could I debug this? And no, it's not causes by the small stack
This is just like television, only you can see much further.
Sounds now works as well as by default optimized textures turned off, cool. But:
-- pressing on "credit" in game menu crash game (with null-pointer access, see "DAR" register), once all data files for credits loads. Stack trace point out on dskCredits():
Dump of context at 0xEFD95BA0
Trap type: DSI exception
Machine State (raw): 0x0200F030
Machine State (verbose): [ExtInt on] [User] [FPU on] [IAT on] [DAT on]
Instruction pointer: 0x7EFDC254
Crashed process: s25client (0x66C7E7E0)
DSI verbose error description: Access not found in hash or BAT (page fault)
Access was a load operation
0: 00000000 63A18D30 DEADBEEF 00000000 00000008 668793F8 FB494000 0004D13B
8: 00000078 63D87888 000D3419 00000000 000F4240 63C93C50 00000000 65E726C0
16: 7F46AD80 00000000 68362420 639CE320 02290000 02290000 00000000 00000001
24: 6FF90000 00000001 59955E99 00000073 7F047768 5E204390 639CE300 63A18D30
CR: 39953E53 XER: E000BE6F CTR: 01C00334 LR: 7EFDC20C
DSISR: 40000000 DAR: 00000000
-- switching from window to full screen in the game's option, open a game on full screen but fully broken: everything "white" with some strange yellow strips, check screenshot:
in debug log of debug's warp3d there is a looot of warnings in loop of that kind:
Quote:
[RebindTextures] Warning: rebinding texture that does not exist
-- if i just run game from shell, and press on exit without loading any maps, then in shell i have:
Quote:
***Command 's25client' returned with unfreed signal 06000000!
@Andy Can you plz create BZ for bug BSZili found ?
Edited by kas1e on 2013/11/28 6:50:30 Edited by kas1e on 2013/11/28 6:51:58
@kas1e The credit crash is a known issue, and I'll fix it soon. I'm more worried about the one when I try to save/load games. I can't fix the other one, it looks like Warp3D/MiniGL and SDL's on-the-fly fullscreen switching don't play nice together. I'll disable that, e.g. you'll have to restart the game to switch to fullscreen.
This is just like television, only you can see much further.