Merge branch 'master' into jgrpp-beta

# Conflicts:
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/cheat_sl.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/engine_sl.cpp
#	src/saveload/map_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/stdafx.h
#	src/table/settings/settings.ini
#	src/town_cmd.cpp
#	src/vehicle.cpp
This commit is contained in:
Jonathan G Rennison
2021-10-25 18:10:15 +01:00
81 changed files with 705 additions and 649 deletions

View File

@@ -35,9 +35,9 @@ DEFINE_POOL_METHOD(inline)::Pool(const char *name) :
first_free(0),
first_unused(0),
items(0),
#ifdef OTTD_ASSERT
#ifdef WITH_ASSERT
checked(0),
#endif /* OTTD_ASSERT */
#endif /* WITH_ASSERT */
cleaning(false),
data(nullptr),
free_bitmap(nullptr),
@@ -145,10 +145,10 @@ DEFINE_POOL_METHOD(void *)::GetNew(size_t size)
{
size_t index = this->FindFirstFree();
#ifdef OTTD_ASSERT
#ifdef WITH_ASSERT
assert(this->checked != 0);
this->checked--;
#endif /* OTTD_ASSERT */
#endif /* WITH_ASSERT */
if (index == NO_FREE_ITEM) {
error("%s: no more free items", this->name);
}

View File

@@ -90,9 +90,9 @@ struct Pool : PoolBase {
size_t first_free; ///< No item with index lower than this is free (doesn't say anything about this one!)
size_t first_unused; ///< This and all higher indexes are free (doesn't say anything about first_unused-1 !)
size_t items; ///< Number of used indexes (non-nullptr)
#ifdef OTTD_ASSERT
#ifdef WITH_ASSERT
size_t checked; ///< Number of items we checked for
#endif /* OTTD_ASSERT */
#endif /* WITH_ASSERT */
bool cleaning; ///< True if cleaning pool (deleting all items)
Titem **data; ///< Pointer to array of pointers to Titem
@@ -131,9 +131,9 @@ struct Pool : PoolBase {
inline bool CanAllocate(size_t n = 1)
{
bool ret = this->items <= Tmax_size - n;
#ifdef OTTD_ASSERT
#ifdef WITH_ASSERT
this->checked = ret ? n : 0;
#endif /* OTTD_ASSERT */
#endif /* WITH_ASSERT */
return ret;
}