![Image 1 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/e4frsgakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=c794a394ae1c2f0f308ecd9bd07ee637ca86c6f8)
![Image 2 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/1tsirqakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=eb54bf9a7c89c1cf0d2229e3ccc1fa0bd8942837)
![Image 3 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/om41zjakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=d03bf31b1656f34f03bec3bbbdaac9158b26614e)
![Image 4 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/fzhtshakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=e3d5304e368c719679392c832cc432464e833fdc)
![Image 5 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/irr3coakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=44d03ee4f27e32f80a4cac7fe2589c6f613b414c)
![Image 6 — [WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!](https://preview.redd.it/8rsaxhakqx0h1.jpg?width=4032&format=pjpg&auto=webp&s=084a69cc00800ef674a8a31a21fa6bff863ffdcc)
[WIP] OpenMoHAA on PS Vita Fat — walls are rendering now!!!
Medal of Honor: Allied Assault running on PS Vita Fat. After weeks of debugging, the BSP world finally renders clean.
The bug
For weeks, brush faces would shoot broken triangles into the sky — basically unplayable. The Q3-style SF_FACE surface path just doesn't play well with vitaGL.
The fix
Routing those surfaces through SF_TRIANGLES at BSP load time. Walls, floors, ceilings — all clean now.
> Bonus: MP3 playback also works. libmad from vdpm was built with -fshort-enums, breaking the ABI. Rebuilt from source — audio came alive. All 2630 retail audio files from Disc 1+2 load fine.
What works
- m1l1 (Algerian intro mission) playable end-to-end
- All BSP geometry renders correctly
- NPCs animate, shooting, save/load
- Full retail audio: MP3 music, WAV SFX, RoQ cutscenes
What's not there yet
- Performance — ~5-15 FPS in dense outdoor scenes (locked at 30 cap). Bottleneck is GPU draw-call throughput. Next step is surface batching, which is a renderer rewrite.
- No crosshair / reticle — 2D UI stripped for perf (intentional)
- Truck headlight cones render as solid triangles instead of glowy beams (cosmetic)
Vita Fat compatible. Source → https://github.com/HenryKun55/openmohaa/tree/vita-port
First photo is the OLD broken vertex shot — look at that triangle reaching into the sky. The rest is current state running on my Fat.