Merge branch 'master' into jgrpp
# Conflicts: # src/fileio.cpp # src/group_gui.cpp # src/industry.h # src/lang/korean.txt # src/linkgraph/linkgraphjob.cpp # src/linkgraph/linkgraphjob.h # src/linkgraph/linkgraphschedule.cpp # src/linkgraph/linkgraphschedule.h # src/openttd.cpp # src/saveload/saveload.cpp # src/saveload/saveload.h # src/town_cmd.cpp # src/vehicle_gui.cpp # src/vehicle_gui_base.h
This commit is contained in:
@@ -77,9 +77,9 @@ ScriptController::ScriptController(CompanyID company) :
|
||||
|
||||
ScriptController::~ScriptController()
|
||||
{
|
||||
for (LoadedLibraryList::iterator iter = this->loaded_library.begin(); iter != this->loaded_library.end(); iter++) {
|
||||
free((*iter).second);
|
||||
free((*iter).first);
|
||||
for (const auto &item : this->loaded_library) {
|
||||
free(item.second);
|
||||
free(item.first);
|
||||
}
|
||||
|
||||
this->loaded_library.clear();
|
||||
@@ -116,11 +116,6 @@ ScriptController::~ScriptController()
|
||||
Squirrel *engine = ScriptObject::GetActiveInstance()->engine;
|
||||
HSQUIRRELVM vm = engine->GetVM();
|
||||
|
||||
/* Internally we store libraries as 'library.version' */
|
||||
char library_name[1024];
|
||||
seprintf(library_name, lastof(library_name), "%s.%d", library, version);
|
||||
strtolower(library_name);
|
||||
|
||||
ScriptInfo *lib = ScriptObject::GetActiveInstance()->FindLibrary(library, version);
|
||||
if (lib == nullptr) {
|
||||
char error[1024];
|
||||
@@ -128,15 +123,20 @@ ScriptController::~ScriptController()
|
||||
throw sq_throwerror(vm, error);
|
||||
}
|
||||
|
||||
/* Internally we store libraries as 'library.version' */
|
||||
char library_name[1024];
|
||||
seprintf(library_name, lastof(library_name), "%s.%d", library, version);
|
||||
strtolower(library_name);
|
||||
|
||||
/* Get the current table/class we belong to */
|
||||
HSQOBJECT parent;
|
||||
sq_getstackobj(vm, 1, &parent);
|
||||
|
||||
char fake_class[1024];
|
||||
|
||||
LoadedLibraryList::iterator iter = controller->loaded_library.find(library_name);
|
||||
if (iter != controller->loaded_library.end()) {
|
||||
strecpy(fake_class, (*iter).second, lastof(fake_class));
|
||||
LoadedLibraryList::iterator it = controller->loaded_library.find(library_name);
|
||||
if (it != controller->loaded_library.end()) {
|
||||
strecpy(fake_class, (*it).second, lastof(fake_class));
|
||||
} else {
|
||||
int next_number = ++controller->loaded_library_count;
|
||||
|
||||
|
@@ -23,7 +23,6 @@
|
||||
* script that matches to the specified version as close as possible. It tries
|
||||
* (from first to last, stopping as soon as the attempt succeeds)
|
||||
*
|
||||
* - load the exact same version of the same script,
|
||||
* - load the latest version of the same script that supports loading data from
|
||||
* the saved version (the version of saved data must be equal or greater
|
||||
* than ScriptInfo::MinVersionToLoad),
|
||||
|
Reference in New Issue
Block a user