Fix room count mismatch

This commit is contained in:
elasota
2021-03-08 21:58:34 -05:00
parent f2cda23b0f
commit 7f4d782c0d
2 changed files with 3 additions and 3 deletions

View File

@@ -117,7 +117,7 @@ Boolean CreateNewHouse (void)
theSpec.m_name[0] = static_cast<uint8_t>(savePathLength);
memcpy(theSpec.m_name + 1, savePath, savePathLength);
// Don't try to overwrite the current house - The GPF will probably be locked anyway
// Don't try to overwrite the current house
if (houseCFile && theSpec.m_dir == houseCFile->GetDirectory() && !StrCmp::CompareCaseInsensitive(theSpec.m_name, houseCFile->GetFileName()))
{
CheckFileError(PLErrors::kFileIsBusy, theSpec.m_name);
@@ -173,7 +173,7 @@ Boolean InitializeEmptyHouse (void)
if (thisHouse != nil)
thisHouse.Dispose();
thisHouse = NewHandle(sizeof(houseType)).StaticCast<houseType>();
thisHouse = NewHandle(sizeof(houseType) - sizeof(roomType)).StaticCast<houseType>();
if (thisHouse == nil)
{

View File

@@ -616,7 +616,7 @@ void ValidateNumberOfRooms (void)
reportsRooms = (long)(*thisHouse)->nRooms;
countedRooms = (GetHandleSize(thisHouse.StaticCast<void>()) -
sizeof(houseType)) / sizeof(roomType);
sizeof(houseType)) / sizeof(roomType) + 1;
if (reportsRooms != countedRooms)
{
(*thisHouse)->nRooms = (short)countedRooms;