I posted this elsewhere, but thought I'd copy it here as well.
I've just managed to get "Battle for Naboo" working, perfectly, on a machine running XP SP3 (32-bit).
I posted this elsewhere, but thought I'd post it here as well, in case the other thread isn't being followed. I've spent way too much time tonight working this issue to just let my find slide, after all!
I've spent the past several hours digging into this, and have found the real source of the problem...
AND a solution which works perfectly for me!
Mind you, this is not me doing my own coding, just doing "forensics" work.
The game "Battle for Naboo" "requires 3D acceleration," but it's really looking for a 3DFX video card. Failing to find that, it defaults to Direct3D, but to a version of Direct3D which is no longer available or supported.
Also, the sound calls used are from an older version of DirectSound, so you'll need to convert to the newer API.
Sound is easy... run the application in Windows 98 compatibility mode (you can try other modes as well, if you wish). I'm not sure which "fix" in that set is the key one for getting sound to work, but I do plan to pare down the list of fixes eventually.
Video is also easy... by "piggybacking" on the work of others. Go out and do a web search for an application called "dgVoodoo." This is what you'll use to fix the program.
What is dgVoodoo? Basically, it's a "wrapper" which pretends to be the old 3DFX "GLide" API but really just re-routes these calls to Direct3D. Fortunately, it is far more "compatible" (meaning no cheats or optimizations) than the crappy programming used in this program.
SO... the program will think it's writing GLide video calls, which will be intercepted by this and transformed into Direct3D video calls (properly formatted and structured).
There are two EXE files in "Battle for Naboo." BOTH require this emulation. So, you'll be putting a copy of dgVoodoo in the same folder as each of the two "Battle for Naboo" executables. (The first one is the menu executable, but it DOES access some video, which will cause issues, if you don't provide this as well.)
I did those two things... "compatibility mode" to fix sound, dgVoodoo to fix video, and VOILA! "Battle for Naboo" is working FLAWLESSLY on my system.
FYI, my system is an i7-based system on an Asus motherboard based on the Intel X58 chipset. My video card is an nVidia Geforce GTX295 (which is two 280 cards on a single board... so it's essentially "SLI" on a single card). My sound card is an HTOmega Claro+, which is more than sufficient for any gaming purposes, I've found, and is an audiophile-level music player. I'm running Windows XP SP3 (32-bit). I also dual-boot into XP-64 for "work."
I can't promise that this will work perfectly for Win7... but for XP, it is now running flawlessly, and I was just about to abandon my efforts. Now I don't have to. And, hopefully, neither will you guys!
EDIT: By the way, I tried setting the "launcher" applet to Win98 compatibility mode as well, but that caused issues. Basically, the program keeps calling itself from itself, if run from that mode. So ONLY set the BFN.exe file to Win98 compatibility mode, not the "battlefornaboo.exe" file (which is the one which is causing my problem right now).