1
0
Fork 0

(svn r24226) [1.2] -Backport from trunk:

- Fix: [Squirrel] Crash when trying to create an array with negative size [FS#5160] (r24153)
- Fix: [NoAI] Do not return the last 'cached' speed of vehicles when they are stopped/crashed [FS#5157] (r24152)
- Fix: [Script] Typo in script documentation (r24151)
- Fix: Glass-sprite of bubble-generator was not drawn anymore for completely constructed tiles [FS#5143] (r24107)
release/1.2
rubidium 2012-05-12 07:22:40 +00:00
parent 7549982f12
commit 4e6310d848
4 changed files with 15 additions and 9 deletions

View File

@ -210,16 +210,22 @@ static SQInteger base_suspend(HSQUIRRELVM v)
static SQInteger base_array(HSQUIRRELVM v)
{
SQArray *a;
SQObject &size = stack_get(v,2);
SQInteger nInitialSize = tointeger(stack_get(v,2));
SQInteger ret = 1;
if (nInitialSize < 0) {
v->Raise_Error(_SC("can't create/resize array with/to size %d"), nInitialSize);
nInitialSize = 0;
ret = -1;
}
if(sq_gettop(v) > 2) {
a = SQArray::Create(_ss(v),0);
a->Resize(tointeger(size),stack_get(v,3));
a->Resize(nInitialSize,stack_get(v,3));
}
else {
a = SQArray::Create(_ss(v),tointeger(size));
a = SQArray::Create(_ss(v),nInitialSize);
}
v->Push(a);
return 1;
return ret;
}
static SQInteger base_type(HSQUIRRELVM v)

View File

@ -254,9 +254,8 @@ static void IndustryDrawBubbleGenerator( const TileInfo *ti)
{
if (IsIndustryCompleted(ti->tile)) {
AddChildSpriteScreen(SPR_IT_BUBBLE_GENERATOR_BUBBLE, PAL_NONE, 5, _industry_anim_offs_bubbles[GetAnimationFrame(ti->tile)]);
} else {
AddChildSpriteScreen(SPR_IT_BUBBLE_GENERATOR_SPRING, PAL_NONE, 3, 67);
}
AddChildSpriteScreen(SPR_IT_BUBBLE_GENERATOR_SPRING, PAL_NONE, 3, 67);
}
static void IndustryDrawToyFactory(const TileInfo *ti)

View File

@ -311,7 +311,8 @@
{
if (!IsValidVehicle(vehicle_id)) return -1;
return ::Vehicle::Get(vehicle_id)->GetDisplaySpeed(); // km-ish/h
const ::Vehicle *v = ::Vehicle::Get(vehicle_id);
return (v->vehstatus & (::VS_STOPPED | ::VS_CRASHED)) == 0 ? v->GetDisplaySpeed() : 0; // km-ish/h
}
/* static */ ScriptVehicle::VehicleState ScriptVehicle::GetState(VehicleID vehicle_id)

View File

@ -213,7 +213,7 @@ public:
/**
* Get the current speed of a vehicle.
* @param vehicle_id The vehicle to get the age of.
* @param vehicle_id The vehicle to get the speed of.
* @pre IsValidVehicle(vehicle_id).
* @return The current speed of the vehicle.
* @note The speed is in OpenTTD's internal speed unit.
@ -232,7 +232,7 @@ public:
/**
* Get the running cost of this vehicle.
* @param vehicle_id The vehicle to get the age of.
* @param vehicle_id The vehicle to get the running cost of.
* @pre IsValidVehicle(vehicle_id).
* @return The running cost of the vehicle per year.
* @note Cost is per year; divide by 365 to get per day.