Fix various formatting and spelling issues
This commit is contained in:
@@ -192,7 +192,7 @@ static bool VehicleSetNextDepartureTime(Ticks *previous_departure, Ticks *waitin
|
||||
|
||||
static void ScheduledDispatchDepartureLocalFix(DepartureList *departure_list)
|
||||
{
|
||||
/* Seperate departure by each shared order group */
|
||||
/* Separate departure by each shared order group */
|
||||
btree::btree_map<uint32_t, std::vector<Departure*>> separated_departure;
|
||||
for (Departure* departure : *departure_list) {
|
||||
separated_departure[departure->vehicle->orders->index].push_back(departure);
|
||||
|
@@ -252,7 +252,7 @@ GroundVehicleAcceleration GroundVehicle<T, Type>::GetAcceleration()
|
||||
* This yields a number x on a 0-1 scale, but shifted 16 bits to the left.
|
||||
* We then calculate 64 + 128x, clamped to 0-255, but still shifted 16 bits to the left.
|
||||
* Then we apply a correction for multiengine trains, and in the end we shift it 16 bits to the right to get a 0-255 number.
|
||||
* @note A seperate correction for multiheaded engines is done in CheckVehicleBreakdown. We can't do that here because it would affect the whole consist.
|
||||
* @note A separate correction for multiheaded engines is done in CheckVehicleBreakdown. We can't do that here because it would affect the whole consist.
|
||||
*/
|
||||
uint64_t breakdown_factor = (uint64_t)abs(resistance) * (uint64_t)(this->cur_speed << 16);
|
||||
breakdown_factor /= (std::max(force, (int64_t)100) * this->gcache.cached_max_track_speed);
|
||||
|
@@ -1017,7 +1017,7 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int
|
||||
|
||||
SetDParam(1, order->GetConditionSkipToOrder() + 1);
|
||||
const OrderConditionVariable ocv = order->GetConditionVariable();
|
||||
/* handle some non-ordinary cases seperately */
|
||||
/* handle some non-ordinary cases separately */
|
||||
if (ocv == OCV_UNCONDITIONALLY) {
|
||||
SetDParam(0, STR_ORDER_CONDITIONAL_UNCONDITIONAL);
|
||||
} else if (ocv == OCV_PERCENT) {
|
||||
|
@@ -1123,7 +1123,7 @@ static void ShipController(Ship *v)
|
||||
|
||||
/* Ship is back on the bridge head, we need to consume its path
|
||||
* cache entry here as we didn't have to choose a ship track. */
|
||||
if (!v->cached_path.empty()) v->cached_path.pop_front();
|
||||
if (!v->cached_path.empty()) v->cached_path.pop_front();
|
||||
}
|
||||
|
||||
/* update image of ship, as well as delta XY */
|
||||
|
@@ -280,7 +280,7 @@ struct SlxiSubChunkInfo {
|
||||
const char *name; ///< feature name, this *IS* saved, so must be globally unique
|
||||
SlxiSubChunkSaveProc *save_proc; ///< save procedure of the sub chunk, this may be nullptr in which case no extra chunk data is saved
|
||||
SlxiSubChunkLoadProc *load_proc; ///< load procedure of the sub chunk, this may be nullptr in which case the extra chunk data must be missing or of 0 length
|
||||
const char *chunk_list; ///< this is a list of chunks that this feature uses, which should be written to the savegame, this must be a comma-seperated list of 4-character IDs, with no spaces, or nullptr
|
||||
const char *chunk_list; ///< this is a list of chunks that this feature uses, which should be written to the savegame, this must be a comma-separated list of 4-character IDs, with no spaces, or nullptr
|
||||
};
|
||||
|
||||
void SlXvResetState();
|
||||
|
@@ -109,10 +109,10 @@ void ClearTraceRestrictMapping() {
|
||||
* Elif/orif/else may modify the stack top
|
||||
*/
|
||||
enum TraceRestrictCondStackFlags {
|
||||
TRCSF_DONE_IF = 1<<0, ///< The if/elif/else is "done", future elif/else branches will not be executed
|
||||
TRCSF_SEEN_ELSE = 1<<1, ///< An else branch has been seen already, error if another is seen afterwards
|
||||
TRCSF_ACTIVE = 1<<2, ///< The condition is currently active
|
||||
TRCSF_PARENT_INACTIVE = 1<<3, ///< The parent condition is not active, thus this condition is also not active
|
||||
TRCSF_DONE_IF = 1 << 0, ///< The if/elif/else is "done", future elif/else branches will not be executed
|
||||
TRCSF_SEEN_ELSE = 1 << 1, ///< An else branch has been seen already, error if another is seen afterwards
|
||||
TRCSF_ACTIVE = 1 << 2, ///< The condition is currently active
|
||||
TRCSF_PARENT_INACTIVE = 1 << 3, ///< The parent condition is not active, thus this condition is also not active
|
||||
};
|
||||
DECLARE_ENUM_AS_BIT_SET(TraceRestrictCondStackFlags)
|
||||
|
||||
@@ -124,7 +124,7 @@ static void HandleCondition(std::vector<TraceRestrictCondStackFlags> &condstack,
|
||||
if (condflags & TRCF_OR) {
|
||||
assert(!condstack.empty());
|
||||
if (condstack.back() & TRCSF_ACTIVE) {
|
||||
// leave TRCSF_ACTIVE set
|
||||
/* Leave TRCSF_ACTIVE set */
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@ static void HandleCondition(std::vector<TraceRestrictCondStackFlags> &condstack,
|
||||
}
|
||||
} else {
|
||||
if (!condstack.empty() && !(condstack.back() & TRCSF_ACTIVE)) {
|
||||
//this is a 'nested if', the 'parent if' is not active
|
||||
/* This is a 'nested if', the 'parent if' is not active */
|
||||
condstack.push_back(TRCSF_PARENT_INACTIVE);
|
||||
return;
|
||||
}
|
||||
@@ -202,7 +202,7 @@ static bool TestOrderCondition(const Order *order, TraceRestrictItem item)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (order) {
|
||||
if (order != nullptr) {
|
||||
DestinationID condvalue = GetTraceRestrictValue(item);
|
||||
switch (static_cast<TraceRestrictOrderCondAuxField>(GetTraceRestrictAuxField(item))) {
|
||||
case TROCAF_STATION:
|
||||
@@ -242,7 +242,7 @@ static bool TestStationCondition(StationID station, TraceRestrictItem item)
|
||||
*/
|
||||
void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInput &input, TraceRestrictProgramResult& out) const
|
||||
{
|
||||
/* static to avoid needing to re-alloc/resize on each execution */
|
||||
/* Static to avoid needing to re-alloc/resize on each execution */
|
||||
static std::vector<TraceRestrictCondStackFlags> condstack;
|
||||
condstack.clear();
|
||||
|
||||
@@ -264,12 +264,12 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
if (type == TRIT_COND_ENDIF) {
|
||||
assert(!condstack.empty());
|
||||
if (condflags & TRCF_ELSE) {
|
||||
// else
|
||||
/* Else */
|
||||
assert(!(condstack.back() & TRCSF_SEEN_ELSE));
|
||||
HandleCondition(condstack, condflags, true);
|
||||
condstack.back() |= TRCSF_SEEN_ELSE;
|
||||
} else {
|
||||
// end if
|
||||
/* End if */
|
||||
condstack.pop_back();
|
||||
}
|
||||
} else {
|
||||
@@ -357,7 +357,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
}
|
||||
|
||||
case TRIT_COND_PBS_ENTRY_SIGNAL: {
|
||||
// TRIT_COND_PBS_ENTRY_SIGNAL value type uses the next slot
|
||||
/* TRIT_COND_PBS_ENTRY_SIGNAL value type uses the next slot */
|
||||
i++;
|
||||
TraceRestrictPBSEntrySignalAuxField mode = static_cast<TraceRestrictPBSEntrySignalAuxField>(GetTraceRestrictAuxField(item));
|
||||
assert(mode == TRPESAF_VEH_POS || mode == TRPESAF_RES_END || mode == TRPESAF_RES_END_TILE);
|
||||
@@ -388,17 +388,17 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
}
|
||||
|
||||
case TRIT_COND_SLOT_OCCUPANCY: {
|
||||
// TRIT_COND_SLOT_OCCUPANCY value type uses the next slot
|
||||
/* TRIT_COND_SLOT_OCCUPANCY value type uses the next slot */
|
||||
i++;
|
||||
uint32_t value = this->items[i];
|
||||
const TraceRestrictSlot *slot = TraceRestrictSlot::GetIfValid(GetTraceRestrictValue(item));
|
||||
switch (static_cast<TraceRestrictSlotOccupancyCondAuxField>(GetTraceRestrictAuxField(item))) {
|
||||
case TRSOCAF_OCCUPANTS:
|
||||
result = TestCondition(slot != nullptr ? (uint)slot->occupants.size() : 0, condop, value);
|
||||
result = TestCondition(slot != nullptr ? static_cast<uint>(slot->occupants.size()) : 0, condop, value);
|
||||
break;
|
||||
|
||||
case TRSOCAF_REMAINING:
|
||||
result = TestCondition(slot != nullptr ? slot->max_occupancy - (uint)slot->occupants.size() : 0, condop, value);
|
||||
result = TestCondition(slot != nullptr ? slot->max_occupancy - static_cast<uint>(slot->occupants.size()) : 0, condop, value);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -537,7 +537,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
}
|
||||
|
||||
case TRIT_COND_COUNTER_VALUE: {
|
||||
// TRVT_COUNTER_INDEX_INT value type uses the next slot
|
||||
/* TRVT_COUNTER_INDEX_INT value type uses the next slot */
|
||||
i++;
|
||||
uint32_t value = this->items[i];
|
||||
const TraceRestrictCounter *ctr = TraceRestrictCounter::GetIfValid(GetTraceRestrictValue(item));
|
||||
@@ -546,7 +546,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
}
|
||||
|
||||
case TRIT_COND_TIME_DATE_VALUE: {
|
||||
// TRVT_TIME_DATE_INT value type uses the next slot
|
||||
/* TRVT_TIME_DATE_INT value type uses the next slot */
|
||||
i++;
|
||||
uint32_t value = this->items[i];
|
||||
result = TestCondition(GetTraceRestrictTimeDateValue(static_cast<TraceRestrictTimeDateValueField>(GetTraceRestrictValue(item))), condop, value);
|
||||
@@ -628,7 +628,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
}
|
||||
|
||||
case TRIT_COND_RESERVATION_THROUGH: {
|
||||
// TRIT_COND_RESERVATION_THROUGH value type uses the next slot
|
||||
/* TRIT_COND_RESERVATION_THROUGH value type uses the next slot */
|
||||
i++;
|
||||
uint32_t test_tile = this->items[i];
|
||||
result = TestBinaryConditionCommon(item, TrainReservationPassesThroughTile(v, test_tile));
|
||||
@@ -834,7 +834,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
|
||||
break;
|
||||
|
||||
case TRIT_COUNTER: {
|
||||
// TRVT_COUNTER_INDEX_INT value type uses the next slot
|
||||
/* TRVT_COUNTER_INDEX_INT value type uses the next slot */
|
||||
i++;
|
||||
uint32_t value = this->items[i];
|
||||
if (!(input.permitted_slot_operations & TRPISP_CHANGE_COUNTER)) break;
|
||||
@@ -929,7 +929,7 @@ void TraceRestrictProgram::IncrementRefCount(TraceRestrictRefId ref_id)
|
||||
this->ref_ids.ptr_ref_ids.buffer = ptr;
|
||||
this->ref_ids.ptr_ref_ids.elem_capacity = 8;
|
||||
} else if (this->refcount == this->ref_ids.ptr_ref_ids.elem_capacity) {
|
||||
// grow buffer
|
||||
/* Grow buffer */
|
||||
this->ref_ids.ptr_ref_ids.elem_capacity *= 2;
|
||||
this->ref_ids.ptr_ref_ids.buffer = ReallocT<TraceRestrictRefId>(this->ref_ids.ptr_ref_ids.buffer, this->ref_ids.ptr_ref_ids.elem_capacity);
|
||||
}
|
||||
@@ -979,7 +979,7 @@ void TraceRestrictProgram::DecrementRefCount(TraceRestrictRefId ref_id) {
|
||||
* and that all instructions have a known type, at present
|
||||
*/
|
||||
CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem> &items, TraceRestrictProgramActionsUsedFlags &actions_used_flags) {
|
||||
// static to avoid needing to re-alloc/resize on each execution
|
||||
/* Static to avoid needing to re-alloc/resize on each execution */
|
||||
static std::vector<TraceRestrictCondStackFlags> condstack;
|
||||
condstack.clear();
|
||||
actions_used_flags = TRPAUF_NONE;
|
||||
@@ -996,7 +996,7 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
|
||||
|
||||
auto validation_error = [i](StringID str) -> CommandCost {
|
||||
CommandCost result(str);
|
||||
result.SetResultData((uint)i);
|
||||
result.SetResultData(static_cast<uint>(i));
|
||||
return result;
|
||||
};
|
||||
|
||||
@@ -1004,11 +1004,11 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_UNKNOWN_INSTRUCTION);
|
||||
};
|
||||
|
||||
// check multi-word instructions
|
||||
/* Check multi-word instructions */
|
||||
if (IsTraceRestrictDoubleItem(item)) {
|
||||
i++;
|
||||
if (i >= size) {
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_OFFSET_TOO_LARGE); // instruction ran off end
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_OFFSET_TOO_LARGE); // Instruction ran off end
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1017,17 +1017,17 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
|
||||
|
||||
if (type == TRIT_COND_ENDIF) {
|
||||
if (condstack.empty()) {
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_NO_IF); // else/endif with no starting if
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_NO_IF); // Else/endif with no starting if
|
||||
}
|
||||
if (condflags & TRCF_ELSE) {
|
||||
// else
|
||||
/* Else */
|
||||
if (condstack.back() & TRCSF_SEEN_ELSE) {
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_DUP_ELSE); // Two else clauses
|
||||
}
|
||||
HandleCondition(condstack, condflags, true);
|
||||
condstack.back() |= TRCSF_SEEN_ELSE;
|
||||
} else {
|
||||
// end if
|
||||
/* End if */
|
||||
condstack.pop_back();
|
||||
}
|
||||
} else {
|
||||
@@ -1036,7 +1036,7 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_ELIF_NO_IF); // Pre-empt assertions in HandleCondition
|
||||
}
|
||||
if (condstack.back() & TRCSF_SEEN_ELSE) {
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_DUP_ELSE); // else clause followed by elif/orif
|
||||
return validation_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_DUP_ELSE); // Else clause followed by elif/orif
|
||||
}
|
||||
}
|
||||
HandleCondition(condstack, condflags, true);
|
||||
@@ -1077,7 +1077,7 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
|
||||
}
|
||||
};
|
||||
|
||||
/* Validation action instruction */
|
||||
/* Validate condition type */
|
||||
switch (GetTraceRestrictType(item)) {
|
||||
case TRIT_COND_ENDIF:
|
||||
case TRIT_COND_UNDEFINED:
|
||||
@@ -1642,7 +1642,7 @@ void SetTraceRestrictTypeAndNormalise(TraceRestrictItem &item, TraceRestrictItem
|
||||
}
|
||||
}
|
||||
if (GetTraceRestrictType(item) == TRIT_COND_LAST_STATION && GetTraceRestrictAuxField(item) != TROCAF_STATION) {
|
||||
// if changing type from another order type to last visited station, reset value if not currently a station
|
||||
/* If changing type from another order type to last visited station, reset value if not currently a station */
|
||||
SetTraceRestrictValueDefault(item, TRVT_ORDER);
|
||||
}
|
||||
}
|
||||
@@ -1653,12 +1653,12 @@ void SetTraceRestrictTypeAndNormalise(TraceRestrictItem &item, TraceRestrictItem
|
||||
*/
|
||||
void TraceRestrictSetIsSignalRestrictedBit(TileIndex t)
|
||||
{
|
||||
// First mapping for this tile, or later
|
||||
/* First mapping for this tile, or later */
|
||||
TraceRestrictMapping::iterator lower_bound = _tracerestrictprogram_mapping.lower_bound(MakeTraceRestrictRefId(t, static_cast<Track>(0)));
|
||||
|
||||
bool found = (lower_bound != _tracerestrictprogram_mapping.end()) && (GetTraceRestrictRefIdTileIndex(lower_bound->first) == t);
|
||||
|
||||
// If iterators are the same, there are no mappings for this tile
|
||||
/* If iterators are the same, there are no mappings for this tile */
|
||||
switch (GetTileType(t)) {
|
||||
case MP_RAILWAY:
|
||||
SetRestrictedSignal(t, found);
|
||||
@@ -1683,8 +1683,8 @@ void TraceRestrictCreateProgramMapping(TraceRestrictRefId ref, TraceRestrictProg
|
||||
_tracerestrictprogram_mapping.insert(std::make_pair(ref, TraceRestrictMappingItem(prog->index)));
|
||||
|
||||
if (!insert_result.second) {
|
||||
// value was not inserted, there is an existing mapping
|
||||
// unref the existing mapping before updating it
|
||||
/* Value was not inserted, there is an existing mapping.
|
||||
* Unref the existing mapping before updating it. */
|
||||
_tracerestrictprogram_pool.Get(insert_result.first->second.program_id)->DecrementRefCount(ref);
|
||||
insert_result.first->second = prog->index;
|
||||
}
|
||||
@@ -1705,13 +1705,13 @@ bool TraceRestrictRemoveProgramMapping(TraceRestrictRefId ref)
|
||||
{
|
||||
TraceRestrictMapping::iterator iter = _tracerestrictprogram_mapping.find(ref);
|
||||
if (iter != _tracerestrictprogram_mapping.end()) {
|
||||
// Found
|
||||
/* Found */
|
||||
TraceRestrictProgram *prog = _tracerestrictprogram_pool.Get(iter->second.program_id);
|
||||
|
||||
bool update_reserve_through = (prog->actions_used_flags & TRPAUF_RESERVE_THROUGH_ALWAYS);
|
||||
|
||||
// check to see if another mapping needs to be removed as well
|
||||
// do this before decrementing the refcount
|
||||
/* Check to see if another mapping needs to be removed as well,
|
||||
* do this before decrementing the refcount */
|
||||
bool remove_other_mapping = prog->refcount == 2 && prog->items.empty();
|
||||
|
||||
prog->DecrementRefCount(ref);
|
||||
@@ -1774,22 +1774,22 @@ void TraceRestrictCheckRefreshSingleSignal(const TraceRestrictProgram *prog, Tra
|
||||
*/
|
||||
TraceRestrictProgram *GetTraceRestrictProgram(TraceRestrictRefId ref, bool create_new)
|
||||
{
|
||||
// Optimise for lookup, creating doesn't have to be that fast
|
||||
/* Optimise for lookup, creating doesn't have to be that fast */
|
||||
|
||||
TraceRestrictMapping::iterator iter = _tracerestrictprogram_mapping.find(ref);
|
||||
if (iter != _tracerestrictprogram_mapping.end()) {
|
||||
// Found
|
||||
/* Found */
|
||||
return _tracerestrictprogram_pool.Get(iter->second.program_id);
|
||||
} else if (create_new) {
|
||||
// Not found
|
||||
/* Not found */
|
||||
|
||||
// Create new pool item
|
||||
/* Create new pool item */
|
||||
if (!TraceRestrictProgram::CanAllocateItem()) {
|
||||
return nullptr;
|
||||
}
|
||||
TraceRestrictProgram *prog = new TraceRestrictProgram();
|
||||
|
||||
// Create new mapping to pool item
|
||||
/* Create new mapping to pool item */
|
||||
TraceRestrictCreateProgramMapping(ref, prog);
|
||||
return prog;
|
||||
} else {
|
||||
@@ -1803,7 +1803,7 @@ TraceRestrictProgram *GetTraceRestrictProgram(TraceRestrictRefId ref, bool creat
|
||||
*/
|
||||
TraceRestrictProgram *GetFirstTraceRestrictProgramOnTile(TileIndex t)
|
||||
{
|
||||
// First mapping for this tile, or later
|
||||
/* First mapping for this tile, or later */
|
||||
TraceRestrictMapping::iterator lower_bound = _tracerestrictprogram_mapping.lower_bound(MakeTraceRestrictRefId(t, static_cast<Track>(0)));
|
||||
|
||||
if ((lower_bound != _tracerestrictprogram_mapping.end()) && (GetTraceRestrictRefIdTileIndex(lower_bound->first) == t)) {
|
||||
@@ -1842,7 +1842,7 @@ void TraceRestrictDoCommandP(TileIndex tile, Track track, TraceRestrictDoCommand
|
||||
*/
|
||||
static CommandCost TraceRestrictCheckTileIsUsable(TileIndex tile, Track track)
|
||||
{
|
||||
// Check that there actually is a signal here
|
||||
/* Check that there actually is a signal here */
|
||||
switch (GetTileType(tile)) {
|
||||
case MP_RAILWAY:
|
||||
if (!IsPlainRailTile(tile) || !HasTrack(tile, track)) {
|
||||
@@ -1866,7 +1866,7 @@ static CommandCost TraceRestrictCheckTileIsUsable(TileIndex tile, Track track)
|
||||
return_cmd_error(STR_ERROR_THERE_IS_NO_RAILROAD_TRACK);
|
||||
}
|
||||
|
||||
// Check tile ownership, do this afterwards to avoid tripping up on house/industry tiles
|
||||
/* Check tile ownership, do this afterwards to avoid tripping up on house/industry tiles */
|
||||
CommandCost ret = CheckTileOwnership(tile);
|
||||
if (ret.Failed()) {
|
||||
return ret;
|
||||
@@ -1916,10 +1916,10 @@ CommandCost TraceRestrictProgramRemoveItemAt(std::vector<TraceRestrictItem> &ite
|
||||
bool remove_whole_block = false;
|
||||
if (GetTraceRestrictCondFlags(old_item) == 0) {
|
||||
if (GetTraceRestrictType(old_item) == TRIT_COND_ENDIF) {
|
||||
// this is an end if, can't remove these
|
||||
/* This is an end if, can't remove these */
|
||||
return_cmd_error(STR_TRACE_RESTRICT_ERROR_CAN_T_REMOVE_ENDIF);
|
||||
} else {
|
||||
// this is an opening if
|
||||
/* This is an opening if */
|
||||
remove_whole_block = true;
|
||||
}
|
||||
}
|
||||
@@ -1928,42 +1928,42 @@ CommandCost TraceRestrictProgramRemoveItemAt(std::vector<TraceRestrictItem> &ite
|
||||
std::vector<TraceRestrictItem>::iterator remove_start = TraceRestrictProgram::InstructionAt(items, offset);
|
||||
std::vector<TraceRestrictItem>::iterator remove_end = InstructionIteratorNext(remove_start);
|
||||
|
||||
// iterate until matching end block found
|
||||
/* Iterate until matching end block found */
|
||||
for (; remove_end != items.end(); InstructionIteratorAdvance(remove_end)) {
|
||||
TraceRestrictItem current_item = *remove_end;
|
||||
if (IsTraceRestrictConditional(current_item)) {
|
||||
if (GetTraceRestrictCondFlags(current_item) == 0) {
|
||||
if (GetTraceRestrictType(current_item) == TRIT_COND_ENDIF) {
|
||||
// this is an end if
|
||||
/* This is an end if */
|
||||
recursion_depth--;
|
||||
if (recursion_depth == 0) {
|
||||
if (remove_whole_block) {
|
||||
if (shallow_mode) {
|
||||
// must erase endif first, as it is later in the vector
|
||||
/* Must erase endif first, as it is later in the vector */
|
||||
items.erase(remove_end, InstructionIteratorNext(remove_end));
|
||||
} else {
|
||||
// inclusively remove up to here
|
||||
/* Inclusively remove up to here */
|
||||
InstructionIteratorAdvance(remove_end);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
// exclusively remove up to here
|
||||
/* Exclusively remove up to here */
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// this is an opening if
|
||||
/* This is an opening if */
|
||||
recursion_depth++;
|
||||
}
|
||||
} else {
|
||||
// this is an else/or type block
|
||||
/* This is an else/or type block */
|
||||
if (recursion_depth == 1 && !remove_whole_block) {
|
||||
// exclusively remove up to here
|
||||
/* Exclusively remove up to here */
|
||||
recursion_depth = 0;
|
||||
break;
|
||||
}
|
||||
if (recursion_depth == 1 && remove_whole_block && shallow_mode) {
|
||||
// shallow-removing whole if block, and it contains an else/or if, bail out
|
||||
/* Shallow-removing whole if block, and it contains an else/or if, bail out */
|
||||
return_cmd_error(STR_TRACE_RESTRICT_ERROR_CAN_T_SHALLOW_REMOVE_IF_ELIF);
|
||||
}
|
||||
}
|
||||
@@ -1990,7 +1990,7 @@ static CommandCost AdvanceItemEndIteratorForBlock(const std::vector<TraceRestric
|
||||
TraceRestrictItem old_item = *move_start;
|
||||
if (IsTraceRestrictConditional(old_item)) {
|
||||
if (GetTraceRestrictType(old_item) == TRIT_COND_ENDIF) {
|
||||
// this is an else or end if, can't move these
|
||||
/* This is an else or end if, can't move these */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
if (GetTraceRestrictCondFlags(old_item) != 0) {
|
||||
@@ -2001,41 +2001,41 @@ static CommandCost AdvanceItemEndIteratorForBlock(const std::vector<TraceRestric
|
||||
if (IsTraceRestrictConditional(current_item)) {
|
||||
if (GetTraceRestrictCondFlags(current_item) == 0) {
|
||||
if (GetTraceRestrictType(current_item) == TRIT_COND_ENDIF) {
|
||||
// this is an end if
|
||||
/* This is an end if */
|
||||
if (recursion_depth == 0) break;
|
||||
recursion_depth--;
|
||||
} else {
|
||||
// this is an opening if
|
||||
/* This is an opening if */
|
||||
recursion_depth++;
|
||||
}
|
||||
} else if (recursion_depth == 0) {
|
||||
// next elif/orif
|
||||
/* Next elif/orif */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return CommandCost();
|
||||
}
|
||||
// can't move or/else blocks
|
||||
/* Can't move or/else blocks */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
uint32_t recursion_depth = 1;
|
||||
// iterate until matching end block found
|
||||
/* Iterate until matching end block found */
|
||||
for (; move_end != items.end(); InstructionIteratorAdvance(move_end)) {
|
||||
TraceRestrictItem current_item = *move_end;
|
||||
if (IsTraceRestrictConditional(current_item)) {
|
||||
if (GetTraceRestrictCondFlags(current_item) == 0) {
|
||||
if (GetTraceRestrictType(current_item) == TRIT_COND_ENDIF) {
|
||||
// this is an end if
|
||||
/* This is an end if */
|
||||
recursion_depth--;
|
||||
if (recursion_depth == 0) {
|
||||
// inclusively remove up to here
|
||||
/* Inclusively remove up to here */
|
||||
InstructionIteratorAdvance(move_end);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// this is an opening if
|
||||
/* This is an opening if */
|
||||
recursion_depth++;
|
||||
}
|
||||
}
|
||||
@@ -2123,20 +2123,20 @@ CommandCost CmdProgramSignalTraceRestrict(TileIndex tile, DoCommandFlag flags, u
|
||||
bool can_make_new = (type == TRDCT_INSERT_ITEM) && (flags & DC_EXEC);
|
||||
bool need_existing = (type != TRDCT_INSERT_ITEM);
|
||||
TraceRestrictProgram *prog = GetTraceRestrictProgram(MakeTraceRestrictRefId(tile, track), can_make_new);
|
||||
if (need_existing && !prog) {
|
||||
if (need_existing && prog == nullptr) {
|
||||
return_cmd_error(STR_TRACE_RESTRICT_ERROR_NO_PROGRAM);
|
||||
}
|
||||
|
||||
uint32_t offset_limit_exclusive = ((type == TRDCT_INSERT_ITEM) ? 1 : 0);
|
||||
if (prog) offset_limit_exclusive += (uint)prog->items.size();
|
||||
if (prog != nullptr) offset_limit_exclusive += static_cast<uint>(prog->items.size());
|
||||
|
||||
if (offset >= offset_limit_exclusive) {
|
||||
return_cmd_error(STR_TRACE_RESTRICT_ERROR_OFFSET_TOO_LARGE);
|
||||
}
|
||||
|
||||
// copy program
|
||||
/* Copy program */
|
||||
std::vector<TraceRestrictItem> items;
|
||||
if (prog) items = prog->items;
|
||||
if (prog != nullptr) items = prog->items;
|
||||
|
||||
switch (type) {
|
||||
case TRDCT_INSERT_ITEM:
|
||||
@@ -2144,7 +2144,7 @@ CommandCost CmdProgramSignalTraceRestrict(TileIndex tile, DoCommandFlag flags, u
|
||||
if (IsTraceRestrictConditional(item) &&
|
||||
GetTraceRestrictCondFlags(item) == 0 &&
|
||||
GetTraceRestrictType(item) != TRIT_COND_ENDIF) {
|
||||
// this is an opening if block, insert a corresponding end if
|
||||
/* This is an opening if block, insert a corresponding end if */
|
||||
TraceRestrictItem endif_item = 0;
|
||||
SetTraceRestrictType(endif_item, TRIT_COND_ENDIF);
|
||||
items.insert(TraceRestrictProgram::InstructionAt(items, offset) + 1, endif_item);
|
||||
@@ -2211,25 +2211,25 @@ CommandCost CmdProgramSignalTraceRestrict(TileIndex tile, DoCommandFlag flags, u
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
assert(prog);
|
||||
assert(prog != nullptr);
|
||||
|
||||
size_t old_size = prog->items.size();
|
||||
TraceRestrictProgramActionsUsedFlags old_actions_used_flags = prog->actions_used_flags;
|
||||
|
||||
// move in modified program
|
||||
/* Move in modified program */
|
||||
prog->items.swap(items);
|
||||
prog->actions_used_flags = actions_used_flags;
|
||||
|
||||
if (prog->items.size() == 0 && prog->refcount == 1) {
|
||||
// program is empty, and this tile is the only reference to it
|
||||
// so delete it, as it's redundant
|
||||
/* Program is empty, and this tile is the only reference to it,
|
||||
* so delete it, as it's redundant */
|
||||
TraceRestrictCheckRefreshSingleSignal(prog, MakeTraceRestrictRefId(tile, track), old_actions_used_flags);
|
||||
TraceRestrictRemoveProgramMapping(MakeTraceRestrictRefId(tile, track));
|
||||
} else {
|
||||
TraceRestrictCheckRefreshSignals(prog, old_size, old_actions_used_flags);
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
}
|
||||
|
||||
@@ -2303,10 +2303,10 @@ CommandCost CmdProgramSignalTraceRestrictProgMgmt(TileIndex tile, DoCommandFlag
|
||||
TraceRestrictRemoveProgramMapping(self);
|
||||
|
||||
TraceRestrictProgram *source_prog = GetTraceRestrictProgram(source, false);
|
||||
if (source_prog && !source_prog->items.empty()) {
|
||||
if (source_prog != nullptr && !source_prog->items.empty()) {
|
||||
TraceRestrictProgram *prog = GetTraceRestrictProgram(self, true);
|
||||
if (!prog) {
|
||||
// allocation failed
|
||||
if (prog == nullptr) {
|
||||
/* Allocation failed */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
prog->items = source_prog->items; // copy
|
||||
@@ -2319,10 +2319,10 @@ CommandCost CmdProgramSignalTraceRestrictProgMgmt(TileIndex tile, DoCommandFlag
|
||||
|
||||
case TRDCT_PROG_COPY_APPEND: {
|
||||
TraceRestrictProgram *source_prog = GetTraceRestrictProgram(source, false);
|
||||
if (source_prog && !source_prog->items.empty()) {
|
||||
if (source_prog != nullptr && !source_prog->items.empty()) {
|
||||
TraceRestrictProgram *prog = GetTraceRestrictProgram(self, true);
|
||||
if (!prog) {
|
||||
// allocation failed
|
||||
if (prog == nullptr) {
|
||||
/* Allocation failed */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
@@ -2342,8 +2342,8 @@ CommandCost CmdProgramSignalTraceRestrictProgMgmt(TileIndex tile, DoCommandFlag
|
||||
case TRDCT_PROG_SHARE_IF_UNMAPPED: {
|
||||
TraceRestrictRemoveProgramMapping(self);
|
||||
TraceRestrictProgram *source_prog = GetTraceRestrictProgram(source, true);
|
||||
if (!source_prog) {
|
||||
// allocation failed
|
||||
if (source_prog == nullptr) {
|
||||
/* Allocation failed */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
@@ -2355,18 +2355,18 @@ CommandCost CmdProgramSignalTraceRestrictProgMgmt(TileIndex tile, DoCommandFlag
|
||||
case TRDCT_PROG_UNSHARE: {
|
||||
std::vector<TraceRestrictItem> items;
|
||||
TraceRestrictProgram *prog = GetTraceRestrictProgram(self, false);
|
||||
if (prog) {
|
||||
// copy program into temporary
|
||||
if (prog != nullptr) {
|
||||
/* Copy program into temporary */
|
||||
items = prog->items;
|
||||
}
|
||||
// remove old program
|
||||
/* Remove old program */
|
||||
TraceRestrictRemoveProgramMapping(self);
|
||||
|
||||
if (items.size()) {
|
||||
// if prog is non-empty, create new program and move temporary in
|
||||
if (items.size() > 0) {
|
||||
/* If prog is non-empty, create new program and move temporary in */
|
||||
TraceRestrictProgram *new_prog = GetTraceRestrictProgram(self, true);
|
||||
if (!new_prog) {
|
||||
// allocation failed
|
||||
if (new_prog == nullptr) {
|
||||
/* Allocation failed */
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
@@ -2386,7 +2386,7 @@ CommandCost CmdProgramSignalTraceRestrictProgMgmt(TileIndex tile, DoCommandFlag
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
|
||||
return CommandCost();
|
||||
@@ -2466,7 +2466,7 @@ void TraceRestrictRemoveDestinationID(TraceRestrictOrderCondAuxField type, uint1
|
||||
}
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
}
|
||||
|
||||
@@ -2486,7 +2486,7 @@ void TraceRestrictRemoveGroupID(GroupID index)
|
||||
}
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
}
|
||||
|
||||
@@ -2529,7 +2529,7 @@ void TraceRestrictUpdateCompanyID(CompanyID old_company, CompanyID new_company)
|
||||
}
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_SLOTS);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_COUNTERS);
|
||||
@@ -2870,7 +2870,7 @@ void TraceRestrictRemoveSlotID(TraceRestrictSlotID index)
|
||||
}
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
if (changed_order) {
|
||||
InvalidateWindowClassesData(WC_VEHICLE_ORDERS);
|
||||
@@ -2920,7 +2920,7 @@ CommandCost CmdCreateTraceRestrictSlot(TileIndex tile, DoCommandFlag flags, uint
|
||||
TraceRestrictSlot *slot = new TraceRestrictSlot(_current_company, vehtype);
|
||||
slot->name = text;
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_SLOTS);
|
||||
}
|
||||
@@ -2945,7 +2945,7 @@ CommandCost CmdDeleteTraceRestrictSlot(TileIndex tile, DoCommandFlag flags, uint
|
||||
if (slot == nullptr || slot->owner != _current_company) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
/* notify tracerestrict that group is about to be deleted */
|
||||
/* Notify tracerestrict that group is about to be deleted */
|
||||
TraceRestrictRemoveSlotID(slot->index);
|
||||
|
||||
delete slot;
|
||||
@@ -2997,7 +2997,7 @@ CommandCost CmdAlterTraceRestrictSlot(TileIndex tile, DoCommandFlag flags, uint3
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_SLOTS);
|
||||
InvalidateWindowClassesData(WC_VEHICLE_ORDERS);
|
||||
@@ -3127,7 +3127,7 @@ void TraceRestrictRemoveCounterID(TraceRestrictCounterID index)
|
||||
}
|
||||
}
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
if (changed_order) {
|
||||
InvalidateWindowClassesData(WC_VEHICLE_ORDERS);
|
||||
@@ -3165,7 +3165,7 @@ CommandCost CmdCreateTraceRestrictCounter(TileIndex tile, DoCommandFlag flags, u
|
||||
TraceRestrictCounter *ctr = new TraceRestrictCounter(_current_company);
|
||||
ctr->name = text;
|
||||
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_COUNTERS);
|
||||
}
|
||||
@@ -3190,7 +3190,7 @@ CommandCost CmdDeleteTraceRestrictCounter(TileIndex tile, DoCommandFlag flags, u
|
||||
if (ctr == nullptr || ctr->owner != _current_company) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
/* notify tracerestrict that counter is about to be deleted */
|
||||
/* Notify tracerestrict that counter is about to be deleted */
|
||||
TraceRestrictRemoveCounterID(ctr->index);
|
||||
|
||||
delete ctr;
|
||||
@@ -3241,7 +3241,7 @@ CommandCost CmdAlterTraceRestrictCounter(TileIndex tile, DoCommandFlag flags, ui
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
// update windows
|
||||
/* Update windows */
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT);
|
||||
InvalidateWindowClassesData(WC_TRACE_RESTRICT_COUNTERS);
|
||||
InvalidateWindowClassesData(WC_VEHICLE_ORDERS);
|
||||
|
@@ -601,7 +601,7 @@ private:
|
||||
TraceRestrictRefId inline_ref_ids[4];
|
||||
ptr_buffer ptr_ref_ids;
|
||||
|
||||
// Actual construction/destruction done by struct TraceRestrictProgram
|
||||
/* Actual construction/destruction done by struct TraceRestrictProgram */
|
||||
refid_list_union() {}
|
||||
~refid_list_union() {}
|
||||
};
|
||||
|
@@ -103,25 +103,25 @@ enum TraceRestrictWindowWidgets {
|
||||
|
||||
/** Selection mappings for NWID_SELECTION selectors */
|
||||
enum PanelWidgets {
|
||||
// Left 2
|
||||
/* Left 2 */
|
||||
DPL2_TYPE = 0,
|
||||
DPL2_CONDFLAGS,
|
||||
DPL2_BLANK,
|
||||
|
||||
// Left
|
||||
/* Left */
|
||||
DPL_TYPE = 0,
|
||||
DPL_COUNTER_OP,
|
||||
DPL_BLANK,
|
||||
|
||||
// Left aux
|
||||
/* Left aux */
|
||||
DPLA_DROPDOWN = 0,
|
||||
|
||||
// Middle
|
||||
/* Middle */
|
||||
DPM_COMPARATOR = 0,
|
||||
DPM_SLOT_OP,
|
||||
DPM_BLANK,
|
||||
|
||||
// Right
|
||||
/* Right */
|
||||
DPR_VALUE_INT = 0,
|
||||
DPR_VALUE_DECIMAL,
|
||||
DPR_VALUE_DROPDOWN,
|
||||
@@ -130,12 +130,12 @@ enum PanelWidgets {
|
||||
DPR_VALUE_TILE,
|
||||
DPR_BLANK,
|
||||
|
||||
// Share
|
||||
/* Share */
|
||||
DPS_SHARE = 0,
|
||||
DPS_UNSHARE,
|
||||
DPS_SHARE_ONTO,
|
||||
|
||||
// Copy
|
||||
/* Copy */
|
||||
DPC_COPY = 0,
|
||||
DPC_APPEND,
|
||||
DPC_DUPLICATE,
|
||||
@@ -660,8 +660,7 @@ static DropDownList GetGroupDropDownList(Owner owner, GroupID group_id, int &sel
|
||||
if (group_id == DEFAULT_GROUP) selected = DEFAULT_GROUP;
|
||||
dlist.push_back(MakeDropDownListStringItem(STR_GROUP_DEFAULT_TRAINS, DEFAULT_GROUP, false));
|
||||
|
||||
for (size_t i = 0; i < list.size(); ++i) {
|
||||
const Group *g = list[i];
|
||||
for (const Group *g : list) {
|
||||
if (group_id == g->index) selected = group_id;
|
||||
SetDParam(0, g->index | GROUP_NAME_HIERARCHY);
|
||||
dlist.push_back(MakeDropDownListStringItem(STR_GROUP_NAME, g->index, false));
|
||||
@@ -757,8 +756,7 @@ DropDownList GetCounterDropDownList(Owner owner, TraceRestrictCounterID ctr_id,
|
||||
|
||||
selected = -1;
|
||||
|
||||
for (size_t i = 0; i < list.size(); ++i) {
|
||||
const TraceRestrictCounter *s = list[i];
|
||||
for (const TraceRestrictCounter *s : list) {
|
||||
if (ctr_id == s->index) selected = ctr_id;
|
||||
SetDParam(0, s->index);
|
||||
dlist.push_back(MakeDropDownListStringItem(STR_TRACE_RESTRICT_COUNTER_NAME, s->index, false));
|
||||
@@ -1231,7 +1229,7 @@ static void DrawInstructionString(const TraceRestrictProgram *prog, TraceRestric
|
||||
instruction_string = STR_TRACE_RESTRICT_CONDITIONAL_ORDER_STATION;
|
||||
DrawInstructionStringConditionalIntegerCommon(item, properties);
|
||||
} else {
|
||||
// this is an invalid station, use a seperate string
|
||||
/* This is an invalid station, use a separate string */
|
||||
DrawInstructionStringConditionalInvalidValue(item, properties, instruction_string, selected);
|
||||
}
|
||||
break;
|
||||
@@ -1539,7 +1537,7 @@ static void DrawInstructionString(const TraceRestrictProgram *prog, TraceRestric
|
||||
break;
|
||||
|
||||
case TRIT_RESERVE_THROUGH:
|
||||
instruction_string = GetTraceRestrictValue(item) ? STR_TRACE_RESTRICT_RESERVE_THROUGH_CANCEL : STR_TRACE_RESTRICT_RESERVE_THROUGH;
|
||||
instruction_string = GetTraceRestrictValue(item) != 0 ? STR_TRACE_RESTRICT_RESERVE_THROUGH_CANCEL : STR_TRACE_RESTRICT_RESERVE_THROUGH;
|
||||
break;
|
||||
|
||||
case TRIT_LONG_RESERVE:
|
||||
@@ -1813,7 +1811,7 @@ public:
|
||||
int sel = this->GetItemIndexFromPt(pt.y);
|
||||
|
||||
if (_ctrl_pressed) {
|
||||
// scroll to target (for stations, waypoints, depots)
|
||||
/* Scroll to target (for stations, waypoints, depots) */
|
||||
|
||||
if (sel == -1) return;
|
||||
|
||||
@@ -1823,16 +1821,16 @@ public:
|
||||
switch (static_cast<TraceRestrictOrderCondAuxField>(GetTraceRestrictAuxField(item))) {
|
||||
case TROCAF_STATION:
|
||||
case TROCAF_WAYPOINT: {
|
||||
BaseStation *st = BaseStation::GetIfValid(GetTraceRestrictValue(item));
|
||||
if (st) {
|
||||
const BaseStation *st = BaseStation::GetIfValid(GetTraceRestrictValue(item));
|
||||
if (st != nullptr) {
|
||||
ScrollMainWindowToTile(st->xy);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case TROCAF_DEPOT: {
|
||||
Depot *depot = Depot::GetIfValid(GetTraceRestrictValue(item));
|
||||
if (depot) {
|
||||
const Depot *depot = Depot::GetIfValid(GetTraceRestrictValue(item));
|
||||
if (depot != nullptr) {
|
||||
ScrollMainWindowToTile(depot->xy);
|
||||
}
|
||||
break;
|
||||
@@ -1851,7 +1849,7 @@ public:
|
||||
HideDropDownMenu(this);
|
||||
|
||||
if (sel == -1 || this->GetOwner() != _local_company) {
|
||||
// Deselect
|
||||
/* Deselect */
|
||||
this->selected_instruction = -1;
|
||||
} else {
|
||||
this->selected_instruction = sel;
|
||||
@@ -1873,20 +1871,20 @@ public:
|
||||
TraceRestrictItem item = this->GetSelected();
|
||||
if (GetTraceRestrictType(item) == TRIT_COND_ENDIF ||
|
||||
(IsTraceRestrictConditional(item) && GetTraceRestrictCondFlags(item) != 0)) {
|
||||
// this is either: an else/or if, an else, or an end if
|
||||
// try to include else if, else in insertion list
|
||||
/* This is either: an else/or if, an else, or an end if
|
||||
* try to include else if, else in insertion list */
|
||||
if (!ElseInsertionDryRun(false)) disabled |= _program_insert_else_hide_mask;
|
||||
if (!ElseIfInsertionDryRun(false)) disabled |= _program_insert_else_if_hide_mask;
|
||||
} else {
|
||||
// can't insert else/end if here
|
||||
/* Can't insert else/end if here */
|
||||
disabled |= _program_insert_else_hide_mask | _program_insert_else_if_hide_mask;
|
||||
}
|
||||
if (this->selected_instruction > 1) {
|
||||
TraceRestrictItem prev_item = this->GetItem(this->GetProgram(), this->selected_instruction - 1);
|
||||
if (IsTraceRestrictConditional(prev_item) && GetTraceRestrictType(prev_item) != TRIT_COND_ENDIF) {
|
||||
// previous item is either: an if, or an else/or if
|
||||
/* Previous item is either: an if, or an else/or if */
|
||||
|
||||
// else if has same validation rules as or if, use it instead of creating another test function
|
||||
/* Else if has same validation rules as or if, use it instead of creating another test function */
|
||||
if (ElseIfInsertionDryRun(false)) disabled &= ~_program_insert_or_if_hide_mask;
|
||||
}
|
||||
}
|
||||
@@ -1993,7 +1991,7 @@ public:
|
||||
case TR_WIDGET_COMPARATOR: {
|
||||
TraceRestrictItem item = this->GetSelected();
|
||||
const TraceRestrictDropDownListSet *list_set = GetCondOpDropDownListSet(GetTraceRestrictTypeProperties(item));
|
||||
if (list_set) {
|
||||
if (list_set != nullptr) {
|
||||
this->ShowDropDownListWithValue(list_set, GetTraceRestrictCondOp(item), false, TR_WIDGET_COMPARATOR, 0, 0);
|
||||
}
|
||||
break;
|
||||
@@ -2289,7 +2287,7 @@ public:
|
||||
if (widget == TR_WIDGET_VALUE_DROPDOWN || widget == TR_WIDGET_LEFT_AUX_DROPDOWN) {
|
||||
TraceRestrictTypePropertySet type = GetTraceRestrictTypeProperties(item);
|
||||
if (this->value_drop_down_is_company || type.value_type == TRVT_GROUP_INDEX || type.value_type == TRVT_SLOT_INDEX || type.value_type == TRVT_SLOT_INDEX_INT || type.value_type == TRVT_COUNTER_INDEX_INT || type.value_type == TRVT_TIME_DATE_INT) {
|
||||
// this is a special company drop-down or group/slot-index drop-down
|
||||
/* This is a special company drop-down or group/slot-index drop-down */
|
||||
SetTraceRestrictValue(item, index);
|
||||
TraceRestrictDoCommandP(this->tile, this->track, TRDCT_MODIFY_ITEM, this->selected_instruction - 1, item, STR_TRACE_RESTRICT_ERROR_CAN_T_MODIFY_ITEM);
|
||||
return;
|
||||
@@ -2335,7 +2333,7 @@ public:
|
||||
SetTraceRestrictCondFlags(item, TRCF_ELSE);
|
||||
} else {
|
||||
if (GetTraceRestrictType(item) == TRIT_COND_ENDIF) {
|
||||
// item is currently an else, convert to else/or if
|
||||
/* Item is currently an else, convert to else/or if */
|
||||
SetTraceRestrictTypeAndNormalise(item, TRIT_COND_UNDEFINED);
|
||||
}
|
||||
|
||||
@@ -2449,7 +2447,7 @@ public:
|
||||
trackbits = (_tile_fract_coords.x + _tile_fract_coords.y <= 15) ? TRACK_BIT_UPPER : TRACK_BIT_LOWER;
|
||||
}
|
||||
Track source_track = FindFirstTrack(trackbits);
|
||||
if(source_track == INVALID_TRACK) {
|
||||
if (source_track == INVALID_TRACK) {
|
||||
ShowErrorMessage(error_message, STR_ERROR_THERE_IS_NO_RAILROAD_TRACK, WL_INFO);
|
||||
return;
|
||||
}
|
||||
@@ -2557,9 +2555,9 @@ public:
|
||||
}
|
||||
|
||||
if (IsRailDepotTile(tile)) {
|
||||
// OK
|
||||
/* OK */
|
||||
} else if (IsTileType(tile, MP_TUNNELBRIDGE) && IsTunnelBridgeWithSignalSimulation(tile)) {
|
||||
// OK
|
||||
/* OK */
|
||||
} else {
|
||||
if (!IsPlainRailTile(tile)) {
|
||||
ShowErrorMessage(error_message, STR_ERROR_THERE_IS_NO_RAILROAD_TRACK, WL_INFO);
|
||||
@@ -2626,7 +2624,7 @@ public:
|
||||
int line_height = this->GetWidget<NWidgetBase>(TR_WIDGET_INSTRUCTION_LIST)->resize_y;
|
||||
int scroll_position = this->vscroll->GetPosition();
|
||||
|
||||
// prog may be nullptr
|
||||
/* prog may be nullptr */
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
|
||||
int count = this->GetItemCount(prog);
|
||||
@@ -2696,7 +2694,7 @@ public:
|
||||
|
||||
case TR_WIDGET_CAPTION: {
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
if (prog) {
|
||||
if (prog != nullptr) {
|
||||
SetDParam(0, prog->refcount);
|
||||
} else {
|
||||
SetDParam(0, 1);
|
||||
@@ -2786,8 +2784,8 @@ private:
|
||||
*/
|
||||
int GetItemCount(const TraceRestrictProgram *prog) const
|
||||
{
|
||||
if (prog) {
|
||||
return 2 + (int)prog->GetInstructionCount();
|
||||
if (prog != nullptr) {
|
||||
return 2 + static_cast<int>(prog->GetInstructionCount());
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
@@ -2818,7 +2816,7 @@ private:
|
||||
return MakeSpecialItem(TRNTSV_START);
|
||||
}
|
||||
|
||||
if (prog) {
|
||||
if (prog != nullptr) {
|
||||
size_t instruction_count = prog->GetInstructionCount();
|
||||
|
||||
if (static_cast<size_t>(index) == instruction_count + 1) {
|
||||
@@ -2831,7 +2829,7 @@ private:
|
||||
|
||||
return prog->items[prog->InstructionOffsetToArrayOffset(index - 1)];
|
||||
} else {
|
||||
// No program defined, this is equivalent to an empty program
|
||||
/* No program defined, this is equivalent to an empty program */
|
||||
if (index == 1) {
|
||||
return MakeSpecialItem(TRNTSV_END);
|
||||
} else {
|
||||
@@ -2879,16 +2877,16 @@ private:
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
|
||||
if (this->vscroll->GetCount() != this->GetItemCount(prog)) {
|
||||
// program length has changed
|
||||
/* Program length has changed */
|
||||
|
||||
if (this->GetItemCount(prog) < this->vscroll->GetCount() ||
|
||||
this->GetItem(prog, this->selected_instruction) != this->expecting_inserted_item) {
|
||||
// length has shrunk or if we weren't expecting an insertion, deselect
|
||||
/* Length has shrunk or if we weren't expecting an insertion, deselect */
|
||||
this->selected_instruction = -1;
|
||||
}
|
||||
this->expecting_inserted_item = static_cast<TraceRestrictItem>(0);
|
||||
|
||||
// update scrollbar size
|
||||
/* Update scrollbar size */
|
||||
this->vscroll->SetCount(this->GetItemCount(prog));
|
||||
}
|
||||
this->UpdateButtonState();
|
||||
@@ -2896,7 +2894,7 @@ private:
|
||||
|
||||
bool IsUpDownBtnUsable(bool up, bool update_selection = false) {
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
if (!prog) return false;
|
||||
if (prog == nullptr) return false;
|
||||
|
||||
TraceRestrictItem item = this->GetSelected();
|
||||
if (GetTraceRestrictType(item) == TRIT_NULL) return false;
|
||||
@@ -2916,7 +2914,7 @@ private:
|
||||
|
||||
bool IsDuplicateBtnUsable() const {
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
if (!prog) return false;
|
||||
if (prog == nullptr) return false;
|
||||
|
||||
TraceRestrictItem item = this->GetSelected();
|
||||
if (GetTraceRestrictType(item) == TRIT_NULL) return false;
|
||||
@@ -3013,7 +3011,7 @@ private:
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
|
||||
this->GetWidget<NWidgetCore>(TR_WIDGET_CAPTION)->widget_data =
|
||||
(prog && prog->refcount > 1) ? STR_TRACE_RESTRICT_CAPTION_SHARED : STR_TRACE_RESTRICT_CAPTION;
|
||||
(prog != nullptr && prog->refcount > 1) ? STR_TRACE_RESTRICT_CAPTION_SHARED : STR_TRACE_RESTRICT_CAPTION;
|
||||
|
||||
this->SetWidgetDisabledState(TR_WIDGET_HIGHLIGHT, prog == nullptr);
|
||||
extern const TraceRestrictProgram *_viewport_highlight_tracerestrict_program;
|
||||
@@ -3026,7 +3024,7 @@ private:
|
||||
}
|
||||
});
|
||||
|
||||
// Don't allow modifications if don't own
|
||||
/* Don't allow modifications for non-owners */
|
||||
if (this->GetOwner() != _local_company) {
|
||||
this->SetDirty();
|
||||
return;
|
||||
@@ -3039,15 +3037,15 @@ private:
|
||||
this->base_share_plane = DPS_SHARE;
|
||||
|
||||
if (prog != nullptr && prog->refcount > 1) {
|
||||
// program is shared, show and enable unshare button, and reset button
|
||||
/* Program is shared, show and enable unshare button, and reset button */
|
||||
this->base_share_plane = DPS_UNSHARE;
|
||||
this->EnableWidget(TR_WIDGET_UNSHARE);
|
||||
this->EnableWidget(TR_WIDGET_RESET);
|
||||
} else if (this->GetItemCount(prog) > 2) {
|
||||
// program is non-empty and not shared, enable reset button
|
||||
/* Program is non-empty and not shared, enable reset button */
|
||||
this->EnableWidget(TR_WIDGET_RESET);
|
||||
} else {
|
||||
// program is empty and not shared, show copy and share buttons
|
||||
/* Program is empty and not shared, show copy and share buttons */
|
||||
this->EnableWidget(TR_WIDGET_COPY);
|
||||
this->EnableWidget(TR_WIDGET_SHARE);
|
||||
this->base_copy_plane = DPC_COPY;
|
||||
@@ -3056,7 +3054,7 @@ private:
|
||||
this->GetWidget<NWidgetCore>(TR_WIDGET_COPY_APPEND)->tool_tip = (this->base_copy_plane == DPC_DUPLICATE) ? STR_TRACE_RESTRICT_DUPLICATE_TOOLTIP : STR_TRACE_RESTRICT_COPY_TOOLTIP;
|
||||
this->UpdatePlaceObjectPlanes();
|
||||
|
||||
// haven't selected instruction
|
||||
/* Haven't selected instruction */
|
||||
if (this->selected_instruction < 1) {
|
||||
this->SetDirty();
|
||||
return;
|
||||
@@ -3080,10 +3078,10 @@ private:
|
||||
} else if (GetTraceRestrictType(item) == TRIT_COND_ENDIF) {
|
||||
this->EnableWidget(TR_WIDGET_INSERT);
|
||||
if (GetTraceRestrictCondFlags(item) != 0) {
|
||||
// this is not an end if, it must be an else, enable removing
|
||||
/* This is not an end if, it must be an else, enable removing */
|
||||
this->EnableWidget(TR_WIDGET_REMOVE);
|
||||
|
||||
// setup condflags dropdown to show else
|
||||
/* Setup condflags dropdown to show else */
|
||||
left_2_sel->SetDisplayedPlane(DPL2_CONDFLAGS);
|
||||
this->EnableWidget(TR_WIDGET_CONDFLAGS);
|
||||
this->GetWidget<NWidgetCore>(TR_WIDGET_CONDFLAGS)->widget_data = STR_TRACE_RESTRICT_CONDITIONAL_ELSE;
|
||||
@@ -3093,13 +3091,13 @@ private:
|
||||
|
||||
int type_widget;
|
||||
if (IsTraceRestrictConditional(item)) {
|
||||
// note that else and end if items are not handled here, they are handled above
|
||||
/* Note that else and end if items are not handled here, they are handled above */
|
||||
|
||||
left_2_sel->SetDisplayedPlane(DPL2_CONDFLAGS);
|
||||
left_sel->SetDisplayedPlane(DPL_TYPE);
|
||||
type_widget = TR_WIDGET_TYPE_COND;
|
||||
|
||||
// setup condflags dropdown box
|
||||
/* Setup condflags dropdown box */
|
||||
left_2_sel->SetDisplayedPlane(DPL2_CONDFLAGS);
|
||||
switch (GetTraceRestrictCondFlags(item)) {
|
||||
case TRCF_DEFAULT: // opening if, leave disabled
|
||||
@@ -3144,7 +3142,7 @@ private:
|
||||
if (IsIntegerValueType(properties.value_type)) {
|
||||
right_sel->SetDisplayedPlane(DPR_VALUE_INT);
|
||||
this->EnableWidget(TR_WIDGET_VALUE_INT);
|
||||
} else if(IsDecimalValueType(properties.value_type)) {
|
||||
} else if (IsDecimalValueType(properties.value_type)) {
|
||||
right_sel->SetDisplayedPlane(DPR_VALUE_DECIMAL);
|
||||
this->EnableWidget(TR_WIDGET_VALUE_DECIMAL);
|
||||
} else {
|
||||
@@ -3436,7 +3434,7 @@ private:
|
||||
{
|
||||
DropDownList list;
|
||||
|
||||
for (Company *c : Company::Iterate()) {
|
||||
for (const Company *c : Company::Iterate()) {
|
||||
list.emplace_back(MakeCompanyDropDownListItem(c->index));
|
||||
if (c->index == value) missing_ok = true;
|
||||
}
|
||||
@@ -3487,13 +3485,13 @@ private:
|
||||
uint offset = this->selected_instruction - 1;
|
||||
|
||||
const TraceRestrictProgram *prog = this->GetProgram();
|
||||
if (!prog) return false;
|
||||
if (prog == nullptr) return false;
|
||||
|
||||
std::vector<TraceRestrictItem> items = prog->items; // copy
|
||||
|
||||
if (offset >= (TraceRestrictProgram::GetInstructionCount(items) + (replace ? 0 : 1))) return false; // off the end of the program
|
||||
|
||||
uint array_offset = (uint)TraceRestrictProgram::InstructionOffsetToArrayOffset(items, offset);
|
||||
uint array_offset = static_cast<uint>(TraceRestrictProgram::InstructionOffsetToArrayOffset(items, offset));
|
||||
if (replace) {
|
||||
items[array_offset] = item;
|
||||
} else {
|
||||
@@ -3528,7 +3526,7 @@ private:
|
||||
};
|
||||
|
||||
static constexpr NWidgetPart _nested_program_widgets[] = {
|
||||
// Title bar
|
||||
/* Title bar */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, TR_WIDGET_CAPTION), SetDataTip(STR_TRACE_RESTRICT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
@@ -3538,14 +3536,14 @@ static constexpr NWidgetPart _nested_program_widgets[] = {
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
|
||||
// Program display
|
||||
/* Program display */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, TR_WIDGET_INSTRUCTION_LIST), SetMinimalSize(372, 62), SetDataTip(0x0, STR_TRACE_RESTRICT_INSTRUCTION_LIST_TOOLTIP),
|
||||
SetResize(1, 1), SetScrollbar(TR_WIDGET_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, TR_WIDGET_SCROLLBAR),
|
||||
EndContainer(),
|
||||
|
||||
// Button Bar
|
||||
/* Button Bar */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, TR_WIDGET_UP_BTN), SetMinimalSize(12, 12), SetDataTip(SPR_ARROW_UP, STR_TRACE_RESTRICT_UP_BTN_TOOLTIP),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, TR_WIDGET_DOWN_BTN), SetMinimalSize(12, 12), SetDataTip(SPR_ARROW_DOWN, STR_TRACE_RESTRICT_DOWN_BTN_TOOLTIP),
|
||||
@@ -3734,8 +3732,8 @@ private:
|
||||
TraceRestrictSlotID slot_rename; ///< Slot being renamed or max occupancy changed, INVALID_TRACE_RESTRICT_SLOT_ID if none
|
||||
TraceRestrictSlotID slot_over; ///< Slot over which a vehicle is dragged, INVALID_TRACE_RESTRICT_SLOT_ID if none
|
||||
TraceRestrictSlotID slot_confirm; ///< Slot awaiting delete confirmation
|
||||
GUIList<const TraceRestrictSlot*> slots; ///< List of slots
|
||||
uint tiny_step_height; ///< Step height for the slot list
|
||||
GUIList<const TraceRestrictSlot*> slots; ///< List of slots
|
||||
uint tiny_step_height; ///< Step height for the slot list
|
||||
Scrollbar *slot_sb;
|
||||
|
||||
Dimension column_size[VGC_END]; ///< Size of the columns in the group list.
|
||||
@@ -3781,8 +3779,8 @@ private:
|
||||
this->tiny_step_height += WidgetDimensions::scaled.matrix.top + ScaleGUITrad(1);
|
||||
|
||||
return WidgetDimensions::scaled.framerect.Horizontal() + WidgetDimensions::scaled.vsep_wide +
|
||||
this->column_size[VGC_NAME].width + WidgetDimensions::scaled.vsep_wide +
|
||||
this->column_size[VGC_NUMBER].width + WidgetDimensions::scaled.vsep_normal;
|
||||
this->column_size[VGC_NAME].width + WidgetDimensions::scaled.vsep_wide +
|
||||
this->column_size[VGC_NUMBER].width + WidgetDimensions::scaled.vsep_normal;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3812,7 +3810,13 @@ private:
|
||||
SetDParam(0, slot_id);
|
||||
str = STR_TRACE_RESTRICT_SLOT_NAME;
|
||||
}
|
||||
int x = rtl ? right - WidgetDimensions::scaled.framerect.right - WidgetDimensions::scaled.vsep_wide - this->column_size[VGC_NAME].width + 1 : left + WidgetDimensions::scaled.framerect.left + WidgetDimensions::scaled.vsep_wide;
|
||||
|
||||
int x;
|
||||
if (rtl) {
|
||||
x = right - WidgetDimensions::scaled.framerect.right - WidgetDimensions::scaled.vsep_wide - this->column_size[VGC_NAME].width + 1;
|
||||
} else {
|
||||
x = left + WidgetDimensions::scaled.framerect.left + WidgetDimensions::scaled.vsep_wide;
|
||||
}
|
||||
DrawString(x, x + this->column_size[VGC_NAME].width - 1, y + (this->tiny_step_height - this->column_size[VGC_NAME].height) / 2, str, colour);
|
||||
|
||||
if (slot_id == ALL_TRAINS_TRACE_RESTRICT_SLOT_ID) return;
|
||||
@@ -3976,8 +3980,8 @@ public:
|
||||
|
||||
this->BuildSlotList(this->owner);
|
||||
|
||||
this->slot_sb->SetCount((uint)this->slots.size());
|
||||
this->vscroll->SetCount((uint)this->vehgroups.size());
|
||||
this->slot_sb->SetCount(static_cast<uint>(this->slots.size()));
|
||||
this->vscroll->SetCount(static_cast<uint>(this->vehgroups.size()));
|
||||
|
||||
/* Disable the slot specific function when we select all vehicles */
|
||||
this->SetWidgetsDisabledState(this->vli.index == ALL_TRAINS_TRACE_RESTRICT_SLOT_ID || _local_company != this->vli.company,
|
||||
@@ -4011,7 +4015,7 @@ public:
|
||||
|
||||
case WID_TRSL_LIST_SLOTS: {
|
||||
int y1 = r.top + WidgetDimensions::scaled.framerect.top;
|
||||
int max = std::min<int>(this->slot_sb->GetPosition() + this->slot_sb->GetCapacity(), (int)this->slots.size());
|
||||
int max = std::min<int>(this->slot_sb->GetPosition() + this->slot_sb->GetCapacity(), static_cast<int>(this->slots.size()));
|
||||
for (int i = this->slot_sb->GetPosition(); i < max; ++i) {
|
||||
const TraceRestrictSlot *slot = this->slots[i];
|
||||
|
||||
@@ -4142,7 +4146,7 @@ public:
|
||||
if (id_s >= this->slots.size()) return; // click out of list bound
|
||||
|
||||
if (_ctrl_pressed) {
|
||||
// remove from old group
|
||||
/* Remove from old group */
|
||||
DoCommandP(0, this->slot_sel, vindex, CMD_REMOVE_VEHICLE_TRACERESTRICT_SLOT | CMD_MSG(STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_REMOVE_VEHICLE));
|
||||
}
|
||||
DoCommandP(0, this->slots[id_s]->index, vindex, CMD_ADD_VEHICLE_TRACERESTRICT_SLOT | CMD_MSG(STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_ADD_VEHICLE));
|
||||
@@ -4221,7 +4225,7 @@ public:
|
||||
|
||||
virtual void OnPlaceObjectAbort() override
|
||||
{
|
||||
/* abort drag & drop */
|
||||
/* Abort drag & drop */
|
||||
this->vehicle_sel = INVALID_VEHICLE;
|
||||
this->DirtyHighlightedSlotWidget();
|
||||
this->slot_over = INVALID_GROUP;
|
||||
@@ -4389,9 +4393,9 @@ private:
|
||||
TraceRestrictCounterID ctr_qt_op; ///< Counter being adjusted in query text operation, INVALID_TRACE_RESTRICT_COUNTER_ID if none
|
||||
TraceRestrictCounterID ctr_confirm; ///< Counter awaiting delete confirmation
|
||||
TraceRestrictCounterID selected; ///< Selected counter
|
||||
GUIList<const TraceRestrictCounter*> ctrs; ///< List of slots
|
||||
uint tiny_step_height; ///< Step height for the counter list
|
||||
uint value_col_width; ///< Value column width
|
||||
GUIList<const TraceRestrictCounter*> ctrs; ///< List of slots
|
||||
uint tiny_step_height; ///< Step height for the counter list
|
||||
uint value_col_width; ///< Value column width
|
||||
Scrollbar *sb;
|
||||
|
||||
void BuildCounterList()
|
||||
@@ -4424,9 +4428,9 @@ private:
|
||||
this->value_col_width = dim.width;
|
||||
|
||||
return WidgetDimensions::scaled.framerect.Horizontal() + WidgetDimensions::scaled.vsep_wide +
|
||||
170 + WidgetDimensions::scaled.vsep_wide +
|
||||
dim.width + WidgetDimensions::scaled.vsep_wide +
|
||||
WidgetDimensions::scaled.framerect.right;
|
||||
170 + WidgetDimensions::scaled.vsep_wide +
|
||||
dim.width + WidgetDimensions::scaled.vsep_wide +
|
||||
WidgetDimensions::scaled.framerect.right;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4516,7 +4520,7 @@ public:
|
||||
{
|
||||
this->BuildCounterList();
|
||||
|
||||
this->sb->SetCount((uint)this->ctrs.size());
|
||||
this->sb->SetCount(static_cast<uint>(this->ctrs.size()));
|
||||
|
||||
/* Disable the counter specific functions when no counter is selected */
|
||||
this->SetWidgetsDisabledState(this->selected == INVALID_TRACE_RESTRICT_COUNTER_ID || _local_company != this->ctr_company,
|
||||
@@ -4542,7 +4546,7 @@ public:
|
||||
case WID_TRCL_LIST_COUNTERS: {
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
|
||||
int y1 = ir.top;
|
||||
int max = std::min<int>(this->sb->GetPosition() + this->sb->GetCapacity(), (int)this->ctrs.size());
|
||||
int max = std::min<int>(this->sb->GetPosition() + this->sb->GetCapacity(), static_cast<int>(this->ctrs.size()));
|
||||
for (int i = this->sb->GetPosition(); i < max; ++i) {
|
||||
const TraceRestrictCounter *ctr = this->ctrs[i];
|
||||
|
||||
|
Reference in New Issue
Block a user