First post, by Silanda
Due to its pornographic aspects, this is a fighting game that I was loathe to ask about, but the problem I've encountered intrigues me. I've found a remedy but I do not understand why the problem exists in the first place, and I haven't seen anything else like it.
In short: the character, effect, and some background graphics have their colours screwed up. I haven't been able to test on Windows 9x due to lack of access to a retro system and Win 98 installs on Dosbox-X or VMWare not working with this game. The problem manifests on Windows 8.1 and 8.1 using DXGL, Windows XP Pro in VMWare, and Ubuntu using Wine. Neither DxWnd or dgVoodoo 2 work with it (DxWnd crashes, the game complains about being unable to create a sprite buffer when using dgVoodoo and is missing most of the graphics).
Now, a little explanation as to why I find the problem intriguing: The graphics that suffer the corruption are pallettised bitmaps using external palette files. Each palette file contains groups of 16 palette entries, each entry being made up of three 8-bit values (i.e. each entry is a 24-bit RGB value). It's kind of explained here: http://jeff.sandwich.net/vgctutorial/vgctut.html
Now let's say that each entry is numbered 1-16, the reason the colours appear to be corrupt is that where, for example, entry 1 should be used, the game is reading entry 2. This carries on for every entry, and when entry 16 should be read, it reads entry 1. From that it should be obvious how I fixed the game: I edited the palette files and shifted each entry right by one place, wrapping the last entry round to being the first.
My solution is a little inelegant though, and this brings me to my plea for help: why could this be happening, and could there be any potential workaround? I am of course assuming the game worked properly on Win 9X back in the day, but unfortunately my ability to follow code in IDA Pro is too limited to figure out what the program is doing. FWIW, this was tested using an original CD imported from Japan, so the problem is not a corrupt downloaded version. My installation method was a little hacky due to needing a alternative for the 16-bit installer, but I don't see any reason why that would have any impact anyway.