First post, by Greyhawk
UPDATE - Another installer based bug found in post #2
If using an actual floppy to install multi-disk game(In my case "Tie Fighter"), it can't find the 2nd disk because the search cache is still reporting the 1st disk. I know no way of quickly checking if the media changed, so the solution would be to empty the cache every FindFirst on "-t floppy" mounted drives. This can be done by:
Add the following to near the top of localDrive::FindFirst in drive_local.cpp:
if ( allocation.mediaid==0xF0 ) { EmptyCache(); } […]
if ( allocation.mediaid==0xF0 )
{
EmptyCache();
}
This fixes the installer for the disk version of "Tie Fighter", and possibly many other installers for multi-disk games.
I chose FindFirst because it is the same place the CD code check for changed media.
BTW, mediaid really should be enum'd.