I changed the particles, debris and needle rendering to occur in one large batch, which helped performance during battle sequences.
The debris changes ( from when you shoot a wall, causing visible damage ) made it so that I could no longer draw the debris chunks with the actual texture, at the actual spot the bullet hit. This was most useful on multi-colored walls or floors, where there was a painted and stone area on the same texture.
Today I made a routine to go through all of the materials, and render a little 3x3 swatch using point sprites to a 256x256 atlas texture. In the next few days I'll update the code so that the debris uses this swatch for the material color, rather than an artist-specified color in the material definition.
The main character and the android can now walk and fire simultaneously, and the other characters should be fixed soon when they are re-exported with separate animations.
I improved the fog culling, and saved an pass through the entities when shadowing from the sunlight.
Yesterday I fixed the laser sight so it moves smoother, and adjusted the higgs pistol so it's more fun to shoot.
Looks like the attachment system will need a few more tweaks to make the attachments actual game entities, rather than just .x meshes.
Also looks like we're CPU bound due to Cal3d, so we may end up moving the animation to the GPU in the next couple of days.
Still need to fix the material system to be more flexible, and work with the sounds better...