It's in my plans.qbism wrote:Could try ditching MGL for one of the MGL-less drivers posted by mh.
However, I'm quite uninspired at the moment, and got other stuff to take care of besides this engine, so it should be a while before I work on it again. Also, being unable to figure out why the engine is crashing is quite demotivating. I'm not really good as a coder.
I'm almost certain there's at least one memory leak in the console input code, maybe some more in the rest of the console code, and maybe some more in the rest of the input code. Ditching controller/gamepad support could probably make things a bit simpler to maintain, and my code for supporting multiple controllers is kinda crappy anyway.
The startdemos code may also have a memory leak somewhere. It's just not behaving properly, at least in the Dreamcast.
I'm not sure if the Draw_Fill calls that are used to clear the screen are responsible for the crash that happens when switching to fullscreen, but I do remember that when the video mode changes, some variables are only updated in the next frame, and this may cause problems like not enough memory being allocated for some buffers. I never fully understood how the whole video mode changing code works in the Windows version, and the DC version doesn't support changing the video mode on the fly anyway.
The drawing functions for "fence textures" on BSP models are there, but the engine doesn't actually support them yet because using them for everything would generate too much overdraw, so I've gotta devise a way to only use them for drawing spans whose texture cache contains transparent pixels, including in submodels.
There are many things to fix in the TGA loading code for skyboxes.
I'd like to remove all (or at least most of) the x86 ASM code from the MDL model code. This would make it easier to expand or remove its limitations, as well as making the code easier to maintain, and the x86 ASM code is incompatible with some new features I' like to implement in it in the future.
Many parts of the 2D drawing code still are really crappy and unfinished, specially the crosshair. Also, some legacy 2D drawing functions should be removed, but I haven't yet checked to see if they're still being called by anything.
Well, the list goes on. But at least the BSP translucency support is pretty solid, and the particle drawing code is pretty much flawless. There's also a number of other good pieces of code in it, and I'm glad to have been able to get them out.