diff --git a/Mod Data/CCDATA/DEFAULT.CFEPATCH.INI b/Mod Data/CCDATA/DEFAULT.CFEPATCH.INI index 8656c432a..6c291fea1 100644 --- a/Mod Data/CCDATA/DEFAULT.CFEPATCH.INI +++ b/Mod Data/CCDATA/DEFAULT.CFEPATCH.INI @@ -13,3 +13,4 @@ QUEUE_JUMP_CUTOFF=3 TIB_GROWTH_SCALE=1 WALL_BUILD_LENGTH=5 BUILDING_GAP_OFFSET=0 +WALLS_HAVE_FULL_COST=1 diff --git a/TIBERIANDAWN/BUILDING.CPP b/TIBERIANDAWN/BUILDING.CPP index 9bb672d58..f3ffacca0 100644 --- a/TIBERIANDAWN/BUILDING.CPP +++ b/TIBERIANDAWN/BUILDING.CPP @@ -966,9 +966,20 @@ bool BuildingClass::Unlimbo_Wall(COORDINATE coord) { adjcell = Adjacent_Cell(adjcell, dir); + //FluffyQuack 14/06/2020: If WallsAlwaysHaveFullCost is true then we charge the player for each extra piece. Abort with "insufficient funds" if player can't afford it + if (ActiveCFEPatchConfig.WallsAlwaysHaveFullCost && House->Available_Money() < Class->Cost_Of()) + { + Speak(VOX_NO_CASH); + break; + } + //If we fail to create the overlay here, abort this direction and move on if (!Create_Overlay_At(oclass, adjcell)) break; + + //Pay the cost of this extra wall + if (ActiveCFEPatchConfig.WallsAlwaysHaveFullCost) + House->Spend_Money(Class->Cost_Of()); } } } diff --git a/TIBERIANDAWN/CFEUTIL.CPP b/TIBERIANDAWN/CFEUTIL.CPP index 47e1097ee..ffcfa8b72 100644 --- a/TIBERIANDAWN/CFEUTIL.CPP +++ b/TIBERIANDAWN/CFEUTIL.CPP @@ -53,12 +53,13 @@ void Populate_CFE_Patch_Config_From_INI(const INIClass& ini) GetSetting(ActiveCFEPatchConfig.EnableRepairQueue , "FEATURES", "REPAIR_QUEUE"); GetSetting(ActiveCFEPatchConfig.EnableHarvySelfRepair , "FEATURES", "HARVY_SELF_REPAIR"); GetSetting(ActiveCFEPatchConfig.DisableCommandoAirstrikes , "FEATURES", "DISABLE_COMMANDO_AIRSTRIKES"); - + //Settings GetSetting(ActiveCFEPatchConfig.BuildingGap , "SETTINGS", "BUILDING_GAP"); GetSetting(ActiveCFEPatchConfig.HarvyQueueJumpCutoff , "SETTINGS", "QUEUE_JUMP_CUTOFF"); GetSetting(ActiveCFEPatchConfig.TibGrowthScale , "SETTINGS", "TIB_GROWTH_SCALE"); GetSetting(ActiveCFEPatchConfig.WallBuildLength , "SETTINGS", "WALL_BUILD_LENGTH"); + GetSetting(ActiveCFEPatchConfig.WallsAlwaysHaveFullCost , "SETTINGS", "WALLS_HAVE_FULL_COST"); //Clamp Wall Length between 1 (build at all) and 10 (buffer limits) ActiveCFEPatchConfig.WallBuildLength = (std::max)(1, (std::min)(ActiveCFEPatchConfig.WallBuildLength, 10)); diff --git a/TIBERIANDAWN/EXTERNS.H b/TIBERIANDAWN/EXTERNS.H index 2b0fad0d0..8856becf2 100644 --- a/TIBERIANDAWN/EXTERNS.H +++ b/TIBERIANDAWN/EXTERNS.H @@ -89,6 +89,7 @@ struct CFEPatchConfig int HarvyQueueJumpCutoff = 3; int TibGrowthScale = 1; int WallBuildLength = 5; + bool WallsAlwaysHaveFullCost = true; }; extern CFEPatchConfig ActiveCFEPatchConfig; diff --git a/TIBERIANDAWN/HOUSE.CPP b/TIBERIANDAWN/HOUSE.CPP index 29ce4ae0a..f306dea20 100644 --- a/TIBERIANDAWN/HOUSE.CPP +++ b/TIBERIANDAWN/HOUSE.CPP @@ -4734,7 +4734,8 @@ void HouseClass::Sell_Wall(CELL cell) } //Disable wall refunds if the player has a wall build length > 1 - if (!IsHuman || ActiveCFEPatchConfig.WallBuildLength <= 1) + //FluffyQuack 14/06/2020: Always allow refunds if walls have full cost + if (!IsHuman || ActiveCFEPatchConfig.WallBuildLength <= 1 || ActiveCFEPatchConfig.WallsAlwaysHaveFullCost) Refund_Money(btype->Cost_Of() / 2); Map[cell].Overlay = OVERLAY_NONE; diff --git a/TiberianDawn/TiberianDawn.vcxproj.filters b/TiberianDawn/TiberianDawn.vcxproj.filters deleted file mode 100644 index 4199e32a5..000000000 --- a/TiberianDawn/TiberianDawn.vcxproj.filters +++ /dev/null @@ -1,1238 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - * - - - {8f4fa00c-59af-42a6-824b-61fde12b0c64} - - - {7bd10c3e-67f3-4051-a861-06db6191bb48} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Resources - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - Source Files - - - Source Files\Win32Lib - - - Source Files - - - Source Files - - - - Source Files - - - - - - - Source Files\Win32Lib - - - Source Files - - - Source Files - - - Source Files - - - Source Files\Win32Lib - - - Source Files\Win32Lib - - - - - Source Files\Resources - - - \ No newline at end of file