--- a/src/ai/api/ai_company.cpp Sun Apr 06 12:26:40 2008 +0000
+++ b/src/ai/api/ai_company.cpp Sun Apr 06 14:12:19 2008 +0000
@@ -24,10 +24,7 @@
/* static */ bool AICompany::SetCompanyName(const char *name)
{
- if (::StrEmpty(name)) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, !::StrEmpty(name));
_cmd_text = name;
return AIObject::DoCommand(0, 0, 0, CMD_CHANGE_COMPANY_NAME);
@@ -48,10 +45,7 @@
/* static */ bool AICompany::SetPresidentName(const char *name)
{
- if (::StrEmpty(name)) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, !::StrEmpty(name));
_cmd_text = name;
return AIObject::DoCommand(0, 0, 0, CMD_CHANGE_PRESIDENT_NAME);
@@ -106,13 +100,10 @@
/* static */ bool AICompany::SetLoanAmount(int32 loan)
{
- if (loan < 0 ||
- (loan % GetLoanInterval()) != 0 ||
- loan > GetMaxLoanAmount() ||
- (loan - GetLoanAmount() + GetBankBalance(MY_COMPANY)) < 0) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, loan >= 0);
+ EnforcePrecondition(false, (loan % GetLoanInterval()) == 0);
+ EnforcePrecondition(false, loan <= GetMaxLoanAmount());
+ EnforcePrecondition(false, (loan - GetLoanAmount() + GetBankBalance(MY_COMPANY)) >= 0);
if (loan == GetLoanAmount()) return true;
@@ -123,18 +114,12 @@
/* static */ bool AICompany::SetMinimumLoanAmount(int32 loan)
{
- if (loan < 0) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, loan >= 0);
int32 over_interval = loan % GetLoanInterval();
if (over_interval != 0) loan += GetLoanInterval() - over_interval;
- if (loan > GetMaxLoanAmount()) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, loan <= GetMaxLoanAmount());
SetLoanAmount(loan);
@@ -143,10 +128,7 @@
/* static */ bool AICompany::BuildCompanyHQ(TileIndex tile)
{
- if (!::IsValidTile(tile)) {
- AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
- return false;
- }
+ EnforcePrecondition(false, ::IsValidTile(tile));
return AIObject::DoCommand(tile, 0, 0, CMD_BUILD_COMPANY_HQ);
}