diff --git a/Aquaria/DSQ.cpp b/Aquaria/DSQ.cpp index 6d53b0a..f18bb6b 100644 --- a/Aquaria/DSQ.cpp +++ b/Aquaria/DSQ.cpp @@ -62,7 +62,7 @@ static void Linux_CopyTree(const char *src, const char *dst) if (S_ISDIR(statbuf.st_mode)) { - mkdir(dst, 0700); // don't care if this fails. + createDir(dst); // don't care if this fails. DIR *dirp = opendir(src); if (dirp == NULL) return; @@ -156,8 +156,6 @@ Vector savesz; DSQ::DSQ(const std::string& fileSystem, const std::string& extraDataDir) : Core(fileSystem, extraDataDir, LR_MAX, APPNAME, PARTICLE_AMOUNT_DEFAULT, "Aquaria") { - // 2048 - //createDirectory(getSaveDirectory()); dsq = this; cutscene_bg = 0; @@ -947,14 +945,10 @@ This build is not yet final, and as such there are a couple things lacking. They Linux_CopyTree(core->adjustFilenameCase("_mods").c_str(), core->adjustFilenameCase(fn).c_str()); #endif - std::string p1 = getUserDataFolder(); - std::string p2 = getUserDataFolder() + "/save"; -#if defined(BBGE_BUILD_UNIX) - mkdir(p1.c_str(), S_IRWXU); - mkdir(p2.c_str(), S_IRWXU); -#elif defined(BBGE_BUILD_WINDOWS) - CreateDirectoryA(p2.c_str(), NULL); -#endif + createDir(getUserDataFolder()); + createDir(getUserDataFolder() + "/save"); + createDir(getUserDataFolder() + "/_mods"); + createDir(getUserDataFolder() + "/screenshots"); addStateInstance(game = new Game); addStateInstance(new GameOver); @@ -2670,6 +2664,8 @@ void DSQ::clearMenu(float t) void DSQ::screenMessage(const std::string &msg) { + debugLog(msg); + DebugFont *b = new DebugFont(); b->position = Vector(16,300); b->setFontSize(10); diff --git a/Aquaria/Game.cpp b/Aquaria/Game.cpp index fcd5252..2fd1b28 100644 --- a/Aquaria/Game.cpp +++ b/Aquaria/Game.cpp @@ -1543,7 +1543,7 @@ void Game::pickupIngredientEffects(IngredientData *data) ingOffYTimer = 2; } -void Game::hideInGameMenu(bool effects) +void Game::hideInGameMenu(bool effects, bool cancel) { if (isCooking) return; if (FoodSlot::foodSlotIndex != -1) return; @@ -1577,8 +1577,11 @@ void Game::hideInGameMenu(bool effects) } dsq->continuity.lastMenuPage = currentMenuPage; + if(cancel && (optionsMenu || keyConfigMenu)) + onOptionsCancel(); + else + toggleOptionsMenu(false); - toggleOptionsMenu(false); if (!optionsOnly) { toggleFoodMenu(false); @@ -2154,8 +2157,6 @@ void Game::reconstructGrid(bool force) } trimGrid(); - - dsq->pathFinding.generateZones(); } void Game::trimGrid() @@ -3327,7 +3328,7 @@ void Game::createInGameMenu() resBox->position = Vector(196, 285); for (i = 0; i < core->screenModes.size(); i++) { - ostringstream os; + std::ostringstream os; os << core->screenModes[i].x << "x" << core->screenModes[i].y; resBox->addItem(os.str()); if (core->screenModes[i].x == dsq->user.video.resx && core->screenModes[i].y == dsq->user.video.resy) diff --git a/Aquaria/Game.h b/Aquaria/Game.h index 0cdf44f..3622df2 100644 --- a/Aquaria/Game.h +++ b/Aquaria/Game.h @@ -786,7 +786,7 @@ public: void loadEntityTypeList(); std::vector entitySaveData; int getIdxForEntityType(std::string type); - void hideInGameMenu(bool effects=true); + void hideInGameMenu(bool effects=true, bool cancel=false); void showInGameMenu(bool force=false, bool optionsOnly=false, MenuPage menuPage = MENUPAGE_NONE); bool optionsOnly; @@ -1207,8 +1207,9 @@ int Game::getGridRaw(unsigned int x, unsigned int y) const inline int Game::getGrid(const TileVector &tile) const { - if (tile.x < 0 || tile.x >= MAX_GRID || tile.y < 0 || tile.y >= MAX_GRID) return OT_INVISIBLE; - return grid[tile.x][tile.y]; + //if (tile.x < 0 || tile.x >= MAX_GRID || tile.y < 0 || tile.y >= MAX_GRID) return OT_INVISIBLE; + //return grid[tile.x][tile.y]; + return (unsigned(tile.x) < unsigned(MAX_GRID) && unsigned(tile.y) < unsigned(MAX_GRID)) ? grid[tile.x][tile.y] : OT_INVISIBLE; } inline diff --git a/Aquaria/ModDownloader.cpp b/Aquaria/ModDownloader.cpp index 947469e..2a34ed3 100644 --- a/Aquaria/ModDownloader.cpp +++ b/Aquaria/ModDownloader.cpp @@ -8,10 +8,6 @@ #include "Network.h" #include "tinyxml.h" -#ifdef BBGE_BUILD_UNIX -#include -#endif - using Network::NetEvent; using Network::NE_ABORT; using Network::NE_FINISH; @@ -22,16 +18,6 @@ using Network::NE_UPDATE; ModDL moddl; -// TODO: move this to Base.cpp and replace other similar occurrances -static void createDir(const char *d) -{ -#if defined(BBGE_BUILD_UNIX) - mkdir(d, S_IRWXU); -#elif defined(BBGE_BUILD_WINDOWS) - CreateDirectoryA(d, NULL); -#endif -} - // .../_mods/ // .../_mods/.zip static std::string _PathToModName(const std::string& path) @@ -156,7 +142,7 @@ void ModDL::GetModlist(const std::string& url, bool allowChaining, bool first) { if(first) knownServers.clear(); - + // Prevent recursion, self-linking, or cycle linking. // In theory, this allows setting up a server network // where each server links to any servers it knows, @@ -184,7 +170,7 @@ void ModDL::GetModlist(const std::string& url, bool allowChaining, bool first) std::ostringstream os; os << "Fetching mods list [" << url << "], chain: " << allowChaining; debugLog(os.str()); - + std::string localName = remoteToLocalName(url); debugLog("... to: " + localName); @@ -240,7 +226,7 @@ void ModDL::NotifyModlist(ModlistRequest *rq, NetEvent ev, size_t recvd, size_t } return; } - + if(scr) { scr->globeIcon->alpha.stop(); @@ -289,7 +275,7 @@ bool ModDL::ParseModXML(const std::string& fn, bool allowChaining) //-- optional tag, if not given, "mod" is assumed. Can be "mod", "patch", or "weblink". // if type=="weblink", will be opened with the default web browser. - + ... @@ -526,7 +512,7 @@ void ModDL::NotifyMod(ModRequest *rq, NetEvent ev, size_t recvd, size_t total) remove(archiveFile.c_str()); if(rename(rq->tempFilename.c_str(), archiveFile.c_str())) { - debugLog("Could not rename mod " + rq->tempFilename + " to " + archiveFile); + dsq->screenMessage("Failed to rename mod\n" + rq->tempFilename + "\n to\n" + archiveFile); return; } else @@ -537,7 +523,7 @@ void ModDL::NotifyMod(ModRequest *rq, NetEvent ev, size_t recvd, size_t total) // Dir already exists, just remount everything vfs.Reload(); } - else if(!dsq->mountModPackage(archiveFile)) + else if(!dsq->mountModPackage(archiveFile)) { // make package readable (so that the icon can be shown) // But only if it wasn't mounted before! diff --git a/Aquaria/PathFinding.cpp b/Aquaria/PathFinding.cpp index 9080e09..df0bcae 100644 --- a/Aquaria/PathFinding.cpp +++ b/Aquaria/PathFinding.cpp @@ -18,333 +18,37 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include #include "PathFinding.h" #include "DSQ.h" #include "Game.h" - -const int divs = 6; -const int MAX_ZONES=1000; -const int MAX_STEPS = 5000; -const int cutOff = int((divs*divs)*0.75f); - -namespace PathFindingGlobals +class SearchGrid { - // This isn't used by the current code, so I've commented it out to - // save 4MB of RAM. --achurch - //int zones[MAX_ZONES][MAX_ZONES]; - - MapSearchNode node_goal; - MapSearchNode node_start; - RenderObject *render_object; - bool hate_diagonals; -} - -float MapSearchNode::GoalDistanceEstimate( MapSearchNode &nodeGoal ) -{ - float xd = float( ( (float)x - (float)nodeGoal.x ) ); - float yd = float( ( (float)y - (float)nodeGoal.y) ); - - return ((xd*xd) + (yd*yd)); - //return 0; - /* - int r = 10; - float c = 0; - for (int x = -r; x < r; x+=2) +public: + SearchGrid() : game(dsq->game) {} + inline bool operator()(unsigned x, unsigned y) const { - for (int y = -r; y < r; y+=2) - { - if (dsq->game->getGrid(TileVector(this->x+x, this->y+y))) - { - //c+= r*TILE_SIZE - c++; - } - } - } - return ((xd*xd) + (yd*yd)) + c * (2*TILE_SIZE); - */ + return game->getGrid(TileVector(x, y)) == OT_EMPTY; + } +private: + const Game *game; +}; - - /* - float xd = float( ( (float)x - (float)nodeGoal.x ) ); - float yd = float( ( (float)y - (float)nodeGoal.y) ); - int dist = ((xd*xd) + (yd*yd)); - return (int(dist/80)*80); - */ - - //return ((xd*xd) + (yd*yd)); - - - - - - // + c; //+ c * (2*TILE_SIZE); -} - -bool MapSearchNode::IsGoal( MapSearchNode &nodeGoal ) +static void generateVectorPath(const JPS::PathVector& rawpath, VectorPath& vp, int offx, int offy) { - Vector v(x, y); - Vector g(nodeGoal.x, nodeGoal.y); - if (divs > 1) - { - if ((v - g).getSquaredLength2D() <= sqr(divs+1)) - { - // HACK: remember this - //debugLog ("really close to the goal!"); - return true; - } - } - if( int(x/divs) == int(nodeGoal.x/divs) && int(y/divs) == int(nodeGoal.y/divs)) - { - return true; - } - - return false; + for(JPS::PathVector::const_iterator it = rawpath.begin(); it != rawpath.end(); ++it) + vp.addPathNode(Vector((it->x*TILE_SIZE)+TILE_SIZE/2+offx, (it->y*TILE_SIZE)+TILE_SIZE/2)+offy, 0); } -// This generates the successors to the given Node. It uses a helper function called -// AddSuccessor to give the successors to the AStar class. The A* specific initialisation -// is done for each node internally, so here you just set the state information that -// is specific to the application -bool MapSearchNode::GetSuccessors( AStarSearch *astarsearch, MapSearchNode *parent_node ) -{ - - int parent_x = -1; - int parent_y = -1; - - if( parent_node ) - { - parent_x = parent_node->x; - parent_y = parent_node->y; - } - - - MapSearchNode NewNode; - - int i = divs; - // push each possible move except allowing the search to go backwards - if ((GetMap (x-i, y) <= 0) && !((parent_x == x-i) && (parent_y == y))) - { - NewNode = MapSearchNode( x-i, y ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x, y-i) <= 0) && !((parent_x == x) && (parent_y == y-i))) - { - NewNode = MapSearchNode( x, y-i ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x+i, y) <= 0) && !((parent_x == x+i) && (parent_y == y))) - { - NewNode = MapSearchNode( x+i, y ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x, y+i) <= 0) && !((parent_x == x) && (parent_y == y+i))) - { - NewNode = MapSearchNode( x, y+i ); - astarsearch->AddSuccessor( NewNode ); - } - - if (!PathFindingGlobals::hate_diagonals) - { - if ((GetMap (x-i, y-i) < 1) && !((parent_x == x-i) && (parent_y == y-i))) - { - NewNode = MapSearchNode( x-i, y-i ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x-i, y+i) < 1) && !((parent_x == x-i) && (parent_y == y+i))) - { - NewNode = MapSearchNode( x-i, y+i ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x+i, y+i) <1) && !((parent_x == x+i) && (parent_y == y+i))) - { - NewNode = MapSearchNode( x+i, y+i ); - astarsearch->AddSuccessor( NewNode ); - } - - if ((GetMap (x+i, y-i) < 1) && !((parent_x == x+i) && (parent_y == y-i))) - { - NewNode = MapSearchNode( x+i, y-i ); - astarsearch->AddSuccessor( NewNode ); - } - } - - return true; -} - -// given this node, what does it cost to move to successor. In the case -// of our map the answer is the map terrain value at this node since that is -// conceptually where we're moving -float MapSearchNode::GetCost( MapSearchNode &successor ) -{ - float cost = 1; - /* - if (PathFindingGlobals::hate_diagonals) - { - if (successor.x != x && successor.y != y) - { - cost = 0.1; - } - } - */ - - //Vector p(x, y); - //penalize moving towards obstructions - /* - int r = 20; - float costy=0; - int c = 0; - float v = 0; - float dist = sqr(r*TILE_SIZE); - TileVector tme(this->x, this->y); - for (int x = -r; x < r; x++) - { - for (int y = -r; y < r; y++) - { - TileVector t(this->x + x, this->y + y); - if (dsq->game->isObstructed(t)) - { - - Vector diff = t.worldVector() - tme.worldVector(); - int d = diff.getSquaredLength2D(); - if (d < dist) - { - costy += 0.1; - } - - //TileVector tme(this->x, this->y); - //Vector diff = t.worldVector() - tme.worldVector(); - //int d = diff.getSquaredLength2D(); - //if (d < dist) - //{ - // v += dist-diff.getSquaredLength2D(); - //} - - } - c++; - } - } - cost += costy; - */ - /* - if (v > 0) - { - v /= float(c); - v /= float(dist); - cost += v*TILE_SIZE*10; - } - */ - - - - - //penalize changing direction to tempt computer into moving in "straighter" paths - /* - if (successor.y != y && (dir == LEFT || dir == RIGHT)) - cost +=39; - if (successor.x != x && (dir == UP || dir == DOWN)) - cost +=39; - */ - - return cost; -} - -int MapSearchNode::GetMap (int tx, int ty) -{ - //return 0; - //return PathFindingGlobals::zones[int(tx/divs)][int(ty/divs)] > cutOff; - int v = dsq->game->getGrid(TileVector(tx,ty)); - /* - if (v != 0 && v != 1) - { - std::ostringstream os; - os << "v: " << v; - debugLog(os.str()); - } - */ - return v; - /* - if (dsq->game->getGrid(TileVector(x,y)) - || dsq->game->getGrid(TileVector(x+1,y)) - || dsq->game->getGrid(TileVector(x-1,y)) - || dsq->game->getGrid(TileVector(x+2,y)) - || dsq->game->getGrid(TileVector(x-2,y)) - */ - - /* - int r = 3; - for (int x = -r; x < r; x++) - { - for (int y = -r; y < r; y++) - { - if (dsq->game->getGrid(TileVector(tx+x, ty+y))) - return 1; - } - } - return 0; - */ - - /* - // ignore the start node - if (x == KittyTown::instance->nodeStart->x && y == KittyTown::instance->nodeStart->y) - { - obs = -1; - } - return obs; - */ -} - -// same state in a maze search is simply when (x,y) are the same -bool MapSearchNode::IsSameState( MapSearchNode &rhs ) -{ - if( (int(x/divs) == int(rhs.x/divs)) && (int(y/divs) == int(rhs.y/divs)) ) - return true; - else - return false; -} - -void PathFinding::generateZones() -{ - return; - - /* - for (int x = 0; x < MAX_ZONES; x++) - { - for (int y = 0; y < MAX_ZONES; y++) - { - PathFindingGlobals::zones[x][y] = 0; - } - } - for (int x = 0; x < MAX_GRID; x+=divs) - { - for (int y = 0; y < MAX_GRID; y+=divs) - { - for (int xx = x; xx < x + divs; xx++) - { - for (int yy = y; yy < y + divs; yy++) - { - if (dsq->game->getGrid(TileVector(xx,yy)) > 0) - { - PathFindingGlobals::zones[int(x/divs)][int(y/divs)]++; - } - } - } - } - } - */ -} void PathFinding::forceMinimumPath(VectorPath &path, const Vector &start, const Vector &dest) { if (path.getNumPathNodes() <= 2) { - debugLog(" Path is <= 2 nodes... setting up simple path"); + //debugLog(" Path is <= 2 nodes... setting up simple path"); path.clear(); path.addPathNode(start, 0); path.addPathNode(dest, 1); @@ -353,17 +57,8 @@ void PathFinding::forceMinimumPath(VectorPath &path, const Vector &start, const void PathFinding::molestPath(VectorPath &path) { - //path.cut(2); - int sz=path.getNumPathNodes(); - /* - //normals.resize(sz); - - */ - //float maxDist = 15155; - - int i = 0; // make normals std::vector normals; @@ -372,26 +67,12 @@ void PathFinding::molestPath(VectorPath &path) { Vector node = path.getPathNode(i)->value; float dist; - /* - float coverage = dsq->game->getCoverage(node, 100); - int sample = 10; - if (coverage > 0.4f) - sample = 5; - */ int sample = 20; float maxDist = sample * TILE_SIZE; - //sqrtf(sqr(sample*TILE_SIZE)+sqr(sample*TILE_SIZE)); - - //if (coverage < 0.6f) { Vector n = dsq->game->getWallNormal(node, sample, &dist); if (dist != -1 && (n.x != 0 || n.y != 0)) { - /* - if (dist > maxDist) - maxDist = dist; - n *= (maxDist-dist); // *(1.0f-coverage); - */ n.setLength2D(200); TileVector test(node + n); if (dsq->game->isObstructed(test)) @@ -408,55 +89,27 @@ void PathFinding::molestPath(VectorPath &path) } } } - /*std::ostringstream os; - os << "pushing node [" << i << "] out by (" << n.x << ", " << n.y << ") - dist: " << dist << " maxDist: " << maxDist; - debugLog(os.str());*/ - //path.getPathNode(i)->value += n; normals[i] = n; } - /* - std::ostringstream os; - os << "largest maxDist: " << maxDist; - debugLog(os.str()); - */ } } + // use wall normal to push out node a bit std::vector newNormals; newNormals.resize(normals.size()); for (i = 1; i < normals.size()-1; i++) - { - - // not doing smoothing! - Vector thisOne = normals[i]; - - Vector lastOne = normals[i-1]; - Vector nextOne = normals[i+1]; - newNormals[i] = (thisOne + lastOne + nextOne)/3.0f; - - //newNormals[i] = thisOne; - } + newNormals[i] = (normals[i] + normals[i-1] + normals[i+1])/3.0f; for (i = 1; i < sz-1; i++) - { path.getPathNode(i)->value += newNormals[i]; - } - // kill bowls int start = 0; - //int minDist = 150; int runs=0; bool hadSuccess = false; int lastSuccessNode = 0; - //int adjust = int(minDist/float(TILE_SIZE*8)); - int adjust = 2; // 1 -//bowl_loop: + int adjust = 2; sz=path.getNumPathNodes(); - /*std::ostringstream os; - os << "kill bowls # " << runs; - debugLog(os.str());*/ - for (i = start; i < sz-1; i++) { runs++; @@ -469,349 +122,58 @@ void PathFinding::molestPath(VectorPath &path) hadSuccess = false; Vector node = path.getPathNode(i)->value; for (int j = sz-3; j >= i+adjust; j--) - //for (int j = i+adjust; j < sz-1; j++) { Vector target = path.getPathNode(j)->value; - //if ((target-node).getSquaredLength2D() >= sqr(minDist)) + if (dsq->game->trace(node, target)) { - if (dsq->game->trace(node, target)) - { - hadSuccess = true; - lastSuccessNode = j; - break; - } - /* - else if (hadSuccess) - { - //break; - } - */ + hadSuccess = true; + lastSuccessNode = j; + break; } } if (hadSuccess) { - // only do this if - //VectorPath copy = path.copySection(i,lastSuccessNode); - /* // this code will only delete things that are bowl-ish // (things that take you on detours) - float len = path.getSubSectionLength(i, lastSuccessNode); - float shortCut = (path.getPathNode(lastSuccessNode)->value - path.getPathNode(i)->value).getLength2D(); - - if (len > shortCut+TILE_SIZE*4) - */ - { - path.removeNodes(i+1, lastSuccessNode-1); - /*std::ostringstream os; - os << "killing bowl: " << i+1 << " - " << lastSuccessNode-1; - debugLog(os.str());*/ - //start = lastSuccessNode - (lastSuccessNode-i); - //start = i+1; - //i = i+1; - i++; - } + ++i; + path.removeNodes(i, lastSuccessNode-1); hadSuccess = false; - //start += 2; - //goto bowl_loop; } sz = path.getNumPathNodes(); } - //debugLog("kill bowls done"); sz=path.getNumPathNodes(); // remove last node - path.removeNodes(path.getNumPathNodes()-2, path.getNumPathNodes()-2); - - /* -loop: - for (int i = 0; i < sz-2; i++) - { - Vector node = path.getPathNode(i)->value; - Vector next = path.getPathNode(i+1)->value; - Vector next2 = path.getPathNode(i+2)->value; - int dist1 = (next - node).getSquaredLength2D() + (next2 - next).getSquaredLength2D(); - int dist2 = (next2 - node).getSquaredLength2D(); - if (dist2 <= dist1) - { - // remove next - path.removeNode(i+1); - goto loop; - } - } - */ + //path.removeNodes(path.getNumPathNodes()-2, path.getNumPathNodes()-2); path.realPercentageCalc(); - //path.calculatePercentages(); - /* - int sz=path.getNumPathNodes(); - std::vector normals; - normals.resize(sz); - for (int i = 1; i < sz-1; i++) - { - Vector node = path.getPathNode(i)->value; - Vector normal = dsq->game->getWallNormal(node, 10); - if (normal.x != 0 && normal.y != 0) - { - normal = normal*TILE_SIZE*10; - } - normals[i] = normal; - //path.getPathNode(i)->value = node; - } - for (int i = 1; i < sz-1; i++) - { - Vector normal = normals[i]; - Vector lastNormal = normals[i-1]; - - //Vector node = path.getPathNode(i)->value; - //// average with the - //Vector prev = path.getPathNode(i-1)->value; - //Vector next = path.getPathNode(i+1)->value; - - //node = (node + prev)/2.0f; - - normal = (normal + lastNormal)/2.0f; - path.getPathNode(i)->value += normal; - } - */ - /* - for (int i = 1; i < sz; i++) - { - Vector node = path.getPathNode(i)->value; - Vector p0 = path.getPathNode(i-1)->value; - Vector p1 = path.getPathNode(i)->value; - Vector p = p1 - p0; - if (i < sz-1) - { - p += path.getPathNode(i+1)->value - path.getPathNode(i)->value; - p /= 2.0f; - } - Vector pl = p.getPerpendicularLeft(); - Vector pr = p.getPerpendicularRight(); - pl.normalize2D(); - pr.normalize2D(); - TileVector tl(node), tr(node); - int left, right; - int maxCheck = 40; - for (left = 0; left < maxCheck; left++) - { - if (dsq->game->isObstructed(tl)) - break; - tl.x += pl.x; - tl.y += pl.y; - } - for (right = 0; right < maxCheck; right++) - { - if (dsq->game->isObstructed(tr)) - break; - tr.x += pr.x; - tr.y += pr.y; - } - if (left == maxCheck && right == maxCheck) - { - continue; - } - else if (left != 0 || right != 0) - { - //Vector normal = dsq->game->getWallNormal(node); - //if (normal.x != 0 && normal.y != 0) - //{ - // if (left < right) - // path.getPathNode(i)->value += normal * (right-left)*TILE_SIZE; - // if (right > left) - // path.getPathNode(i)->value += normal * (left-right)*TILE_SIZE; - //} - - - //int leftSz = left * TILE_SIZE; - ////if (leftSz <= 0) leftSz = 1; - //int rightSz = right * TILE_SIZE; - ////if (rightSz <= 0) rightSz = 1; - //pl |= leftSz; - //pr |= rightSz; - // - - - path.getPathNode(i)->value = (tr.worldVector() + tl.worldVector())/2.0f; - - //path.getPathNode(i)->value = tl.worldVector() + (tr.worldVector() - tl.worldVector())/2.0f;//(node + pl) + (pr-pl)/2.0f; - path.getPathNode(i)->value.z = 0; - } - } - */ - - /* - for (int i = 1; i < sz; i++) - { - Vector node = path.getPathNode(i)->value; - Vector pl = p.getPerpendicularLeft(); - Vector pr = p.getPerpendicularRight(); - pl.normalize2D(); - pr.normalize2D(); - TileVector tl(node), tr(node); - int left, right; - int maxCheck = 40; - for (int i = 0; i < maxCheck; i++) - { - dsq->game->position - } - if (left == maxCheck && right == maxCheck) - { - continue; - } - else if (left != 0 || right != 0) - { - //Vector normal = dsq->game->getWallNormal(node); - //if (normal.x != 0 && normal.y != 0) - //{ - // if (left < right) - // path.getPathNode(i)->value += normal * (right-left)*TILE_SIZE; - // if (right > left) - // path.getPathNode(i)->value += normal * (left-right)*TILE_SIZE; - //} - - - //int leftSz = left * TILE_SIZE; - ////if (leftSz <= 0) leftSz = 1; - //int rightSz = right * TILE_SIZE; - ////if (rightSz <= 0) rightSz = 1; - //pl |= leftSz; - //pr |= rightSz; - // - - - path.getPathNode(i)->value = (tr.worldVector() + tl.worldVector())/2.0f; - - //path.getPathNode(i)->value = tl.worldVector() + (tr.worldVector() - tl.worldVector())/2.0f;//(node + pl) + (pr-pl)/2.0f; - path.getPathNode(i)->value.z = 0; - } - } - */ - } -void PathFinding::generatePath(RenderObject *ro, TileVector start, TileVector goal, int offx, int offy, bool hate_diagonals) +void PathFinding::generatePath(RenderObject *ro, TileVector start, TileVector goal, int offx, int offy) { - //return; - - int sx = start.x; - int sy = start.y; - int gx = goal.x; - int gy = goal.y; - - - PathFindingGlobals::hate_diagonals = hate_diagonals; - /* - if (offx >= TILE_SIZE/2-1) - offx--; - if (offy >= TILE_SIZE/2-1) - offy--; - if (offx <= TILE_SIZE/2+1) - offx++; - if (offy <= TILE_SIZE/2+1) - offy++; - */ ro->position.ensureData(); - ro->position.data->path.clear(); + VectorPath& vp = ro->position.data->path; + vp.clear(); - PathFindingGlobals::render_object = ro; - AStarSearch astarsearch; - - // Create a start state - MapSearchNode nodeStart; - nodeStart.x = sx; - nodeStart.y = sy; - PathFindingGlobals::node_start = nodeStart; - - if (nodeStart.GetMap(gx, gy) > 0) + SearchGrid grid; + JPS::PathVector path; + if(JPS::findPath(path, grid, start.x, start.y, goal.x, goal.y, 10)) { - std::ostringstream os; - os << "goal (" << gx << ", " << gy << ") blocked"; - debugLog (os.str()); - return; + vp.addPathNode(ro->position, 0); + generateVectorPath(path, vp, offx, offy); } - - // Define the goal state - - MapSearchNode nodeEnd; - nodeEnd.x = gx; - nodeEnd.y = gy; - - PathFindingGlobals::node_goal = nodeEnd; - - // Set Start and goal states - - astarsearch.SetStartAndGoalStates( nodeStart, nodeEnd ); - - unsigned int SearchState; - unsigned int SearchSteps = 0; - - do - { - SearchState = astarsearch.SearchStep(); - - if (SearchState != AStarSearch::SEARCH_STATE_SEARCHING) - break; - - SearchSteps++; - - if (SearchSteps > MAX_STEPS) break; - } - while( SearchState == AStarSearch::SEARCH_STATE_SEARCHING ); - - if( SearchState == AStarSearch::SEARCH_STATE_SUCCEEDED ) - { - //errorLog ("Search found goal state",0); - - MapSearchNode *node = astarsearch.GetSolutionStart(); - int steps = 0; - - //node->PrintNodeInfo(); - ro->position.data->path.addPathNode(Vector((node->x*TILE_SIZE)+TILE_SIZE/2+offx, (node->y*TILE_SIZE)+TILE_SIZE/2)+offy, 0); - for( ;; ) - { - node = astarsearch.GetSolutionNext(); - - if( !node ) - { - break; - } - - //node->PrintNodeInfo(); - ro->position.data->path.addPathNode(Vector((node->x*TILE_SIZE)+TILE_SIZE/2+offx, (node->y*TILE_SIZE)+TILE_SIZE/2)+offy, steps); - steps ++; - }; - //ro->position.path.addPathNode(Vector(goal.x*TILE_SIZE, goal.y*TILE_SIZE), steps); - /* - std::ostringstream os; - os << "Solution steps " << steps; - msg(os.str()); - */ - - // Once you're done with the solution you can free the nodes up - astarsearch.FreeSolutionNodes(); - } - else if( SearchState == AStarSearch::SEARCH_STATE_FAILED ) - { - debugLog("Search terminated. Did not find goal state"); - - //astarsearch.FreeSolutionNodes(); - astarsearch.FreeStartAndGoalNodes(); - } - else - { - // exceeded count - debugLog("Path too long"); - - astarsearch.FreeAllNodes(); - astarsearch.FreeStartAndGoalNodes(); - //astarsearch.FreeSolutionNodes(); - } - - if (astarsearch.m_AllocateNodeCount != astarsearch.m_FreeNodeCount) - { - debugLog("astar memory leak"); - } - //return path_vector; } +bool PathFinding::generatePathSimple(VectorPath& path, const Vector& start, const Vector& end, unsigned int step /* = 0 */) +{ + SearchGrid grid; + JPS::PathVector p; + TileVector tstart(start); + TileVector tend(end); + if(!JPS::findPath(p, grid, tstart.x, tstart.y, tend.x, tend.y, step)) + return false; + generateVectorPath(p, path, 0, 0); + molestPath(path); + return true; +} diff --git a/Aquaria/PathFinding.h b/Aquaria/PathFinding.h index fb82b42..c0dc9c2 100644 --- a/Aquaria/PathFinding.h +++ b/Aquaria/PathFinding.h @@ -26,782 +26,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "TileVector.h" #include -using namespace std; - -/* -class AStarNode -{ -public: - const bool operator==(const AStarNode &a) const - { - return x==a.x && y==a.y; - } - const bool operator<(const AStarNode &a) const; - - AStarNode(){x=0;y=0;parent=0;} - AStarNode (int x, int y) : x(x),y(y){} - int x, y; - int f, g, h; - AStarNode *parent; - //int id; - //int pid; -}; -*/ - -class AStarSearch; - -class MapSearchNode -{ -public: - unsigned int x; // the (x,y) positions of the node - unsigned int y; - - MapSearchNode() { x = y = 0;} - MapSearchNode( unsigned int px, unsigned int py ) { x=px; y=py;} - - float GoalDistanceEstimate( MapSearchNode &nodeGoal ); - bool IsGoal( MapSearchNode &nodeGoal ); - bool GetSuccessors( AStarSearch *astarsearch, MapSearchNode *parent_node ); - float GetCost( MapSearchNode &successor ); - bool IsSameState( MapSearchNode &rhs ); - int GetMap (int x, int y); - - //void PrintNodeInfo(); -}; - class RenderObject; +class SearchGrid; +class Game; + class PathFinding { public: void forceMinimumPath(VectorPath &path, const Vector &start, const Vector &dest); void molestPath(VectorPath &path); - void generateZones(); - void generatePath(RenderObject *go, TileVector g1, TileVector g2, int offx=0, int offy=0, bool hate_diagonals=false); -}; - -// stl includes -#include -#include -#include - -//#define USE_FSA_MEMORY 1 - -#ifdef _MSC_VER -// disable warning that debugging information has lines that are truncated -// occurs in stl headers -#pragma warning( disable : 4786 ) -#endif - -#define UserState MapSearchNode -// The AStar search class. UserState is the users state space type - -class AStarSearch -{ - -public: // data - - enum - { - SEARCH_STATE_NOT_INITIALISED, - SEARCH_STATE_SEARCHING, - SEARCH_STATE_SUCCEEDED, - SEARCH_STATE_FAILED, - SEARCH_STATE_OUT_OF_MEMORY, - SEARCH_STATE_INVALID - }; - - - // A node represents a possible state in the search - // The user provided state type is included inside this type - - public: - - class Node - { - public: - - Node *parent; // used during the search to record the parent of successor nodes - Node *child; // used after the search for the application to view the search in reverse - - float g; // cost of this node + it's predecessors - float h; // heuristic estimate of distance to goal - float f; // sum of cumulative cost of predecessors and self and heuristic - - Node() : - parent( 0 ), - child( 0 ), - g( 0.0f ), - h( 0.0f ), - f( 0.0f ) - { - } - - UserState m_UserState; - }; - - typedef std::vector NodeContainer; - - class Test - { - }; - - - // For sorting the heap the STL needs compare function that lets us compare - // the f value of two nodes - - class HeapCompare_f - { - public: - - bool operator() ( const Node *x, const Node *y ) const - { - return x->f > y->f; - } - }; - - -public: // methods - - - // constructor just initialises private data - AStarSearch( int MaxNodes = 1000 ) : - m_AllocateNodeCount(0), - m_FreeNodeCount(0), - /*m_FixedSizeAllocator( MaxNodes ),*/ - m_State( SEARCH_STATE_NOT_INITIALISED ), - m_CurrentSolutionNode( NULL ), - m_CancelRequest( false ) - { - } - - // call at any time to cancel the search and free up all the memory - void CancelSearch() - { - m_CancelRequest = true; - } - - // Set Start and goal states - void SetStartAndGoalStates( UserState &Start, UserState &Goal ) - { - m_CancelRequest = false; - - m_Start = AllocateNode(); - m_Goal = AllocateNode(); - - m_Start->m_UserState = Start; - m_Goal->m_UserState = Goal; - - m_State = SEARCH_STATE_SEARCHING; - - // Initialise the AStar specific parts of the Start Node - // The user only needs fill out the state information - - m_Start->g = 0; - m_Start->h = m_Start->m_UserState.GoalDistanceEstimate( m_Goal->m_UserState ); - m_Start->f = m_Start->g + m_Start->h; - m_Start->parent = 0; - - // Push the start node on the Open list - - m_OpenList.push_back( m_Start ); // heap now unsorted - - // Sort back element into heap - push_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ); - - // Initialise counter for search steps - m_Steps = 0; - } - - // Advances search one step - unsigned int SearchStep() - { - // Firstly break if the user has not initialised the search - assert( (m_State > SEARCH_STATE_NOT_INITIALISED) && - (m_State < SEARCH_STATE_INVALID) ); - - // Next I want it to be safe to do a searchstep once the search has succeeded... - if( (m_State == SEARCH_STATE_SUCCEEDED) || - (m_State == SEARCH_STATE_FAILED) - ) - { - return m_State; - } - - // Failure is defined as emptying the open list as there is nothing left to - // search... - // New: Allow user abort - if( m_OpenList.empty() || m_CancelRequest ) - { - FreeAllNodes(); - m_State = SEARCH_STATE_FAILED; - return m_State; - } - - // Incremement step count - m_Steps ++; - - // Pop the best node (the one with the lowest f) - Node *n = m_OpenList.front(); // get pointer to the node - pop_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ); - m_OpenList.pop_back(); - - // Check for the goal, once we pop that we're done - if( n->m_UserState.IsGoal( m_Goal->m_UserState ) ) - { - // The user is going to use the Goal Node he passed in - // so copy the parent pointer of n - m_Goal->parent = n->parent; - - // A special case is that the goal was passed in as the start state - // so handle that here - if( n != m_Start ) - { - //delete n; - FreeNode( n ); - - // set the child pointers in each node (except Goal which has no child) - Node *nodeChild = m_Goal; - Node *nodeParent = m_Goal->parent; - - do - { - nodeParent->child = nodeChild; - - nodeChild = nodeParent; - nodeParent = nodeParent->parent; - - } - while( nodeChild != m_Start ); // Start is always the first node by definition - - } - - // delete nodes that aren't needed for the solution - FreeUnusedNodes(); - - m_State = SEARCH_STATE_SUCCEEDED; - - return m_State; - } - else // not goal - { - - // We now need to generate the successors of this node - // The user helps us to do this, and we keep the new nodes in - // m_Successors ... - - m_Successors.clear(); // empty vector of successor nodes to n - - // User provides this functions and uses AddSuccessor to add each successor of - // node 'n' to m_Successors - bool ret = n->m_UserState.GetSuccessors( this, n->parent ? &n->parent->m_UserState : NULL ); - - if( !ret ) - { - - // free the nodes that may previously have been added - NodeContainer::iterator successor; - - for( successor = m_Successors.begin(); successor != m_Successors.end(); successor ++ ) - { - FreeNode( (*successor) ); - } - - m_Successors.clear(); // empty vector of successor nodes to n - - // free up everything else we allocated - FreeAllNodes(); - - m_State = SEARCH_STATE_OUT_OF_MEMORY; - return m_State; - } - - // Now handle each successor to the current node ... - for( NodeContainer::iterator successor = m_Successors.begin(); successor != m_Successors.end(); successor ++ ) - { - - // The g value for this successor ... - float newg = n->g + n->m_UserState.GetCost( (*successor)->m_UserState ); - - // Now we need to find whether the node is on the open or closed lists - // If it is but the node that is already on them is better (lower g) - // then we can forget about this successor - - // First linear search of open list to find node - - NodeContainer::iterator openlist_result; - - for( openlist_result = m_OpenList.begin(); openlist_result != m_OpenList.end(); openlist_result ++ ) - { - if( (*openlist_result)->m_UserState.IsSameState( (*successor)->m_UserState ) ) - { - break; - } - } - - if( openlist_result != m_OpenList.end() ) - { - - // we found this state on open - - if( (*openlist_result)->g <= newg ) - { - FreeNode( (*successor) ); - - // the one on Open is cheaper than this one - continue; - } - } - - NodeContainer::iterator closedlist_result; - - for( closedlist_result = m_ClosedList.begin(); closedlist_result != m_ClosedList.end(); closedlist_result ++ ) - { - if( (*closedlist_result)->m_UserState.IsSameState( (*successor)->m_UserState ) ) - { - break; - } - } - - if( closedlist_result != m_ClosedList.end() ) - { - - // we found this state on closed - - if( (*closedlist_result)->g <= newg ) - { - // the one on Closed is cheaper than this one - FreeNode( (*successor) ); - - continue; - } - } - - // This node is the best node so far with this particular state - // so lets keep it and set up its AStar specific data ... - - (*successor)->parent = n; - (*successor)->g = newg; - (*successor)->h = (*successor)->m_UserState.GoalDistanceEstimate( m_Goal->m_UserState ); - (*successor)->f = (*successor)->g + (*successor)->h; - - // Remove successor from closed if it was on it - - if( closedlist_result != m_ClosedList.end() ) - { - // remove it from Closed - FreeNode( (*closedlist_result) ); - m_ClosedList.erase( closedlist_result ); - } - - // Update old version of this node - if( openlist_result != m_OpenList.end() ) - { - - FreeNode( (*openlist_result) ); - m_OpenList.erase( openlist_result ); - - // re-make the heap - make_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ); - - // make_heap rather than sort_heap is an essential bug fix - // thanks to Mike Ryynanen for pointing this out and then explaining - // it in detail. sort_heap called on an invalid heap does not work - -// sort_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ); - -// assert( is_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ) ); - - } - - // heap now unsorted - m_OpenList.push_back( (*successor) ); - - // sort back element into heap - push_heap( m_OpenList.begin(), m_OpenList.end(), HeapCompare_f() ); - - } - - // push n onto Closed, as we have expanded it now - - m_ClosedList.push_back( n ); - - } // end else (not goal so expand) - - return m_State; // Succeeded bool is false at this point. - - } - - // User calls this to add a successor to a list of successors - // when expanding the search frontier - bool AddSuccessor( UserState &State ) - { - Node *node = AllocateNode(); - - if( node ) - { - node->m_UserState = State; - - m_Successors.push_back( node ); - - return true; - } - - return false; - } - - // Free the solution nodes - // This is done to clean up all used Node memory when you are done with the - // search - void FreeSolutionNodes() - { - Node *n = m_Start; - - if( m_Start->child ) - { - do - { - Node *del = n; - n = n->child; - FreeNode( del ); - - del = NULL; - - } while( n != m_Goal ); - - FreeNode( n ); // Delete the goal - - } - else - { - // if the start node is the solution we need to just delete the start and goal - // nodes - FreeNode( m_Start ); - FreeNode( m_Goal ); - } - - } - - void FreeStartAndGoalNodes() - { - //FreeNode( m_Start ); - FreeNode( m_Goal ); - } - - // Functions for traversing the solution - - // Get start node - UserState *GetSolutionStart() - { - m_CurrentSolutionNode = m_Start; - if( m_Start ) - { - return &m_Start->m_UserState; - } - else - { - return NULL; - } - } - - // Get next node - UserState *GetSolutionNext() - { - if( m_CurrentSolutionNode ) - { - if( m_CurrentSolutionNode->child ) - { - - Node *child = m_CurrentSolutionNode->child; - - m_CurrentSolutionNode = m_CurrentSolutionNode->child; - - return &child->m_UserState; - } - } - - return NULL; - } - - // Get end node - UserState *GetSolutionEnd() - { - m_CurrentSolutionNode = m_Goal; - if( m_Goal ) - { - return &m_Goal->m_UserState; - } - else - { - return NULL; - } - } - - // Step solution iterator backwards - UserState *GetSolutionPrev() - { - if( m_CurrentSolutionNode ) - { - if( m_CurrentSolutionNode->parent ) - { - - Node *parent = m_CurrentSolutionNode->parent; - - m_CurrentSolutionNode = m_CurrentSolutionNode->parent; - - return &parent->m_UserState; - } - } - - return NULL; - } - - // For educational use and debugging it is useful to be able to view - // the open and closed list at each step, here are two functions to allow that. - - UserState *GetOpenListStart() - { - float f,g,h; - return GetOpenListStart( f,g,h ); - } - - UserState *GetOpenListStart( float &f, float &g, float &h ) - { - /* - iterDbgOpen = m_OpenList.begin(); - if( iterDbgOpen != m_OpenList.end() ) - { - f = (*iterDbgOpen)->f; - g = (*iterDbgOpen)->g; - h = (*iterDbgOpen)->h; - return &(*iterDbgOpen)->m_UserState; - } - */ - - return NULL; - } - - UserState *GetOpenListNext() - { - float f,g,h; - return GetOpenListNext( f,g,h ); - } - - UserState *GetOpenListNext( float &f, float &g, float &h ) - { - /* - iterDbgOpen++; - if( iterDbgOpen != m_OpenList.end() ) - { - f = (*iterDbgOpen)->f; - g = (*iterDbgOpen)->g; - h = (*iterDbgOpen)->h; - return &(*iterDbgOpen)->m_UserState; - } - */ - - return NULL; - } - - UserState *GetClosedListStart() - { - float f,g,h; - return GetClosedListStart( f,g,h ); - } - - UserState *GetClosedListStart( float &f, float &g, float &h ) - { - /* - iterDbgClosed = m_ClosedList.begin(); - if( iterDbgClosed != m_ClosedList.end() ) - { - f = (*iterDbgClosed)->f; - g = (*iterDbgClosed)->g; - h = (*iterDbgClosed)->h; - - return &(*iterDbgClosed)->m_UserState; - } - */ - - return NULL; - } - - UserState *GetClosedListNext() - { - float f,g,h; - return GetClosedListNext( f,g,h ); - } - - UserState *GetClosedListNext( float &f, float &g, float &h ) - { - /* - iterDbgClosed++; - if( iterDbgClosed != m_ClosedList.end() ) - { - f = (*iterDbgClosed)->f; - g = (*iterDbgClosed)->g; - h = (*iterDbgClosed)->h; - - return &(*iterDbgClosed)->m_UserState; - } - */ - - return NULL; - } - - // Get the number of steps - - int GetStepCount() { return m_Steps; } - - // debugging : count memory allocation and free's - int m_AllocateNodeCount; - int m_FreeNodeCount; - - - - - // This is called when a search fails or is cancelled to free all used - // memory - void FreeAllNodes() - { - // iterate open list and delete all nodes - NodeContainer::iterator iterOpen = m_OpenList.begin(); - - while( iterOpen != m_OpenList.end() ) - { - Node *n = (*iterOpen); - FreeNode( n ); - - iterOpen ++; - } - - m_OpenList.clear(); - - // iterate closed list and delete unused nodes - NodeContainer::iterator iterClosed; - - for( iterClosed = m_ClosedList.begin(); iterClosed != m_ClosedList.end(); iterClosed ++ ) - { - Node *n = (*iterClosed); - FreeNode( n ); - } - - m_ClosedList.clear(); - } - -private: // methods - - // This call is made by the search class when the search ends. A lot of nodes may be - // created that are still present when the search ends. They will be deleted by this - // routine once the search ends - void FreeUnusedNodes() - { - // iterate open list and delete unused nodes - NodeContainer::iterator iterOpen = m_OpenList.begin(); - - while( iterOpen != m_OpenList.end() ) - { - Node *n = (*iterOpen); - - if( !n->child ) - { - FreeNode( n ); - - n = NULL; - } - - iterOpen ++; - } - - m_OpenList.clear(); - - // iterate closed list and delete unused nodes - NodeContainer::iterator iterClosed; - - for( iterClosed = m_ClosedList.begin(); iterClosed != m_ClosedList.end(); iterClosed ++ ) - { - Node *n = (*iterClosed); - - if( !n->child ) - { - FreeNode( n ); - n = NULL; - - } - } - - m_ClosedList.clear(); - } - - // Node memory management - Node *AllocateNode() - { - - m_AllocateNodeCount ++; -#if !USE_FSA_MEMORY - Node *p = new Node; - return p; -#else - Node *address = m_FixedSizeAllocator.alloc(); - - if( !address ) - { - return NULL; - } - - Node *p = new (address) Node; - return p; -#endif - } - - void FreeNode( Node *node ) - { - - m_FreeNodeCount ++; - -#if !USE_FSA_MEMORY - delete node; -#else - m_FixedSizeAllocator.free( node ); -#endif - } - -private: // data - - // Heap (simple vector but used as a heap, cf. Steve Rabin's game gems article) - NodeContainer m_OpenList; - - // Closed list is a vector. - NodeContainer m_ClosedList; - - // Successors is a vector filled out by the user each type successors to a node - // are generated - NodeContainer m_Successors; - - // State - unsigned int m_State; - - // Counts steps - int m_Steps; - - // Start and goal state pointers - Node *m_Start; - Node *m_Goal; - - Node *m_CurrentSolutionNode; - - // Memory -// FixedSizeAllocator m_FixedSizeAllocator; - - //Debug : need to keep these two iterators around - // for the user Dbg functions - /* - vector< Node* > ::iterator iterDbgOpen; - vector< Node* > ::iterator iterDbgClosed; - */ - - - bool m_CancelRequest; + void generatePath(RenderObject *go, TileVector g1, TileVector g2, int offx=0, int offy=0); + bool generatePathSimple(VectorPath& path, const Vector& start, const Vector& end, unsigned int step = 0); }; #endif diff --git a/Aquaria/ScriptInterface.cpp b/Aquaria/ScriptInterface.cpp index acc2e19..cac06a1 100644 --- a/Aquaria/ScriptInterface.cpp +++ b/Aquaria/ScriptInterface.cpp @@ -844,6 +844,7 @@ luaFunc(loadfile_caseinsensitive) MakeTypeCheckFunc(isNode, SCO_PATH); MakeTypeCheckFunc(isObject, SCO_RENDEROBJECT); MakeTypeCheckFunc(isEntity, SCO_ENTITY) +MakeTypeCheckFunc(isScriptedEntity, SCO_SCRIPTED_ENTITY) MakeTypeCheckFunc(isShot, SCO_SHOT) MakeTypeCheckFunc(isWeb, SCO_WEB) MakeTypeCheckFunc(isIng, SCO_INGREDIENT) @@ -3349,7 +3350,9 @@ luaFunc(showInGameMenu) luaFunc(hideInGameMenu) { - dsq->game->hideInGameMenu(); + bool skipEffect = getBool(L, 1); + bool cancel = getBool(L, 2); + dsq->game->hideInGameMenu(!skipEffect, cancel); luaReturnNil(); } @@ -5120,20 +5123,20 @@ luaFunc(entity_warpSegments) if (se) se->warpSegments(); - luaReturnNum(0); + luaReturnNil() } luaFunc(avatar_incrLeaches) { dsq->game->avatar->leaches++; - luaReturnNum(0); + luaReturnNil(); } luaFunc(avatar_decrLeaches) { // Not checking for underflow here because this allows some neat tricks. dsq->game->avatar->leaches--; - luaReturnNum(0); + luaReturnNil(); } luaFunc(entity_rotateToVel) @@ -6300,7 +6303,7 @@ luaFunc(entity_grabTarget) Entity *e = entity(L); if (e) e->attachEntity(e->getTargetEntity(), Vector(lua_tointeger(L, 2), lua_tointeger(L, 3))); - luaReturnNum(0); + luaReturnNil(); } luaFunc(entity_clampToHit) @@ -6336,7 +6339,7 @@ luaFunc(entity_switchSurfaceDirection) { ScriptedEntity *e = scriptedEntity(L); if (!e) - luaReturnNum(0); + luaReturnNil(); int n = -1; if (lua_isnumber(L, 2)) @@ -6558,7 +6561,7 @@ luaFunc(entity_releaseTarget) Entity *e = entity(L); if (e) e->detachEntity(e->getTargetEntity()); - luaReturnNum(0); + luaReturnNil(); } luaFunc(esetv) @@ -6833,7 +6836,7 @@ luaFunc(entity_delete_override) e->setDecayRate(1.0f/time); } } - luaReturnInt(0); + luaReturnNil(); } luaFunc(entity_isRidingOnEntity) @@ -6883,7 +6886,7 @@ luaFunc(entity_setActivation) e->activationRadius = activationRadius; } - luaReturnNum(0); + luaReturnNil(); } luaFunc(entity_setActivationType) @@ -6892,7 +6895,7 @@ luaFunc(entity_setActivationType) if (e) e->activationType = (Entity::ActivationType)lua_tointeger(L, 2); - luaReturnInt(0); + luaReturnNil(); } luaFunc(entity_hasTarget) @@ -7458,7 +7461,7 @@ luaFunc(filterNearestEntities) filteredEntities.clear(); const Vector p(lua_tonumber(L, 1), lua_tonumber(L, 2)); - const float radius = lua_tointeger(L, 3); + const float radius = lua_tonumber(L, 3); const Entity *ignore = lua_isuserdata(L, 4) ? entity(L, 4) : NULL; const EntityType et = lua_isnumber(L, 5) ? (EntityType)lua_tointeger(L, 5) : ET_NOTYPE; const DamageType dt = lua_isnumber(L, 6) ? (DamageType)lua_tointeger(L, 6) : DT_NONE; @@ -7608,7 +7611,7 @@ luaFunc(entity_switchLayer) core->switchRenderObjectLayer(e, toLayer); } - luaReturnNum(0); + luaReturnNil(); } // entity numSegments segmentLength width texture @@ -8203,16 +8206,13 @@ luaFunc(isStreamingVoice) luaFunc(isObstructed) { - int x = lua_tonumber(L, 1); - int y = lua_tonumber(L, 2); - luaReturnBool(dsq->game->isObstructed(TileVector(Vector(x,y)))); + int obs = lua_tointeger(L, 3); + luaReturnBool(dsq->game->isObstructed(TileVector(Vector(lua_tonumber(L, 1), lua_tonumber(L, 2))), obs ? obs : -1)); } luaFunc(getObstruction) { - int x = lua_tonumber(L, 1); - int y = lua_tonumber(L, 2); - luaReturnInt(dsq->game->getGrid(TileVector(Vector(x,y)))); + luaReturnInt(dsq->game->getGrid(TileVector(Vector(lua_tonumber(L, 1), lua_tonumber(L, 2))))); } luaFunc(isObstructedBlock) @@ -8223,9 +8223,9 @@ luaFunc(isObstructedBlock) TileVector t(Vector(x,y)); bool obs = false; - for (int xx = t.x-span; xx < t.x+span; xx++) + for (int xx = t.x-span; xx <= t.x+span; xx++) { - for (int yy = t.y-span; yy < t.y+span; yy++) + for (int yy = t.y-span; yy <= t.y+span; yy++) { if (dsq->game->isObstructed(TileVector(xx, yy))) { @@ -8436,6 +8436,77 @@ luaFunc(isShuttingDownGameState) luaReturnBool(dsq->game->isShuttingDownGameState()); } +// startx, starty, endx, endy [, step, xtab, ytab] +luaFunc(findPath) +{ + VectorPath path; + Vector start(lua_tonumber(L, 1), lua_tonumber(L, 2)); + Vector end(lua_tonumber(L, 3), lua_tonumber(L, 4)); + if(!dsq->pathFinding.generatePathSimple(path, start, end, lua_tointeger(L, 5))) + luaReturnBool(false); + + const unsigned num = path.getNumPathNodes(); + lua_pushinteger(L, num); + + if(lua_istable(L, 6)) + lua_pushvalue(L, 6); + else + lua_createtable(L, num, 0); + + if(lua_istable(L, 7)) + lua_pushvalue(L, 7); + else + lua_createtable(L, num, 0); + + // [true, xs, yx] + + for(unsigned i = 0; i < num; ++i) + { + const VectorPathNode *n = path.getPathNode(i); + lua_pushnumber(L, n->value.x); // [num, xs, ys, x] + lua_rawseti(L, -3, i+1); // [num, xs, ys] + lua_pushnumber(L, n->value.y); // [num, xs, ys, y] + lua_rawseti(L, -2, i+1); // [num, xs, ys] + } + // terminate tables + lua_pushnil(L); // [num xs, ys, nil] + lua_rawseti(L, -3, num+1); // [num, xs, ys] + lua_pushnil(L); // [num, xs, ys, nil] + lua_rawseti(L, -2, num+1); // [num, xs, ys] + + return 3; // found path?, x positions, y positions +} + +luaFunc(castLine) +{ + Vector v(lua_tonumber(L, 1), lua_tonumber(L, 2)); + Vector end(lua_tonumber(L, 3), lua_tonumber(L, 4)); + int tiletype = lua_tointeger(L, 5); + if(!tiletype) + tiletype = -1; + Vector step = end - v; + int steps = step.getLength2D() / TILE_SIZE; + step.setLength2D(TILE_SIZE); + + for(int i = 0; i < steps; ++i) + { + if(dsq->game->isObstructed(TileVector(v), tiletype)) + { + lua_pushinteger(L, dsq->game->getGrid(TileVector(v))); + lua_pushnumber(L, v.x); + lua_pushnumber(L, v.y); + return 3; + } + v += step; + } + + lua_pushboolean(L, false); + lua_pushnumber(L, v.x); + lua_pushnumber(L, v.y); + return 3; +} + + luaFunc(inv_isFull) { IngredientData *data = dsq->continuity.getIngredientDataByName(getString(L, 1)); @@ -9240,6 +9311,8 @@ static const struct { luaRegister(isObstructed), luaRegister(isObstructedBlock), luaRegister(getObstruction), + luaRegister(findPath), + luaRegister(castLine), luaRegister(isFlag), @@ -9649,6 +9722,7 @@ static const struct { luaRegister(isNode), luaRegister(isObject), luaRegister(isEntity), + luaRegister(isScriptedEntity), luaRegister(isShot), luaRegister(isWeb), luaRegister(isIng), diff --git a/Aquaria/UserSettings.cpp b/Aquaria/UserSettings.cpp index e9ab64d..d97dc23 100644 --- a/Aquaria/UserSettings.cpp +++ b/Aquaria/UserSettings.cpp @@ -559,6 +559,8 @@ void UserSettings::load(bool doApply, const std::string &overrideFile) setUsedLocale(system.locale); } + core->initLocalization(); + if (doApply) apply(); } diff --git a/BBGE/Base.cpp b/BBGE/Base.cpp index bd81618..65b98f7 100644 --- a/BBGE/Base.cpp +++ b/BBGE/Base.cpp @@ -33,6 +33,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #if defined(BBGE_BUILD_UNIX) #include #include + #include + #include #endif #if defined(BBGE_BUILD_MACOSX) @@ -105,7 +107,7 @@ Direction getNextDirClockwise(Direction dir) void sizePowerOf2Texture(int &v) { int p = 8, use=0; - do + do { use = 1 << p; p++; @@ -152,6 +154,60 @@ unsigned hash(const std::string &string) /* hash * 33 + c */ + +static unsigned char lowerToUpperTable[256]; +static unsigned char upperToLowerTable[256]; + +void initCharTranslationTables(const std::map& tab) +{ + for (unsigned int i = 0; i < 256; ++i) + { + lowerToUpperTable[i] = i; + upperToLowerTable[i] = i; + } + for (unsigned char i = 'a'; i <= 'z'; ++i) + { + lowerToUpperTable[i] = i - 'a' + 'A'; + upperToLowerTable[i - 'a' + 'A'] = i; + } + + for (std::map::const_iterator it = tab.begin(); it != tab.end(); ++it) + { + lowerToUpperTable[it->first] = it->second; + upperToLowerTable[it->second] = it->first; + } +} + +struct TransatableStaticInit +{ + TransatableStaticInit() + { + std::map dummy; + initCharTranslationTables(dummy); + } +}; +static TransatableStaticInit _transtable_static_init; + +static unsigned char charIsUpper(unsigned char c) +{ + return c == upperToLowerTable[c]; +} + +static unsigned char charIsLower(unsigned char c) +{ + return c == lowerToUpperTable[c]; +} + +static unsigned char charToLower(unsigned char c) +{ + return upperToLowerTable[c]; +} + +static unsigned char charToUpper(unsigned char c) +{ + return lowerToUpperTable[c]; +} + std::string splitCamelCase(const std::string &input) { std::string result; @@ -160,7 +216,7 @@ std::string splitCamelCase(const std::string &input) { if (last == 1) { - if (input[i] >= 'A' && input[i] <= 'Z') + if (charIsUpper(input[i])) { result += ' '; } @@ -168,7 +224,7 @@ std::string splitCamelCase(const std::string &input) result += input[i]; - if (input[i] >= 'A' && input[i] <= 'Z') + if (charIsUpper(input[i])) { last = 2; } @@ -201,22 +257,6 @@ bool isVectorInRect(const Vector &vec, const Vector &coord1, const Vector &coord return (vec.x > coord1.x && vec.x < coord2.x && vec.y > coord1.y && vec.y < coord2.y); } -static char charToUpper(char c) -{ - if (c >= 'a' && c <= 'z') c = c - 'a' + 'A'; - if ((unsigned char)c >= 0xE0 && (unsigned char)c <= 0xFF) - c = c - 0xE0 + 0xC0; - return c; -} - -static char charToLower(char c) -{ - if (c >= 'A' && c <= 'Z') c = c-'A' + 'a'; - if ((unsigned char)c >= 0xC0 && (unsigned char)c <= 0xDF) - c = c-0xC0+0xE0; - return c; -} - void stringToUpper(std::string &s) { for (int i = 0; i < s.size(); i++) @@ -1132,6 +1172,38 @@ void triggerBreakpoint() #endif } +bool createDir(const std::string& d) +{ + bool success = false; + int err = 0; +#if defined(BBGE_BUILD_UNIX) + if (!mkdir(d.c_str(), S_IRWXU)) + success = true; + else + { + err = errno; + if (err == EEXIST) + success = true; + } +#elif defined(BBGE_BUILD_WINDOWS) + if (CreateDirectoryA(d.c_str(), NULL)) + success = true; + else + { + err = GetLastError(); + if(err == ERROR_ALREADY_EXISTS) + success = true; + } +#endif + if (!success) + { + std::ostringstream os; + os << "Failed to create directory: [" << d << "], error code: " << err; + debugLog(os.str()); + } + return success; +} + #include "DeflateCompressor.h" diff --git a/BBGE/Base.h b/BBGE/Base.h index 624414c..805fd79 100644 --- a/BBGE/Base.h +++ b/BBGE/Base.h @@ -204,6 +204,7 @@ struct IntPair std::string numToZeroString(int num, int zeroes); bool chance(int perc); bool chancef(float p); +void initCharTranslationTables(const std::map& tab); void stringToUpper(std::string &s); void stringToLower(std::string &s); void stringToLowerUserData(std::string &s); @@ -301,5 +302,7 @@ std::string spacesToUnderscores(const std::string &str); void triggerBreakpoint(); +bool createDir(const std::string& d); + #endif diff --git a/BBGE/Cocoa.mm b/BBGE/Cocoa.mm index 102b2bc..6a90e74 100644 --- a/BBGE/Cocoa.mm +++ b/BBGE/Cocoa.mm @@ -11,10 +11,10 @@ void cocoaMessageBox(const std::string &title, const std::string &msg) { + @autoreleasepool { NSString *nstitle = [NSString stringWithUTF8String:title.c_str()]; NSString *nsmsg = [NSString stringWithUTF8String:msg.c_str()]; - NSRunAlertPanel(nstitle, nsmsg, @"OK", nil, nil); - [nsmsg release]; - [nstitle release]; + NSRunAlertPanel(nstitle, nsmsg, nil, nil, nil); + } } diff --git a/BBGE/Core.cpp b/BBGE/Core.cpp index 6afaf99..f6fa00a 100644 --- a/BBGE/Core.cpp +++ b/BBGE/Core.cpp @@ -899,7 +899,7 @@ Core::Core(const std::string &filesystem, const std::string& extraDataDir, int n envr = "."; // oh well. const std::string home(envr); - mkdir(home.c_str(), 0700); // just in case. + createDir(home); // just in case. // "/home/icculus/.Aquaria" or something. Spaces are okay. #ifdef BBGE_BUILD_MACOSX @@ -909,11 +909,12 @@ Core::Core(const std::string &filesystem, const std::string& extraDataDir, int n #endif userDataFolder = home + "/" + prefix + userDataSubFolder; - mkdir(userDataFolder.c_str(), 0700); + createDir(userDataFolder); debugLogPath = userDataFolder + "/"; - mkdir((userDataFolder + "/screenshots").c_str(), 0700); + createDir(userDataFolder + "/screenshots"); std::string prefpath(getPreferencesFolder()); - mkdir(prefpath.c_str(), 0700); + createDir(prefpath); + #else debugLogPath = ""; userDataFolder = "."; @@ -929,7 +930,7 @@ Core::Core(const std::string &filesystem, const std::string& extraDataDir, int n // not sure about this right now -- FG /*else { - puts("Working directory is not writeable..."); + puts("Working directory is not writable..."); char pathbuf[MAX_PATH]; if(SHGetSpecialFolderPathA(NULL, &pathbuf[0], CSIDL_APPDATA, 0)) { @@ -941,7 +942,7 @@ Core::Core(const std::string &filesystem, const std::string& extraDataDir, int n userDataFolder[i] = '/'; debugLogPath = userDataFolder + "/"; puts(("Using \"" + userDataFolder + "\" as user directory.").c_str()); - CreateDirectoryA(userDataFolder.c_str(), NULL); + createDir(userDataFolder); checkWritable(userDataFolder, true, true); } else @@ -1293,6 +1294,8 @@ void Core::init() initInputCodeMap(); + initLocalization(); + //glfwSetWindowSizeCallback(lockWindowSize); } @@ -3558,7 +3561,7 @@ void Core::pollEvents() case SDL_KEYDOWN: { #if __APPLE__ - if ((event.key.keysym.sym == SDLK_q) && (event.key.keysym.mod & KMOD_META)) + if ((event.key.keysym.sym == SDLK_q) && (event.key.keysym.mod & KMOD_GUI)) #else if ((event.key.keysym.sym == SDLK_F4) && (event.key.keysym.mod & KMOD_ALT)) #endif @@ -5164,3 +5167,23 @@ void Core::setupFileAccess() debugLog("Done"); #endif } + +void Core::initLocalization() +{ + InStream in(localisePath("data/localecase.txt")); + if(!in) + { + debugLog("data/localecase.txt does not exist, using internal locale data"); + return; + } + + std::string low, up; + std::map trans; + while(in) + { + in >> low >> up; + trans[low[0]] = up[0]; + } + initCharTranslationTables(trans); +} + diff --git a/BBGE/Core.h b/BBGE/Core.h index 4089ce6..731f8d7 100644 --- a/BBGE/Core.h +++ b/BBGE/Core.h @@ -1310,6 +1310,8 @@ public: virtual void onBackgroundUpdate(); + void initLocalization(); + protected: std::string fpsDebugString; diff --git a/BBGE/Vector.cpp b/BBGE/Vector.cpp index 73b24bc..aacf987 100644 --- a/BBGE/Vector.cpp +++ b/BBGE/Vector.cpp @@ -220,17 +220,10 @@ void VectorPath::splice(const VectorPath &path, int sz) } } -void VectorPath::removeNodes(int startInclusive, int endInclusive) +void VectorPath::removeNodes(unsigned int startInclusive, unsigned int endInclusive) { - std::vector copy = pathNodes; - pathNodes.clear(); - for (int i = 0; i < copy.size(); i++) - { - if (i < startInclusive || i > endInclusive) - { - pathNodes.push_back(copy[i]); - } - } + // end iterator is exclusive, so max. end + 1 + pathNodes.erase(pathNodes.begin() + startInclusive, pathNodes.begin() + std::min(pathNodes.size(), endInclusive+1)); } void VectorPath::prepend(const VectorPath &path) @@ -273,15 +266,10 @@ void VectorPath::cut(int n) } } -void VectorPath::removeNode(int t) +void VectorPath::removeNode(unsigned int t) { - std::vector copy = pathNodes; - pathNodes.clear(); - for (int i = 0; i < copy.size(); i++) - { - if (i != t) - pathNodes.push_back(copy[i]); - } + if(t < pathNodes.size()) + pathNodes.erase(pathNodes.begin() + t); } Vector VectorPath::getValue(float usePercent) diff --git a/BBGE/Vector.h b/BBGE/Vector.h index e56fbac..033f827 100644 --- a/BBGE/Vector.h +++ b/BBGE/Vector.h @@ -426,11 +426,11 @@ public: void splice(const VectorPath &path, int sz); void prepend(const VectorPath &path); void append(const VectorPath &path); - void removeNode(int i); + void removeNode(unsigned int i); void calculatePercentages(); float getLength(); void realPercentageCalc(); - void removeNodes(int startInclusive, int endInclusive); + void removeNodes(unsigned int startInclusive, unsigned int endInclusive); float getSubSectionLength(int startIncl, int endIncl); protected: std::vector pathNodes; diff --git a/CMakeLists.txt b/CMakeLists.txt index 1990d5d..0c2d623 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -486,6 +486,7 @@ SET(BBGE_SRCS ${EXTLIBDIR}/tinyxmlparser.cpp ${EXTLIBDIR}/FileAPI.cpp ${EXTLIBDIR}/minihttp.cpp + ${EXTLIBDIR}/JPS.h ) SET(ZLIB_SRCS diff --git a/ExternalLibs/JPS.h b/ExternalLibs/JPS.h new file mode 100644 index 0000000..8028032 --- /dev/null +++ b/ExternalLibs/JPS.h @@ -0,0 +1,682 @@ +#ifndef JUMP_POINT_SEARCH_H +#define JUMP_POINT_SEARCH_H + +// Public domain Jump Point Search implementation by False.Genesis +// Please keep the following source information intact when you use this file in your own projects: +// This file originates from: https://github.com/fgenesis/jps +// Based on the paper http://users.cecs.anu.edu.au/~dharabor/data/papers/harabor-grastien-aaai11.pdf +// by Daniel Harabor & Alban Grastien. +// Jumper (https://github.com/Yonaba/Jumper) and PathFinding.js (https://github.com/qiao/PathFinding.js) +// served as reference for this implementation. + +// ====== COMPILE CONFIG ====== + +// If this is defined, compare all jumps against recursive reference implementation (only if _DEBUG is defined) +//#define JPS_VERIFY + +// NYI +//#define JPS_USE_HASHMAP + +// ============================ + +// Usage: +/* +// Define a class that overloads `operator()(x, y) const`, returning a value that can be treated as boolean. +// You are responsible for bounds checking! +// You want your operator() to be as fast as possible, as it will be called a LOT. + +struct MyGrid +{ + inline bool operator()(unsigned x, unsigned y) const + { + if(x < width && y < height) // Unsigned will wrap if < 0 + ... return true if terrain at (x, y) is walkable. + } + unsigned width, height; +}; + +// Then you can retrieve a path: + +MyGrid grid; +// ... set grid width, height, and whatever +unsigned step = 0; // set this to 1 if you want a detailed single-step path + // (e.g. if you plan to further mangle the path yourself), + // or any other higher value to output every Nth position. +JPS::PathVector path; // The resulting path will go here. + + +// Single-call interface: +bool found = JPS::findPath(path, grid, startx, starty, endx, endy, step); + + +// Alternatively, if you want more control: + +JPS::Searcher search(grid); +while(true) +{ + // ..stuff happening ... + + // build path incrementally from waypoints + JPS::Position a, b, c, d; // some waypoints + search.findPath(path, a, b); + search.findPath(path, b, c); + search.findPath(path, c, d); + + if(!search.findPath(path2, JPS::Pos(startx, starty), JPS::Pos(endx, endy), step)) + { + // ...handle failure... + } + // ... more stuff happening ... + + // At convenient times, you can clean up accumulated nodes to reclaim memory. + // This is never necessary, but performance will drop if too many cached nodes exist. + if(mapWasReloaded) + search.freeMemory(); +} + +// Further remarks can be found at the bottom of this file. +*/ + + +#include +#include +#include +#include + +#ifdef _DEBUG +#include +#define JPS_ASSERT(cond) assert(cond) +#else +#define JPS_ASSERT(cond) +#endif + +#ifdef JPS_USE_HASHMAP +#include "JPSUtilHashmap.h" +#endif + +namespace JPS { + +struct Position +{ + unsigned x, y; + + inline bool operator==(const Position& p) const + { + return x == p.x && y == p.y; + } + inline bool operator!=(const Position& p) const + { + return x != p.x || y != p.y; + } + + // for sorting + inline bool operator<(const Position& p) const + { + return y < p.y || (y == p.y && x < p.x); + } + + inline bool isValid() const { return x != unsigned(-1); } +}; + +typedef std::vector PathVector; + +// ctor function to keep Position a real POD struct. +inline static Position Pos(unsigned x, unsigned y) +{ + Position p; + p.x = x; + p.y = y; + return p; +} + +namespace Internal { + +static const Position npos = Pos(-1, -1); + +class Node +{ +public: + Node(const Position& p) : f(0), g(0), pos(p), parent(0), flags(0) {} + unsigned f, g; + const Position pos; + const Node *parent; + + inline void setOpen() { flags |= 1; } + inline void setClosed() { flags |= 2; } + inline unsigned char isOpen() const { return flags & 1; } + inline unsigned char isClosed() const { return flags & 2; } + inline void clearState() { f = 0; g = 0, parent = 0; flags = 0; } + +private: + unsigned char flags; + + bool operator==(const Node& o); // not implemented, nodes should not be compared +}; +} // end namespace Internal + +namespace Heuristic +{ + inline unsigned Manhattan(const Internal::Node *a, const Internal::Node *b) + { + return abs(int(a->pos.x - b->pos.x)) + abs(int(a->pos.y - b->pos.y)); + } + + inline unsigned Euclidean(const Internal::Node *a, const Internal::Node *b) + { + float fx = float(int(a->pos.x - b->pos.x)); + float fy = float(int(a->pos.y - b->pos.y)); + return unsigned(int(sqrtf(fx*fx + fy*fy))); + } +} // end namespace heuristic + +namespace Internal { + +typedef std::vector NodeVector; + +class OpenList +{ +public: + inline void push(Node *node) + { + JPS_ASSERT(node); + nodes.push_back(node); + std::push_heap(nodes.begin(), nodes.end(), _compare); + } + inline Node *pop() + { + std::pop_heap(nodes.begin(), nodes.end(), _compare); + Node *node = nodes.back(); + nodes.pop_back(); + return node; + } + inline bool empty() const + { + return nodes.empty(); + } + inline void clear() + { + nodes.clear(); + } + inline void fixup(const Node *item) + { + std::make_heap(nodes.begin(), nodes.end(), _compare); + } + +protected: + static inline bool _compare(const Node *a, const Node *b) + { + return a->f > b->f; + } + NodeVector nodes; +}; + +template class Searcher +{ +public: + Searcher(const GRID& g) + : grid(g), skip(1) + {} + + void freeMemory(); + + bool findPath(PathVector& path, Position start, Position end, unsigned step = 0); + inline void setSkip(int s) { skip = std::max(1, s); } + +private: + +#ifdef JPS_USE_HASHMAP + typedef Util::HashMap NodeGrid; +#else + typedef std::map NodeGrid; +#endif + + const GRID& grid; + Node *endNode; + int skip; + OpenList open; + + NodeGrid nodegrid; + + Node *getNode(const Position& pos); + void identifySuccessors(const Node *n); + unsigned findNeighbors(const Node *n, Position *wptr) const; + Position jumpP(const Position& p, const Position& src) const; + Position jumpD(Position p, int dx, int dy) const; + Position jumpX(Position p, int dx) const; + Position jumpY(Position p, int dy) const; + void generatePath(PathVector& path, unsigned step) const; +#ifdef JPS_VERIFY + Position jumpPRec(const Position& p, const Position& src) const; +#endif +}; + +template inline Node *Searcher::getNode(const Position& pos) +{ + JPS_ASSERT(grid(pos.x, pos.y)); + return &nodegrid.insert(std::make_pair(pos, Node(pos))).first->second; +} + +template Position Searcher::jumpP(const Position &p, const Position& src) const +{ + JPS_ASSERT(grid(p.x, p.y)); + + int dx = int(p.x - src.x); + int dy = int(p.y - src.y); + JPS_ASSERT(dx || dy); + + if(dx && dy) + return jumpD(p, dx, dy); + else if(dx) + return jumpX(p, dx); + else if(dy) + return jumpY(p, dy); + + // not reached + JPS_ASSERT(false); + return npos; +} + +template Position Searcher::jumpD(Position p, int dx, int dy) const +{ + JPS_ASSERT(grid(p.x, p.y)); + JPS_ASSERT(dx && dy); + + const Position& endpos = endNode->pos; + + while(true) + { + if(p == endpos) + return p; + + const unsigned x = p.x; + const unsigned y = p.y; + + if( (grid(x-dx, y+dy) && !grid(x-dx, y)) || (grid(x+dx, y-dy) && !grid(x, y-dy)) ) + return p; + + const bool gdx = grid(x+dx, y); + const bool gdy = grid(x, y+dy); + + if(gdx && jumpX(Pos(x+dx, y), dx).isValid()) + return p; + + if(gdy && jumpY(Pos(x, y+dy), dy).isValid()) + return p; + + if((gdx || gdy) && grid(x+dx, y+dy)) + { + p.x += dx; + p.y += dy; + } + else + break; + } + + return npos; +} + +template inline Position Searcher::jumpX(Position p, int dx) const +{ + JPS_ASSERT(dx); + JPS_ASSERT(grid(p.x, p.y)); + + const unsigned y = p.y; + const Position& endpos = endNode->pos; + const int skip = this->skip; + + unsigned a = ~((!!grid(p.x, y+skip)) | ((!!grid(p.x, y-skip)) << 1)); + + while(true) + { + const unsigned xx = p.x + dx; + const unsigned b = (!!grid(xx, y+skip)) | ((!!grid(xx, y-skip)) << 1); + + if((b & a) || p == endpos) + return p; + if(!grid(xx, y)) + return npos; + + p.x += dx; + a = ~b; + } +} + +template inline Position Searcher::jumpY(Position p, int dy) const +{ + JPS_ASSERT(dy); + JPS_ASSERT(grid(p.x, p.y)); + + const unsigned x = p.x; + const Position& endpos = endNode->pos; + const int skip = this->skip; + + unsigned a = ~((!!grid(x+skip, p.y)) | ((!!grid(x-skip, p.y)) << 1)); + + while(true) + { + const unsigned yy = p.y + dy; + const unsigned b = (!!grid(x+skip, yy)) | ((!!grid(x-skip, yy)) << 1); + + if((a & b) || p == endpos) + return p; + if(!grid(x, yy)) + return npos; + + p.y += dy; + a = ~b; + } +} + +#ifdef JPS_VERIFY +// Recursive reference implementation -- for comparison only +template Position Searcher::jumpPRec(const Position& p, const Position& src) const +{ + unsigned x = p.x; + unsigned y = p.y; + if(!grid(x, y)) + return npos; + if(p == endNode->pos) + return p; + + int dx = int(x - src.x); + int dy = int(y - src.y); + JPS_ASSERT(dx || dy); + + if(dx && dy) + { + if( (grid(x-dx, y+dy) && !grid(x-dx, y)) || (grid(x+dx, y-dy) && !grid(x, y-dy)) ) + return p; + } + else if(dx) + { + if( (grid(x+dx, y+skip) && !grid(x, y+skip)) || (grid(x+dx, y-skip) && !grid(x, y-skip)) ) + return p; + } + else if(dy) + { + if( (grid(x+skip, y+dy) && !grid(x+skip, y)) || (grid(x-skip, y+dy) && !grid(x-skip, y)) ) + return p; + } + + if(dx && dy) + { + if(jumpPRec(Pos(x+dx, y), p).isValid()) + return p; + if(jumpPRec(Pos(x, y+dy), p).isValid()) + return p; + } + + if(grid(x+dx, y) || grid(x, y+dy)) + return jumpPRec(Pos(x+dx, y+dy), p); + + return npos; +} +#endif + +template unsigned Searcher::findNeighbors(const Node *n, Position *wptr) const +{ + Position *w = wptr; + const unsigned x = n->pos.x; + const unsigned y = n->pos.y; + +#define JPS_CHECKGRID(dx, dy) (grid(x+(dx), y+(dy))) +#define JPS_ADDPOS(dx, dy) do { *w++ = Pos(x+(dx), y+(dy)); } while(0) +#define JPS_ADDPOS_CHECK(dx, dy) do { if(JPS_CHECKGRID(dx, dy)) JPS_ADDPOS(dx, dy); } while(0) +#define JPS_ADDPOS_NO_TUNNEL(dx, dy) do { if(grid(x+(dx),y) || grid(x,y+(dy))) JPS_ADDPOS_CHECK(dx, dy); } while(0) + + if(!n->parent) + { + // straight moves + JPS_ADDPOS_CHECK(-skip, 0); + JPS_ADDPOS_CHECK(0, -skip); + JPS_ADDPOS_CHECK(0, skip); + JPS_ADDPOS_CHECK(skip, 0); + + // diagonal moves + prevent tunneling + JPS_ADDPOS_NO_TUNNEL(-skip, -skip); + JPS_ADDPOS_NO_TUNNEL(-skip, skip); + JPS_ADDPOS_NO_TUNNEL(skip, -skip); + JPS_ADDPOS_NO_TUNNEL(skip, skip); + + return unsigned(w - wptr); + } + + // jump directions (both -1, 0, or 1) + int dx = int(x - n->parent->pos.x); + dx /= std::max(abs(dx), 1); + dx *= skip; + int dy = int(y - n->parent->pos.y); + dy /= std::max(abs(dy), 1); + dy *= skip; + + if(dx && dy) + { + // diagonal + // natural neighbors + bool walkX = false; + bool walkY = false; + if((walkX = grid(x+dx, y))) + *w++ = Pos(x+dx, y); + if((walkY = grid(x, y+dy))) + *w++ = Pos(x, y+dy); + + if(walkX || walkY) + JPS_ADDPOS_CHECK(dx, dy); + + // forced neighbors + if(walkY && !JPS_CHECKGRID(-dx,0)) + JPS_ADDPOS_CHECK(-dx, dy); + + if(walkX && !JPS_CHECKGRID(0,-dy)) + JPS_ADDPOS_CHECK(dx, -dy); + } + else if(dx) + { + // along X axis + if(JPS_CHECKGRID(dx, 0)) + { + JPS_ADDPOS(dx, 0); + + // Forced neighbors (+ prevent tunneling) + if(!JPS_CHECKGRID(0, skip)) + JPS_ADDPOS_CHECK(dx, skip); + if(!JPS_CHECKGRID(0,-skip)) + JPS_ADDPOS_CHECK(dx,-skip); + } + + + } + else if(dy) + { + // along Y axis + if(JPS_CHECKGRID(0, dy)) + { + JPS_ADDPOS(0, dy); + + // Forced neighbors (+ prevent tunneling) + if(!JPS_CHECKGRID(skip, 0)) + JPS_ADDPOS_CHECK(skip, dy); + if(!JPS_CHECKGRID(-skip, 0)) + JPS_ADDPOS_CHECK(-skip,dy); + } + } +#undef JPS_ADDPOS +#undef JPS_ADDPOS_CHECK +#undef JPS_ADDPOS_NO_TUNNEL +#undef JPS_CHECKGRID + + return unsigned(w - wptr); +} + +template void Searcher::identifySuccessors(const Node *n) +{ + Position buf[8]; + const int num = findNeighbors(n, &buf[0]); + for(int i = num-1; i >= 0; --i) + { + // Invariant: A node is only a valid neighbor if the corresponding grid position is walkable (asserted in jumpP) + Position jp = jumpP(buf[i], n->pos); +#ifdef JPS_VERIFY + JPS_ASSERT(jp == jumpPRec(buf[i], n->pos)); +#endif + if(!jp.isValid()) + continue; + + // Now that the grid position is definitely a valid jump point, we have to create the actual node. + Node *jn = getNode(jp); + JPS_ASSERT(jn && jn != n); + if(!jn->isClosed()) + { + unsigned extraG = Heuristic::Euclidean(jn, n); + unsigned newG = n->g + extraG; + if(!jn->isOpen() || newG < jn->g) + { + jn->g = newG; + jn->f = jn->g + Heuristic::Manhattan(jn, endNode); + jn->parent = n; + if(!jn->isOpen()) + { + open.push(jn); + jn->setOpen(); + } + else + open.fixup(jn); + } + } + } +} + +template void Searcher::generatePath(PathVector& path, unsigned step) const +{ + size_t offset = path.size(); + if(step) + { + const Node *next = endNode; + const Node *prev = endNode->parent; + do + { + const unsigned x = next->pos.x, y = next->pos.y; + int dx = int(prev->pos.x - x); + int dy = int(prev->pos.y - y); + JPS_ASSERT(!dx || !dy || abs(dx) == abs(dy)); // known to be straight, if diagonal + const int steps = std::max(abs(dx), abs(dy)); + dx /= std::max(abs(dx), 1); + dy /= std::max(abs(dy), 1); + dx *= int(step); + dy *= int(step); + int dxa = 0, dya = 0; + for(int i = 0; i < steps; i += step) + { + path.push_back(Pos(x+dxa, y+dya)); + dxa += dx; + dya += dy; + } + next = prev; + prev = prev->parent; + } + while (prev); + } + else + { + const Node *next = endNode; + do + { + path.push_back(next->pos); + next = next->parent; + } + while (next->parent); + } + std::reverse(path.begin() + offset, path.end()); +} + +template bool Searcher::findPath(PathVector& path, Position start, Position end, unsigned step /* = 0 */) +{ + for(NodeGrid::iterator it = nodegrid.begin(); it != nodegrid.end(); ++it) + it->second.clearState(); + + // If skip is > 1, make sure the points are aligned so that the search will always hit them + start.x = (start.x / skip) * skip; + start.y = (start.y / skip) * skip; + end.x = (end.x / skip) * skip; + end.y = (end.y / skip) * skip; + + if(start == end) + { + // There is only a path if this single position is walkable. + // But since the starting position is omitted, there is nothing to do here. + return grid(end.x, end.y); + } + + // If start or end point are obstructed, don't even start + if(!grid(start.x, start.y) || !grid(end.x, end.y)) + return false; + + open.push(getNode(start)); + endNode = getNode(end); + JPS_ASSERT(endNode); + + do + { + Node *n = open.pop(); + n->setClosed(); + if(n == endNode) + { + open.clear(); + generatePath(path, step); + return true; + } + identifySuccessors(n); + } + while (!open.empty()); + return false; +} + +template void Searcher::freeMemory() +{ + NodeGrid v; + nodegrid.swap(v); + // other containers known to be empty. +} + +} // end namespace Internal + +using Internal::Searcher; + + +// Single-call convenience function +// +// path: If the function returns true, the path is stored in this vector. +// The path does NOT contain the starting position, i.e. if start and end are the same, +// the resulting path has no elements. +// The vector does not have to be empty. The function does not clear it; +// instead, the new path positions are appended at the end. +// This allows building a path incrementally. +// +// grid: expected to overload operator()(x, y), return true if position is walkable, false if not. +// +// step: If 0, only return waypoints. +// If 1, create exhaustive step-by-step path. +// If N, put in one position for N blocks travelled, or when a waypoint is hit. +// All returned points are guaranteed to be on a straight line (vertically, horizontally, or diagonally), +// and there is no obstruction between any two consecutive points. +// Note that this parameter does NOT influence the pathfinding in any way; +// it only controls the coarseness of the output path. +// +// skip: If you know your map data well enough, this can be set to > 1 to speed up pathfinding even more. +// Warning: Start and end positions will be rounded down to the nearest -aligned position, +// so make sure to give appropriate positions so they do not end up in a wall. +// This will also skip through walls if they are less than blocks thick at any reachable position. +template bool findPath(PathVector& path, const GRID& grid, unsigned startx, unsigned starty, unsigned endx, unsigned endy, unsigned step = 0, int skip = 1) +{ + JPS_ASSERT(skip >= 1); + Searcher search(grid); + search.setSkip(skip); + return search.findPath(path, Pos(startx, starty), Pos(endx, endy), step); +} + + + +} // end namespace JPS + + +#endif diff --git a/ExternalLibs/ttvfs/VFSDir.cpp b/ExternalLibs/ttvfs/VFSDir.cpp index 536ab72..6d0d6d8 100644 --- a/ExternalLibs/ttvfs/VFSDir.cpp +++ b/ExternalLibs/ttvfs/VFSDir.cpp @@ -97,6 +97,10 @@ bool VFSDir::merge(VFSDir *dir, bool overwrite, EntryFlags flag) if(dir == this) return true; // nothing to do then + // HACK: make sure the files are there before merging + this->load(false); + dir->load(false); + bool result = false; VFS_GUARD_OPT(this); diff --git a/README.txt b/README.txt index 299db66..b7d217d 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -This folder contains all Aquaria sources and necessary build scripts. +This folder contains all Aquaria sources and necessary build scripts. However, it does *not* contain any graphical file nor sound. If you want to play the game, you first need to buy the original full-featured version (http://www.bit-blot.com/aquaria/) and install @@ -6,8 +6,12 @@ it. Once you have done that, you need to build the files in this folder (see below for how to do that) and copy the resulting files to the place where you installed the original full-featured version. -BUILDING --------- +In case of problems, you can get support via IRC: +#bitblot @ irc.esper.net. + + +[1] BUILDING +------------ Follow these steps to build Aquaria. @@ -30,36 +34,153 @@ $ cd cmake-build $ cmake .. +Alternatively, if you want to specifiy compile-time options: +(See also [2] SETUP further down) + +$ ccmake .. + + 4- If you miss some dependencies, install them and run cmake again. Due to windows lacking package management, it is recommended to set all AQUARIA_INTERNAL_* cmake variables to TRUE for win32 - builds, or for statically linked linux builds. + builds, or for self-contained linux builds. 5- run make $ make -6- Copy necessary files to where you installed the original - full-featured version of Aquaria (e.g., ~/aquaria which is the - default) +6- If everything went well, the 'aquaria' binary is now in the + current directory (cmake-build). -$ cp aquaria ~/aquaria/ -$ cp -r ../games_scripts/* ~/aquaria -$ cp -r ../files/* ~/aquaria -You should *not* remove any file from the aquaria installation, just -replace some of them with the versions included in this folder. -MODS ----- +[2] SETUP +--------- -If you plan to use any of the Aquaria mods, you'll also need to update -the copies in your personal data directory: +First, be sure you have an existing installation of Aquaria. +This can be a Windows, Linux, or Mac OSX version, doesn't matter. -cp -a ~/aquaria/_mods ~/.Aquaria/ +Take this directory tree, showing the mandatory subdirs: -LINUX RUMBLE SUPPORT --------------------- +Aquaria <--- this is the directory you want! + | + +--- data + +--- gfx + +--- mus + +--- scripts + +--- sfx + +--- vox + +--- ... + +There are three ways to setup Aquaria, you may choose the one that +fits your intentions most: + + +**** +*** If you just want to get the thing working right now *** +*** and don't care much about updating frequently *** +**** + +After building, copy the executable to your aquaria root directory. +Then copy all files inside the repo's "files" directory +to your Aquaria root dir, replacing everything that exists. + +You should *not* remove any file from the Aquaria installation, just +replace some of them with the versions included in the repo. + +/!\ Be careful if you do this on a Mac with finder because + it replaces whole folders instead of just merging the new files in. + You have been warned. + +Lastly, if you want to play the included default mods, +copy game_scripts/_mods over your local _mods directory. + + + +**** +*** If you want to hack on Aquaria or update frequently: *** +**** + +* Linux/OSX: +Set the AQUARIA_DATA_PATH environment variable to the installation +directory as described above. E.g. add this line to your ~/.profile: + + export AQUARIA_DATA_PATH=~/games/Aquaria + +Alternatively, set the AQUARIA_DEFAULT_DATA_DIR compile time option +when building with cmake. + +Then, go to $AQUARIA_DATA_PATH and create a symlink +to the updated files directory: + + cd ~/games/Aquaria + ln -s ~/code/Aquaria-repo/files override + +This will make sure that whenever you update the repo, the updated datafiles +from the repo will be loaded instead of those that ship with the game. + +Lastly, if you want to play the included default mods, +copy game_scripts/_mods over your local _mods directory. + + + +* Windows: + +You'll probably want to install something like this for symlink/junction support: +--> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html +(You don't have to, but it's rather tedious to update everything by hand) + +Take all subdirs from the Aquaria root directory, and copy them into +path/to/Aquaria-repo/bin, or whereever your compiler will output its executable. +If you are able to, better create junctions to save space. + +Note that this will become your main working directory. + +Unfortunately you will have to use junctions to link the updated files. +Create a junction in path/to/Aquaria-repo/bin that points to +path/to/Aquaria-repo/files. +Otherwise, if you don't use junctions, copy the files dir by hand should they change. +You can either name it "override" and drop it into bin, or simply copy & replace +its contents into bin if you don't mind keeping your data clean. + +Lastly, if you want to play the included default mods, +copy game_scripts/_mods over your local _mods directory. + + + +**** +*** If you're a Linux package maintainer *** +**** + +I assume there is a package for e.g. the Humble Bundle version available; +you'll want to make sure that the game path is fixed and the same +on all user's installs when you set the following cmake options. + +Set the AQUARIA_DEFAULT_DATA_DIR cmake option to the game data dir +as described above. +Make sure your package includes all files from the repo's "files" directory. +Set the AQUARIA_EXTRA_DATA_DIR cmake option to the directory where these +extra files will be installed by the package. + +An example can be found here: +https://aur.archlinux.org/packages/aquaria-git/ + +Using this package as data dependecy: +https://aur.archlinux.org/packages/aquaria-data-hib/ + +You also need to make sure that the mod scripts in ~/.Aquaria/_mods/*/scripts/ +are updated with those from the repo's game_scripts/_mods directory. + + +If this doesn't apply to your setup, ask. [email, github, IRC, ...] + + + + + + +[SDL 1.2 ONLY -- LINUX RUMBLE SUPPORT] +--------------------------------------- SDL 1.2 does not support rumble features, even though Linux does. This feature will be added in SDL 1.3, which is still a long time coming. diff --git a/VS2010/.gitignore b/VS2010/.gitignore new file mode 100644 index 0000000..324698d --- /dev/null +++ b/VS2010/.gitignore @@ -0,0 +1,33 @@ +.* +*.o +*.o.* +*.so +*.so.dbg +*.bin +*.gz +*.obj +*.user +*.manifest +*.suo +*.ncb +*.pdb +*.ilk +*.exp +*.tmp +*.aps +*.opensdf +temp/* +build/* +bin/* +ipch/* +Debug/* +Release/* +New Folder/* +*.sdf +VS2010/*.vcxproj.user +VS2010/*.vcxproj.filters + +*.patch +*.diff + +!.gitignore diff --git a/VS2010/AquariaVS2010.sln b/VS2010/AquariaVS2010.sln new file mode 100644 index 0000000..0b5813d --- /dev/null +++ b/VS2010/AquariaVS2010.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Aquaria", "VS2010\Aquaria.vcxproj", "{4DB6D5AA-4EAD-4195-9B54-389B558036D8}" + ProjectSection(ProjectDependencies) = postProject + {4C2AD812-6776-4728-A4B0-ABA397224152} = {4C2AD812-6776-4728-A4B0-ABA397224152} + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} = {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BBGE", "VS2010\BBGE.vcxproj", "{4C2AD812-6776-4728-A4B0-ABA397224152}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "external", "VS2010\external.vcxproj", "{6A2DACD7-DA30-49A1-9214-CCDEB48E6050}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Debug|Win32.Build.0 = Debug|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Release|Win32.ActiveCfg = Release|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Release|Win32.Build.0 = Release|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Debug|Win32.ActiveCfg = Debug|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Debug|Win32.Build.0 = Debug|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Release|Win32.ActiveCfg = Release|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Release|Win32.Build.0 = Release|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Debug|Win32.Build.0 = Debug|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Release|Win32.ActiveCfg = Release|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/VS2010/VS2010/Aquaria.vcproj b/VS2010/VS2010/Aquaria.vcproj new file mode 100644 index 0000000..207d1da --- /dev/null +++ b/VS2010/VS2010/Aquaria.vcproj @@ -0,0 +1,573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/Aquaria.vcxproj b/VS2010/VS2010/Aquaria.vcxproj new file mode 100644 index 0000000..0e338de --- /dev/null +++ b/VS2010/VS2010/Aquaria.vcxproj @@ -0,0 +1,209 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4DB6D5AA-4EAD-4195-9B54-389B558036D8} + Aquaria_vc90 + Win32Proj + + + + Application + MultiByte + true + + + Application + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + true + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + false + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\BBGE;$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + $(SolutionDir)temp\$(Configuration)\external\;$(SolutionDir)temp\$(Configuration)\BBGE\;%(AdditionalLibraryDirectories) + msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + Console + MachineX86 + external.lib;BBGE.lib;%(AdditionalDependencies) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\BBGE;$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + + + Level3 + ProgramDatabase + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + true + true + MachineX86 + $(SolutionDir)temp\$(Configuration)\external\;$(SolutionDir)temp\$(Configuration)\BBGE\;%(AdditionalLibraryDirectories) + external.lib;BBGE.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VS2010/VS2010/BBGE.vcproj b/VS2010/VS2010/BBGE.vcproj new file mode 100644 index 0000000..3b11171 --- /dev/null +++ b/VS2010/VS2010/BBGE.vcproj @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/BBGE.vcxproj b/VS2010/VS2010/BBGE.vcxproj new file mode 100644 index 0000000..e8bdb00 --- /dev/null +++ b/VS2010/VS2010/BBGE.vcxproj @@ -0,0 +1,198 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4C2AD812-6776-4728-A4B0-ABA397224152} + Aquaria_vc90 + Win32Proj + + + + StaticLibrary + MultiByte + true + + + StaticLibrary + false + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + SDL2.lib;SDL2main.lib;OpenAL32.lib;%(AdditionalDependencies) + $(SolutionDir)\..\ExternalLibs\AL\lib\win32;$(SolutionDir)\..\ExternalLibs\SDL2\lib\win32;%(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + + + Level3 + ProgramDatabase + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + SDL2.lib;SDL2main.lib;OpenAL32.lib;%(AdditionalDependencies) + $(SolutionDir)\..\ExternalLibs\AL\lib\win32;$(SolutionDir)\..\ExternalLibs\SDL2\lib\win32;%(AdditionalLibraryDirectories) + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VS2010/VS2010/external.vcproj b/VS2010/VS2010/external.vcproj new file mode 100644 index 0000000..d35abe9 --- /dev/null +++ b/VS2010/VS2010/external.vcproj @@ -0,0 +1,1540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/external.vcxproj b/VS2010/VS2010/external.vcxproj new file mode 100644 index 0000000..c84757f --- /dev/null +++ b/VS2010/VS2010/external.vcxproj @@ -0,0 +1,421 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} + Aquaria_vc90 + Win32Proj + + + + StaticLibrary + MultiByte + true + + + StaticLibrary + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;HAVE_FCNTL_H;FT_CONFIG_OPTION_SYSTEM_ZLIB;FTGL_LIBRARY_STATIC;FT2_BUILD_LIBRARY;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;BBGE_BUILD_VFS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + 4244;4996;4305;4800;%(DisableSpecificWarnings) + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + ws2_32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL12\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;HAVE_FCNTL_H;FT_CONFIG_OPTION_SYSTEM_ZLIB;FTGL_LIBRARY_STATIC;FT2_BUILD_LIBRARY;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_HAS_EXCEPTIONS=0;BBGE_BUILD_VFS=1;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + false + + + Level3 + ProgramDatabase + 4244;4996;4305;4800;%(DisableSpecificWarnings) + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + ws2_32.lib;%(AdditionalDependencies) + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/files/data/localecase.txt b/files/data/localecase.txt new file mode 100644 index 0000000..6e16f82 --- /dev/null +++ b/files/data/localecase.txt @@ -0,0 +1,60 @@ +a A +b B +c C +d D +e E +f F +g G +h H +i I +j J +k K +l L +m M +n N +o O +p P +q Q +r R +s S +t T +u U +v V +w W +x X +y Y +z Z +š Š +œ Œ +ž Ž +ÿ Ÿ +à À +á Á +â  +ã à +ä Ä +å Å +æ Æ +ç Ç +è È +é É +ê Ê +ë Ë +ì Ì +í Í +î Î +ï Ï +ð Ð +ñ Ñ +ò Ò +ó Ó +ô Ô +õ Õ +ö Ö +ø Ø +ù Ù +ú Ú +û Û +ü Ü +ý Ý +þ Þ diff --git a/files/locales/ru/data/localecase.txt b/files/locales/ru/data/localecase.txt new file mode 100644 index 0000000..15b00d7 --- /dev/null +++ b/files/locales/ru/data/localecase.txt @@ -0,0 +1,72 @@ +a A +b B +c C +d D +e E +f F +g G +h H +i I +j J +k K +l L +m M +n N +o O +p P +q Q +r R +s S +t T +u U +v V +w W +x X +y Y +z Z + € +ƒ +š Š +œ Œ + +ž Ž +Ÿ +¢ ¡ +¼ £ +´ ¥ +¸ ¨ +º ª +¾ ½ +¿ ¯ +à À +ð Ð +á Á +ñ Ñ +â  +ò Ò +ã à +ó Ó +ä Ä +ô Ô +å Å +õ Õ +æ Æ +ö Ö +ç Ç +÷ × +è È +ø Ø +é É +ù Ù +ê Ê +ú Ú +ë Ë +û Û +ì Ì +ü Ü +í Í +ý Ý +î Î +þ Þ +ï Ï +ÿ ß diff --git a/game_scripts/scripts/.gitignore b/files/scripts/.gitignore similarity index 100% rename from game_scripts/scripts/.gitignore rename to files/scripts/.gitignore diff --git a/game_scripts/scripts/entities/00_starter.lua b/files/scripts/entities/00_starter.lua similarity index 100% rename from game_scripts/scripts/entities/00_starter.lua rename to files/scripts/entities/00_starter.lua diff --git a/game_scripts/scripts/entities/13_progression.lua b/files/scripts/entities/13_progression.lua similarity index 100% rename from game_scripts/scripts/entities/13_progression.lua rename to files/scripts/entities/13_progression.lua diff --git a/game_scripts/scripts/entities/SunDoor.lua b/files/scripts/entities/SunDoor.lua similarity index 100% rename from game_scripts/scripts/entities/SunDoor.lua rename to files/scripts/entities/SunDoor.lua diff --git a/game_scripts/scripts/entities/_unused/13_mainarea.lua b/files/scripts/entities/_unused/13_mainarea.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/13_mainarea.lua rename to files/scripts/entities/_unused/13_mainarea.lua diff --git a/game_scripts/scripts/entities/_unused/abyssspikes.lua b/files/scripts/entities/_unused/abyssspikes.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/abyssspikes.lua rename to files/scripts/entities/_unused/abyssspikes.lua diff --git a/game_scripts/scripts/entities/_unused/aleph.lua b/files/scripts/entities/_unused/aleph.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/aleph.lua rename to files/scripts/entities/_unused/aleph.lua diff --git a/game_scripts/scripts/entities/_unused/altar.lua b/files/scripts/entities/_unused/altar.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/altar.lua rename to files/scripts/entities/_unused/altar.lua diff --git a/game_scripts/scripts/entities/_unused/ancient-bulb.lua b/files/scripts/entities/_unused/ancient-bulb.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/ancient-bulb.lua rename to files/scripts/entities/_unused/ancient-bulb.lua diff --git a/game_scripts/scripts/entities/_unused/ancient-plant.lua b/files/scripts/entities/_unused/ancient-plant.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/ancient-plant.lua rename to files/scripts/entities/_unused/ancient-plant.lua diff --git a/game_scripts/scripts/entities/_unused/blasteregg.lua b/files/scripts/entities/_unused/blasteregg.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/blasteregg.lua rename to files/scripts/entities/_unused/blasteregg.lua diff --git a/game_scripts/scripts/entities/_unused/blastermother.lua b/files/scripts/entities/_unused/blastermother.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/blastermother.lua rename to files/scripts/entities/_unused/blastermother.lua diff --git a/game_scripts/scripts/entities/_unused/cc_enddemo.lua b/files/scripts/entities/_unused/cc_enddemo.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/cc_enddemo.lua rename to files/scripts/entities/_unused/cc_enddemo.lua diff --git a/game_scripts/scripts/entities/_unused/cc_lostincave.lua b/files/scripts/entities/_unused/cc_lostincave.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/cc_lostincave.lua rename to files/scripts/entities/_unused/cc_lostincave.lua diff --git a/game_scripts/scripts/entities/_unused/cc_missingmom.lua b/files/scripts/entities/_unused/cc_missingmom.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/cc_missingmom.lua rename to files/scripts/entities/_unused/cc_missingmom.lua diff --git a/game_scripts/scripts/entities/_unused/cc_wantgf.lua b/files/scripts/entities/_unused/cc_wantgf.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/cc_wantgf.lua rename to files/scripts/entities/_unused/cc_wantgf.lua diff --git a/game_scripts/scripts/entities/_unused/cf6-shot.lua b/files/scripts/entities/_unused/cf6-shot.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/cf6-shot.lua rename to files/scripts/entities/_unused/cf6-shot.lua diff --git a/game_scripts/scripts/entities/_unused/childdrask.lua b/files/scripts/entities/_unused/childdrask.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/childdrask.lua rename to files/scripts/entities/_unused/childdrask.lua diff --git a/game_scripts/scripts/entities/_unused/childsharan.lua b/files/scripts/entities/_unused/childsharan.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/childsharan.lua rename to files/scripts/entities/_unused/childsharan.lua diff --git a/game_scripts/scripts/entities/_unused/childteira.lua b/files/scripts/entities/_unused/childteira.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/childteira.lua rename to files/scripts/entities/_unused/childteira.lua diff --git a/game_scripts/scripts/entities/_unused/collectiblebabycrib.lua b/files/scripts/entities/_unused/collectiblebabycrib.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/collectiblebabycrib.lua rename to files/scripts/entities/_unused/collectiblebabycrib.lua diff --git a/game_scripts/scripts/entities/_unused/collectibleturtleshell.lua b/files/scripts/entities/_unused/collectibleturtleshell.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/collectibleturtleshell.lua rename to files/scripts/entities/_unused/collectibleturtleshell.lua diff --git a/game_scripts/scripts/entities/_unused/creatorform1sunkencity.lua b/files/scripts/entities/_unused/creatorform1sunkencity.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/creatorform1sunkencity.lua rename to files/scripts/entities/_unused/creatorform1sunkencity.lua diff --git a/game_scripts/scripts/entities/_unused/creatorform3.lua b/files/scripts/entities/_unused/creatorform3.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/creatorform3.lua rename to files/scripts/entities/_unused/creatorform3.lua diff --git a/game_scripts/scripts/entities/_unused/creepyface.lua b/files/scripts/entities/_unused/creepyface.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/creepyface.lua rename to files/scripts/entities/_unused/creepyface.lua diff --git a/game_scripts/scripts/entities/_unused/currentswitch.lua b/files/scripts/entities/_unused/currentswitch.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/currentswitch.lua rename to files/scripts/entities/_unused/currentswitch.lua diff --git a/game_scripts/scripts/entities/_unused/currentswitchoff.lua b/files/scripts/entities/_unused/currentswitchoff.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/currentswitchoff.lua rename to files/scripts/entities/_unused/currentswitchoff.lua diff --git a/game_scripts/scripts/entities/_unused/currentswitchon.lua b/files/scripts/entities/_unused/currentswitchon.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/currentswitchon.lua rename to files/scripts/entities/_unused/currentswitchon.lua diff --git a/game_scripts/scripts/entities/_unused/dandelion-spore.lua b/files/scripts/entities/_unused/dandelion-spore.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/dandelion-spore.lua rename to files/scripts/entities/_unused/dandelion-spore.lua diff --git a/game_scripts/scripts/entities/_unused/draskpriestbattle.lua b/files/scripts/entities/_unused/draskpriestbattle.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/draskpriestbattle.lua rename to files/scripts/entities/_unused/draskpriestbattle.lua diff --git a/game_scripts/scripts/entities/_unused/efendu.lua b/files/scripts/entities/_unused/efendu.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/efendu.lua rename to files/scripts/entities/_unused/efendu.lua diff --git a/game_scripts/scripts/entities/_unused/egg.lua b/files/scripts/entities/_unused/egg.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/egg.lua rename to files/scripts/entities/_unused/egg.lua diff --git a/game_scripts/scripts/entities/_unused/end-common.lua b/files/scripts/entities/_unused/end-common.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/end-common.lua rename to files/scripts/entities/_unused/end-common.lua diff --git a/game_scripts/scripts/entities/_unused/energybossclimb.lua b/files/scripts/entities/_unused/energybossclimb.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/energybossclimb.lua rename to files/scripts/entities/_unused/energybossclimb.lua diff --git a/game_scripts/scripts/entities/_unused/energygod.lua b/files/scripts/entities/_unused/energygod.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/energygod.lua rename to files/scripts/entities/_unused/energygod.lua diff --git a/game_scripts/scripts/entities/_unused/fan.lua b/files/scripts/entities/_unused/fan.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/fan.lua rename to files/scripts/entities/_unused/fan.lua diff --git a/game_scripts/scripts/entities/_unused/fatso.lua b/files/scripts/entities/_unused/fatso.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/fatso.lua rename to files/scripts/entities/_unused/fatso.lua diff --git a/game_scripts/scripts/entities/_unused/forestghost.lua b/files/scripts/entities/_unused/forestghost.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/forestghost.lua rename to files/scripts/entities/_unused/forestghost.lua diff --git a/game_scripts/scripts/entities/_unused/forestgodcrab.lua b/files/scripts/entities/_unused/forestgodcrab.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/forestgodcrab.lua rename to files/scripts/entities/_unused/forestgodcrab.lua diff --git a/game_scripts/scripts/entities/_unused/jellynew.lua b/files/scripts/entities/_unused/jellynew.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/jellynew.lua rename to files/scripts/entities/_unused/jellynew.lua diff --git a/game_scripts/scripts/entities/_unused/kairam.lua b/files/scripts/entities/_unused/kairam.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/kairam.lua rename to files/scripts/entities/_unused/kairam.lua diff --git a/game_scripts/scripts/entities/_unused/lesserwurm.lua b/files/scripts/entities/_unused/lesserwurm.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/lesserwurm.lua rename to files/scripts/entities/_unused/lesserwurm.lua diff --git a/game_scripts/scripts/entities/_unused/lumite.lua b/files/scripts/entities/_unused/lumite.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/lumite.lua rename to files/scripts/entities/_unused/lumite.lua diff --git a/game_scripts/scripts/entities/_unused/lumitebreeder.lua b/files/scripts/entities/_unused/lumitebreeder.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/lumitebreeder.lua rename to files/scripts/entities/_unused/lumitebreeder.lua diff --git a/game_scripts/scripts/entities/_unused/mengil.lua b/files/scripts/entities/_unused/mengil.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/mengil.lua rename to files/scripts/entities/_unused/mengil.lua diff --git a/game_scripts/scripts/entities/_unused/metalobject.lua b/files/scripts/entities/_unused/metalobject.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/metalobject.lua rename to files/scripts/entities/_unused/metalobject.lua diff --git a/game_scripts/scripts/entities/_unused/minicrab.lua b/files/scripts/entities/_unused/minicrab.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/minicrab.lua rename to files/scripts/entities/_unused/minicrab.lua diff --git a/game_scripts/scripts/entities/_unused/mithalanfamily.lua b/files/scripts/entities/_unused/mithalanfamily.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/mithalanfamily.lua rename to files/scripts/entities/_unused/mithalanfamily.lua diff --git a/game_scripts/scripts/entities/_unused/ompo.lua b/files/scripts/entities/_unused/ompo.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/ompo.lua rename to files/scripts/entities/_unused/ompo.lua diff --git a/game_scripts/scripts/entities/_unused/pathtest.lua b/files/scripts/entities/_unused/pathtest.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/pathtest.lua rename to files/scripts/entities/_unused/pathtest.lua diff --git a/game_scripts/scripts/entities/_unused/peteggcommon.lua b/files/scripts/entities/_unused/peteggcommon.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/peteggcommon.lua rename to files/scripts/entities/_unused/peteggcommon.lua diff --git a/game_scripts/scripts/entities/_unused/plantcommon.lua b/files/scripts/entities/_unused/plantcommon.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/plantcommon.lua rename to files/scripts/entities/_unused/plantcommon.lua diff --git a/game_scripts/scripts/entities/_unused/poisonberry.lua b/files/scripts/entities/_unused/poisonberry.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/poisonberry.lua rename to files/scripts/entities/_unused/poisonberry.lua diff --git a/game_scripts/scripts/entities/_unused/prologue_energyboss.lua b/files/scripts/entities/_unused/prologue_energyboss.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/prologue_energyboss.lua rename to files/scripts/entities/_unused/prologue_energyboss.lua diff --git a/game_scripts/scripts/entities/_unused/prologue_mithala.lua b/files/scripts/entities/_unused/prologue_mithala.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/prologue_mithala.lua rename to files/scripts/entities/_unused/prologue_mithala.lua diff --git a/game_scripts/scripts/entities/_unused/queenhydra.lua b/files/scripts/entities/_unused/queenhydra.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/queenhydra.lua rename to files/scripts/entities/_unused/queenhydra.lua diff --git a/game_scripts/scripts/entities/_unused/rotfish-blob.lua b/files/scripts/entities/_unused/rotfish-blob.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/rotfish-blob.lua rename to files/scripts/entities/_unused/rotfish-blob.lua diff --git a/game_scripts/scripts/entities/_unused/rotfish.lua b/files/scripts/entities/_unused/rotfish.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/rotfish.lua rename to files/scripts/entities/_unused/rotfish.lua diff --git a/game_scripts/scripts/entities/_unused/sacrificebutton.lua b/files/scripts/entities/_unused/sacrificebutton.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/sacrificebutton.lua rename to files/scripts/entities/_unused/sacrificebutton.lua diff --git a/game_scripts/scripts/entities/_unused/sacrificevictim.lua b/files/scripts/entities/_unused/sacrificevictim.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/sacrificevictim.lua rename to files/scripts/entities/_unused/sacrificevictim.lua diff --git a/game_scripts/scripts/entities/_unused/savepoint.lua b/files/scripts/entities/_unused/savepoint.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/savepoint.lua rename to files/scripts/entities/_unused/savepoint.lua diff --git a/game_scripts/scripts/entities/_unused/schoolfish1.lua b/files/scripts/entities/_unused/schoolfish1.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/schoolfish1.lua rename to files/scripts/entities/_unused/schoolfish1.lua diff --git a/game_scripts/scripts/entities/_unused/seaslug.lua b/files/scripts/entities/_unused/seaslug.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/seaslug.lua rename to files/scripts/entities/_unused/seaslug.lua diff --git a/game_scripts/scripts/entities/_unused/seaturtlebg.lua b/files/scripts/entities/_unused/seaturtlebg.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/seaturtlebg.lua rename to files/scripts/entities/_unused/seaturtlebg.lua diff --git a/game_scripts/scripts/entities/_unused/skeletaltest.lua b/files/scripts/entities/_unused/skeletaltest.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/skeletaltest.lua rename to files/scripts/entities/_unused/skeletaltest.lua diff --git a/game_scripts/scripts/entities/_unused/spikeball.lua b/files/scripts/entities/_unused/spikeball.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/spikeball.lua rename to files/scripts/entities/_unused/spikeball.lua diff --git a/game_scripts/scripts/entities/_unused/spikeyegg.lua b/files/scripts/entities/_unused/spikeyegg.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/spikeyegg.lua rename to files/scripts/entities/_unused/spikeyegg.lua diff --git a/game_scripts/scripts/entities/_unused/spikeyeggdown.lua b/files/scripts/entities/_unused/spikeyeggdown.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/spikeyeggdown.lua rename to files/scripts/entities/_unused/spikeyeggdown.lua diff --git a/game_scripts/scripts/entities/_unused/spikeyeggup.lua b/files/scripts/entities/_unused/spikeyeggup.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/spikeyeggup.lua rename to files/scripts/entities/_unused/spikeyeggup.lua diff --git a/game_scripts/scripts/entities/_unused/springplant.lua b/files/scripts/entities/_unused/springplant.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/springplant.lua rename to files/scripts/entities/_unused/springplant.lua diff --git a/game_scripts/scripts/entities/_unused/stresstest.lua b/files/scripts/entities/_unused/stresstest.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/stresstest.lua rename to files/scripts/entities/_unused/stresstest.lua diff --git a/game_scripts/scripts/entities/_unused/studenta.lua b/files/scripts/entities/_unused/studenta.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/studenta.lua rename to files/scripts/entities/_unused/studenta.lua diff --git a/game_scripts/scripts/entities/_unused/thermalvent.lua b/files/scripts/entities/_unused/thermalvent.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/thermalvent.lua rename to files/scripts/entities/_unused/thermalvent.lua diff --git a/game_scripts/scripts/entities/_unused/transitfish.lua b/files/scripts/entities/_unused/transitfish.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/transitfish.lua rename to files/scripts/entities/_unused/transitfish.lua diff --git a/game_scripts/scripts/entities/_unused/tungar.lua b/files/scripts/entities/_unused/tungar.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/tungar.lua rename to files/scripts/entities/_unused/tungar.lua diff --git a/game_scripts/scripts/entities/_unused/weed.lua b/files/scripts/entities/_unused/weed.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/weed.lua rename to files/scripts/entities/_unused/weed.lua diff --git a/game_scripts/scripts/entities/_unused/zunna.lua b/files/scripts/entities/_unused/zunna.lua similarity index 100% rename from game_scripts/scripts/entities/_unused/zunna.lua rename to files/scripts/entities/_unused/zunna.lua diff --git a/game_scripts/scripts/entities/abaddon.lua b/files/scripts/entities/abaddon.lua similarity index 100% rename from game_scripts/scripts/entities/abaddon.lua rename to files/scripts/entities/abaddon.lua diff --git a/game_scripts/scripts/entities/abyssoctopus.lua b/files/scripts/entities/abyssoctopus.lua similarity index 100% rename from game_scripts/scripts/entities/abyssoctopus.lua rename to files/scripts/entities/abyssoctopus.lua diff --git a/game_scripts/scripts/entities/aggrobaby.lua b/files/scripts/entities/aggrobaby.lua similarity index 100% rename from game_scripts/scripts/entities/aggrobaby.lua rename to files/scripts/entities/aggrobaby.lua diff --git a/game_scripts/scripts/entities/aggroeggs.lua b/files/scripts/entities/aggroeggs.lua similarity index 100% rename from game_scripts/scripts/entities/aggroeggs.lua rename to files/scripts/entities/aggroeggs.lua diff --git a/game_scripts/scripts/entities/aggrohopper.lua b/files/scripts/entities/aggrohopper.lua similarity index 100% rename from game_scripts/scripts/entities/aggrohopper.lua rename to files/scripts/entities/aggrohopper.lua diff --git a/game_scripts/scripts/entities/airship.lua b/files/scripts/entities/airship.lua similarity index 100% rename from game_scripts/scripts/entities/airship.lua rename to files/scripts/entities/airship.lua diff --git a/game_scripts/scripts/entities/anemone.lua b/files/scripts/entities/anemone.lua similarity index 100% rename from game_scripts/scripts/entities/anemone.lua rename to files/scripts/entities/anemone.lua diff --git a/game_scripts/scripts/entities/anemone2.lua b/files/scripts/entities/anemone2.lua similarity index 100% rename from game_scripts/scripts/entities/anemone2.lua rename to files/scripts/entities/anemone2.lua diff --git a/game_scripts/scripts/entities/anemone3.lua b/files/scripts/entities/anemone3.lua similarity index 100% rename from game_scripts/scripts/entities/anemone3.lua rename to files/scripts/entities/anemone3.lua diff --git a/game_scripts/scripts/entities/anemone4.lua b/files/scripts/entities/anemone4.lua similarity index 100% rename from game_scripts/scripts/entities/anemone4.lua rename to files/scripts/entities/anemone4.lua diff --git a/game_scripts/scripts/entities/anglerfish.lua b/files/scripts/entities/anglerfish.lua similarity index 100% rename from game_scripts/scripts/entities/anglerfish.lua rename to files/scripts/entities/anglerfish.lua diff --git a/game_scripts/scripts/entities/architect.lua b/files/scripts/entities/architect.lua similarity index 100% rename from game_scripts/scripts/entities/architect.lua rename to files/scripts/entities/architect.lua diff --git a/game_scripts/scripts/entities/armapillar.lua b/files/scripts/entities/armapillar.lua similarity index 100% rename from game_scripts/scripts/entities/armapillar.lua rename to files/scripts/entities/armapillar.lua diff --git a/game_scripts/scripts/entities/arnassi-spirit.lua b/files/scripts/entities/arnassi-spirit.lua similarity index 100% rename from game_scripts/scripts/entities/arnassi-spirit.lua rename to files/scripts/entities/arnassi-spirit.lua diff --git a/game_scripts/scripts/entities/babydeepshrimp.lua b/files/scripts/entities/babydeepshrimp.lua similarity index 100% rename from game_scripts/scripts/entities/babydeepshrimp.lua rename to files/scripts/entities/babydeepshrimp.lua diff --git a/game_scripts/scripts/entities/beluga-bubble.lua b/files/scripts/entities/beluga-bubble.lua similarity index 100% rename from game_scripts/scripts/entities/beluga-bubble.lua rename to files/scripts/entities/beluga-bubble.lua diff --git a/game_scripts/scripts/entities/beluga.lua b/files/scripts/entities/beluga.lua similarity index 100% rename from game_scripts/scripts/entities/beluga.lua rename to files/scripts/entities/beluga.lua diff --git a/game_scripts/scripts/entities/bevy.lua b/files/scripts/entities/bevy.lua similarity index 100% rename from game_scripts/scripts/entities/bevy.lua rename to files/scripts/entities/bevy.lua diff --git a/game_scripts/scripts/entities/bigblaster.lua b/files/scripts/entities/bigblaster.lua similarity index 100% rename from game_scripts/scripts/entities/bigblaster.lua rename to files/scripts/entities/bigblaster.lua diff --git a/game_scripts/scripts/entities/bigmaul.lua b/files/scripts/entities/bigmaul.lua similarity index 100% rename from game_scripts/scripts/entities/bigmaul.lua rename to files/scripts/entities/bigmaul.lua diff --git a/game_scripts/scripts/entities/bigmouth.lua b/files/scripts/entities/bigmouth.lua similarity index 100% rename from game_scripts/scripts/entities/bigmouth.lua rename to files/scripts/entities/bigmouth.lua diff --git a/game_scripts/scripts/entities/bigmouthparasite.lua b/files/scripts/entities/bigmouthparasite.lua similarity index 100% rename from game_scripts/scripts/entities/bigmouthparasite.lua rename to files/scripts/entities/bigmouthparasite.lua diff --git a/game_scripts/scripts/entities/bioplant.lua b/files/scripts/entities/bioplant.lua similarity index 100% rename from game_scripts/scripts/entities/bioplant.lua rename to files/scripts/entities/bioplant.lua diff --git a/game_scripts/scripts/entities/biteymouth.lua b/files/scripts/entities/biteymouth.lua similarity index 100% rename from game_scripts/scripts/entities/biteymouth.lua rename to files/scripts/entities/biteymouth.lua diff --git a/game_scripts/scripts/entities/blaster.lua b/files/scripts/entities/blaster.lua similarity index 100% rename from game_scripts/scripts/entities/blaster.lua rename to files/scripts/entities/blaster.lua diff --git a/game_scripts/scripts/entities/blazer.lua b/files/scripts/entities/blazer.lua similarity index 100% rename from game_scripts/scripts/entities/blazer.lua rename to files/scripts/entities/blazer.lua diff --git a/game_scripts/scripts/entities/bloodcell-common.lua b/files/scripts/entities/bloodcell-common.lua similarity index 100% rename from game_scripts/scripts/entities/bloodcell-common.lua rename to files/scripts/entities/bloodcell-common.lua diff --git a/game_scripts/scripts/entities/bloodcell-red.lua b/files/scripts/entities/bloodcell-red.lua similarity index 100% rename from game_scripts/scripts/entities/bloodcell-red.lua rename to files/scripts/entities/bloodcell-red.lua diff --git a/game_scripts/scripts/entities/bloodcell-white.lua b/files/scripts/entities/bloodcell-white.lua similarity index 100% rename from game_scripts/scripts/entities/bloodcell-white.lua rename to files/scripts/entities/bloodcell-white.lua diff --git a/game_scripts/scripts/entities/breakablecommon.lua b/files/scripts/entities/breakablecommon.lua similarity index 100% rename from game_scripts/scripts/entities/breakablecommon.lua rename to files/scripts/entities/breakablecommon.lua diff --git a/game_scripts/scripts/entities/brokenpiece.lua b/files/scripts/entities/brokenpiece.lua similarity index 100% rename from game_scripts/scripts/entities/brokenpiece.lua rename to files/scripts/entities/brokenpiece.lua diff --git a/game_scripts/scripts/entities/camopus.lua b/files/scripts/entities/camopus.lua similarity index 100% rename from game_scripts/scripts/entities/camopus.lua rename to files/scripts/entities/camopus.lua diff --git a/game_scripts/scripts/entities/castlecrab.lua b/files/scripts/entities/castlecrab.lua similarity index 100% rename from game_scripts/scripts/entities/castlecrab.lua rename to files/scripts/entities/castlecrab.lua diff --git a/game_scripts/scripts/entities/cathedraldoor.lua b/files/scripts/entities/cathedraldoor.lua similarity index 100% rename from game_scripts/scripts/entities/cathedraldoor.lua rename to files/scripts/entities/cathedraldoor.lua diff --git a/game_scripts/scripts/entities/cavefish1.lua b/files/scripts/entities/cavefish1.lua similarity index 100% rename from game_scripts/scripts/entities/cavefish1.lua rename to files/scripts/entities/cavefish1.lua diff --git a/game_scripts/scripts/entities/cavefish2.lua b/files/scripts/entities/cavefish2.lua similarity index 100% rename from game_scripts/scripts/entities/cavefish2.lua rename to files/scripts/entities/cavefish2.lua diff --git a/game_scripts/scripts/entities/cavefish3.lua b/files/scripts/entities/cavefish3.lua similarity index 100% rename from game_scripts/scripts/entities/cavefish3.lua rename to files/scripts/entities/cavefish3.lua diff --git a/game_scripts/scripts/entities/cavefish4.lua b/files/scripts/entities/cavefish4.lua similarity index 100% rename from game_scripts/scripts/entities/cavefish4.lua rename to files/scripts/entities/cavefish4.lua diff --git a/game_scripts/scripts/entities/cavefishcommon.lua b/files/scripts/entities/cavefishcommon.lua similarity index 100% rename from game_scripts/scripts/entities/cavefishcommon.lua rename to files/scripts/entities/cavefishcommon.lua diff --git a/game_scripts/scripts/entities/cc_cat.lua b/files/scripts/entities/cc_cat.lua similarity index 100% rename from game_scripts/scripts/entities/cc_cat.lua rename to files/scripts/entities/cc_cat.lua diff --git a/game_scripts/scripts/entities/cc_endofgame.lua b/files/scripts/entities/cc_endofgame.lua similarity index 100% rename from game_scripts/scripts/entities/cc_endofgame.lua rename to files/scripts/entities/cc_endofgame.lua diff --git a/game_scripts/scripts/entities/cc_father.lua b/files/scripts/entities/cc_father.lua similarity index 100% rename from game_scripts/scripts/entities/cc_father.lua rename to files/scripts/entities/cc_father.lua diff --git a/game_scripts/scripts/entities/cc_final.lua b/files/scripts/entities/cc_final.lua similarity index 100% rename from game_scripts/scripts/entities/cc_final.lua rename to files/scripts/entities/cc_final.lua diff --git a/game_scripts/scripts/entities/cc_getrocked.lua b/files/scripts/entities/cc_getrocked.lua similarity index 100% rename from game_scripts/scripts/entities/cc_getrocked.lua rename to files/scripts/entities/cc_getrocked.lua diff --git a/game_scripts/scripts/entities/cc_gf.lua b/files/scripts/entities/cc_gf.lua similarity index 100% rename from game_scripts/scripts/entities/cc_gf.lua rename to files/scripts/entities/cc_gf.lua diff --git a/game_scripts/scripts/entities/cc_kid.lua b/files/scripts/entities/cc_kid.lua similarity index 100% rename from game_scripts/scripts/entities/cc_kid.lua rename to files/scripts/entities/cc_kid.lua diff --git a/game_scripts/scripts/entities/cc_mother.lua b/files/scripts/entities/cc_mother.lua similarity index 100% rename from game_scripts/scripts/entities/cc_mother.lua rename to files/scripts/entities/cc_mother.lua diff --git a/game_scripts/scripts/entities/cc_statuehead.lua b/files/scripts/entities/cc_statuehead.lua similarity index 100% rename from game_scripts/scripts/entities/cc_statuehead.lua rename to files/scripts/entities/cc_statuehead.lua diff --git a/game_scripts/scripts/entities/cc_sunkencity.lua b/files/scripts/entities/cc_sunkencity.lua similarity index 100% rename from game_scripts/scripts/entities/cc_sunkencity.lua rename to files/scripts/entities/cc_sunkencity.lua diff --git a/game_scripts/scripts/entities/cellgenerator.lua b/files/scripts/entities/cellgenerator.lua similarity index 100% rename from game_scripts/scripts/entities/cellgenerator.lua rename to files/scripts/entities/cellgenerator.lua diff --git a/game_scripts/scripts/entities/chestmonster.lua b/files/scripts/entities/chestmonster.lua similarity index 100% rename from game_scripts/scripts/entities/chestmonster.lua rename to files/scripts/entities/chestmonster.lua diff --git a/game_scripts/scripts/entities/chomper.lua b/files/scripts/entities/chomper.lua similarity index 100% rename from game_scripts/scripts/entities/chomper.lua rename to files/scripts/entities/chomper.lua diff --git a/game_scripts/scripts/entities/clam.lua b/files/scripts/entities/clam.lua similarity index 100% rename from game_scripts/scripts/entities/clam.lua rename to files/scripts/entities/clam.lua diff --git a/game_scripts/scripts/entities/clay.lua b/files/scripts/entities/clay.lua similarity index 100% rename from game_scripts/scripts/entities/clay.lua rename to files/scripts/entities/clay.lua diff --git a/game_scripts/scripts/entities/claystatue.lua b/files/scripts/entities/claystatue.lua similarity index 100% rename from game_scripts/scripts/entities/claystatue.lua rename to files/scripts/entities/claystatue.lua diff --git a/game_scripts/scripts/entities/clockworkcrab.lua b/files/scripts/entities/clockworkcrab.lua similarity index 100% rename from game_scripts/scripts/entities/clockworkcrab.lua rename to files/scripts/entities/clockworkcrab.lua diff --git a/game_scripts/scripts/entities/clockworkfish.lua b/files/scripts/entities/clockworkfish.lua similarity index 100% rename from game_scripts/scripts/entities/clockworkfish.lua rename to files/scripts/entities/clockworkfish.lua diff --git a/game_scripts/scripts/entities/collectibleanemoneseed.lua b/files/scripts/entities/collectibleanemoneseed.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleanemoneseed.lua rename to files/scripts/entities/collectibleanemoneseed.lua diff --git a/game_scripts/scripts/entities/collectiblearnassistatue.lua b/files/scripts/entities/collectiblearnassistatue.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblearnassistatue.lua rename to files/scripts/entities/collectiblearnassistatue.lua diff --git a/game_scripts/scripts/entities/collectiblebanner.lua b/files/scripts/entities/collectiblebanner.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblebanner.lua rename to files/scripts/entities/collectiblebanner.lua diff --git a/game_scripts/scripts/entities/collectiblebioseed.lua b/files/scripts/entities/collectiblebioseed.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblebioseed.lua rename to files/scripts/entities/collectiblebioseed.lua diff --git a/game_scripts/scripts/entities/collectibleblackpearl.lua b/files/scripts/entities/collectibleblackpearl.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleblackpearl.lua rename to files/scripts/entities/collectibleblackpearl.lua diff --git a/game_scripts/scripts/entities/collectibleblasteregg.lua b/files/scripts/entities/collectibleblasteregg.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleblasteregg.lua rename to files/scripts/entities/collectibleblasteregg.lua diff --git a/game_scripts/scripts/entities/collectiblechest.lua b/files/scripts/entities/collectiblechest.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblechest.lua rename to files/scripts/entities/collectiblechest.lua diff --git a/game_scripts/scripts/entities/collectiblecrabcostume.lua b/files/scripts/entities/collectiblecrabcostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblecrabcostume.lua rename to files/scripts/entities/collectiblecrabcostume.lua diff --git a/game_scripts/scripts/entities/collectibledumboegg.lua b/files/scripts/entities/collectibledumboegg.lua similarity index 100% rename from game_scripts/scripts/entities/collectibledumboegg.lua rename to files/scripts/entities/collectibledumboegg.lua diff --git a/game_scripts/scripts/entities/collectibleenergyboss.lua b/files/scripts/entities/collectibleenergyboss.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleenergyboss.lua rename to files/scripts/entities/collectibleenergyboss.lua diff --git a/game_scripts/scripts/entities/collectibleenergystatue.lua b/files/scripts/entities/collectibleenergystatue.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleenergystatue.lua rename to files/scripts/entities/collectibleenergystatue.lua diff --git a/game_scripts/scripts/entities/collectibleenergytemple.lua b/files/scripts/entities/collectibleenergytemple.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleenergytemple.lua rename to files/scripts/entities/collectibleenergytemple.lua diff --git a/game_scripts/scripts/entities/collectiblegear.lua b/files/scripts/entities/collectiblegear.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblegear.lua rename to files/scripts/entities/collectiblegear.lua diff --git a/game_scripts/scripts/entities/collectiblejellycostume.lua b/files/scripts/entities/collectiblejellycostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblejellycostume.lua rename to files/scripts/entities/collectiblejellycostume.lua diff --git a/game_scripts/scripts/entities/collectiblejellyplant.lua b/files/scripts/entities/collectiblejellyplant.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblejellyplant.lua rename to files/scripts/entities/collectiblejellyplant.lua diff --git a/game_scripts/scripts/entities/collectiblemithaladoll.lua b/files/scripts/entities/collectiblemithaladoll.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblemithaladoll.lua rename to files/scripts/entities/collectiblemithaladoll.lua diff --git a/game_scripts/scripts/entities/collectiblemithalancostume.lua b/files/scripts/entities/collectiblemithalancostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblemithalancostume.lua rename to files/scripts/entities/collectiblemithalancostume.lua diff --git a/game_scripts/scripts/entities/collectiblemithalaspot.lua b/files/scripts/entities/collectiblemithalaspot.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblemithalaspot.lua rename to files/scripts/entities/collectiblemithalaspot.lua diff --git a/game_scripts/scripts/entities/collectiblemutantcostume.lua b/files/scripts/entities/collectiblemutantcostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblemutantcostume.lua rename to files/scripts/entities/collectiblemutantcostume.lua diff --git a/game_scripts/scripts/entities/collectiblenaijacave.lua b/files/scripts/entities/collectiblenaijacave.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblenaijacave.lua rename to files/scripts/entities/collectiblenaijacave.lua diff --git a/game_scripts/scripts/entities/collectiblenautilusprime.lua b/files/scripts/entities/collectiblenautilusprime.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblenautilusprime.lua rename to files/scripts/entities/collectiblenautilusprime.lua diff --git a/game_scripts/scripts/entities/collectiblepiranhaegg.lua b/files/scripts/entities/collectiblepiranhaegg.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblepiranhaegg.lua rename to files/scripts/entities/collectiblepiranhaegg.lua diff --git a/game_scripts/scripts/entities/collectibleseahorsecostume.lua b/files/scripts/entities/collectibleseahorsecostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleseahorsecostume.lua rename to files/scripts/entities/collectibleseahorsecostume.lua diff --git a/game_scripts/scripts/entities/collectibleseedbag.lua b/files/scripts/entities/collectibleseedbag.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleseedbag.lua rename to files/scripts/entities/collectibleseedbag.lua diff --git a/game_scripts/scripts/entities/collectibleskull.lua b/files/scripts/entities/collectibleskull.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleskull.lua rename to files/scripts/entities/collectibleskull.lua diff --git a/game_scripts/scripts/entities/collectiblesongcave.lua b/files/scripts/entities/collectiblesongcave.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblesongcave.lua rename to files/scripts/entities/collectiblesongcave.lua diff --git a/game_scripts/scripts/entities/collectiblesporeseed.lua b/files/scripts/entities/collectiblesporeseed.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblesporeseed.lua rename to files/scripts/entities/collectiblesporeseed.lua diff --git a/game_scripts/scripts/entities/collectiblestarfish.lua b/files/scripts/entities/collectiblestarfish.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblestarfish.lua rename to files/scripts/entities/collectiblestarfish.lua diff --git a/game_scripts/scripts/entities/collectiblestonehead.lua b/files/scripts/entities/collectiblestonehead.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblestonehead.lua rename to files/scripts/entities/collectiblestonehead.lua diff --git a/game_scripts/scripts/entities/collectiblesunkey.lua b/files/scripts/entities/collectiblesunkey.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblesunkey.lua rename to files/scripts/entities/collectiblesunkey.lua diff --git a/game_scripts/scripts/entities/collectibleteencostume.lua b/files/scripts/entities/collectibleteencostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleteencostume.lua rename to files/scripts/entities/collectibleteencostume.lua diff --git a/game_scripts/scripts/entities/collectibletridenthead.lua b/files/scripts/entities/collectibletridenthead.lua similarity index 100% rename from game_scripts/scripts/entities/collectibletridenthead.lua rename to files/scripts/entities/collectibletridenthead.lua diff --git a/game_scripts/scripts/entities/collectibleturtleegg.lua b/files/scripts/entities/collectibleturtleegg.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleturtleegg.lua rename to files/scripts/entities/collectibleturtleegg.lua diff --git a/game_scripts/scripts/entities/collectibleupsidedownseed.lua b/files/scripts/entities/collectibleupsidedownseed.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleupsidedownseed.lua rename to files/scripts/entities/collectibleupsidedownseed.lua diff --git a/game_scripts/scripts/entities/collectibleurchincostume.lua b/files/scripts/entities/collectibleurchincostume.lua similarity index 100% rename from game_scripts/scripts/entities/collectibleurchincostume.lua rename to files/scripts/entities/collectibleurchincostume.lua diff --git a/game_scripts/scripts/entities/collectiblewalkerbaby.lua b/files/scripts/entities/collectiblewalkerbaby.lua similarity index 100% rename from game_scripts/scripts/entities/collectiblewalkerbaby.lua rename to files/scripts/entities/collectiblewalkerbaby.lua diff --git a/game_scripts/scripts/entities/core.lua b/files/scripts/entities/core.lua similarity index 100% rename from game_scripts/scripts/entities/core.lua rename to files/scripts/entities/core.lua diff --git a/game_scripts/scripts/entities/coward.lua b/files/scripts/entities/coward.lua similarity index 100% rename from game_scripts/scripts/entities/coward.lua rename to files/scripts/entities/coward.lua diff --git a/game_scripts/scripts/entities/crabboss.lua b/files/scripts/entities/crabboss.lua similarity index 100% rename from game_scripts/scripts/entities/crabboss.lua rename to files/scripts/entities/crabboss.lua diff --git a/game_scripts/scripts/entities/crawlvirus.lua b/files/scripts/entities/crawlvirus.lua similarity index 100% rename from game_scripts/scripts/entities/crawlvirus.lua rename to files/scripts/entities/crawlvirus.lua diff --git a/game_scripts/scripts/entities/crawpappy.lua b/files/scripts/entities/crawpappy.lua similarity index 100% rename from game_scripts/scripts/entities/crawpappy.lua rename to files/scripts/entities/crawpappy.lua diff --git a/game_scripts/scripts/entities/creatorform1.lua b/files/scripts/entities/creatorform1.lua similarity index 100% rename from game_scripts/scripts/entities/creatorform1.lua rename to files/scripts/entities/creatorform1.lua diff --git a/game_scripts/scripts/entities/creatorform2.lua b/files/scripts/entities/creatorform2.lua similarity index 100% rename from game_scripts/scripts/entities/creatorform2.lua rename to files/scripts/entities/creatorform2.lua diff --git a/game_scripts/scripts/entities/creatorform4.lua b/files/scripts/entities/creatorform4.lua similarity index 100% rename from game_scripts/scripts/entities/creatorform4.lua rename to files/scripts/entities/creatorform4.lua diff --git a/game_scripts/scripts/entities/creatorform5.lua b/files/scripts/entities/creatorform5.lua similarity index 100% rename from game_scripts/scripts/entities/creatorform5.lua rename to files/scripts/entities/creatorform5.lua diff --git a/game_scripts/scripts/entities/creatorform6.lua b/files/scripts/entities/creatorform6.lua similarity index 100% rename from game_scripts/scripts/entities/creatorform6.lua rename to files/scripts/entities/creatorform6.lua diff --git a/game_scripts/scripts/entities/creatorshadow.lua b/files/scripts/entities/creatorshadow.lua similarity index 100% rename from game_scripts/scripts/entities/creatorshadow.lua rename to files/scripts/entities/creatorshadow.lua diff --git a/game_scripts/scripts/entities/creatorsunkencity.lua b/files/scripts/entities/creatorsunkencity.lua similarity index 100% rename from game_scripts/scripts/entities/creatorsunkencity.lua rename to files/scripts/entities/creatorsunkencity.lua diff --git a/game_scripts/scripts/entities/crotoid.lua b/files/scripts/entities/crotoid.lua similarity index 100% rename from game_scripts/scripts/entities/crotoid.lua rename to files/scripts/entities/crotoid.lua diff --git a/game_scripts/scripts/entities/crystalholder.lua b/files/scripts/entities/crystalholder.lua similarity index 100% rename from game_scripts/scripts/entities/crystalholder.lua rename to files/scripts/entities/crystalholder.lua diff --git a/game_scripts/scripts/entities/cursorswarmer.lua b/files/scripts/entities/cursorswarmer.lua similarity index 100% rename from game_scripts/scripts/entities/cursorswarmer.lua rename to files/scripts/entities/cursorswarmer.lua diff --git a/game_scripts/scripts/entities/dandelion.lua b/files/scripts/entities/dandelion.lua similarity index 100% rename from game_scripts/scripts/entities/dandelion.lua rename to files/scripts/entities/dandelion.lua diff --git a/game_scripts/scripts/entities/dark-li-shot.lua b/files/scripts/entities/dark-li-shot.lua similarity index 100% rename from game_scripts/scripts/entities/dark-li-shot.lua rename to files/scripts/entities/dark-li-shot.lua diff --git a/game_scripts/scripts/entities/darkjelly.lua b/files/scripts/entities/darkjelly.lua similarity index 100% rename from game_scripts/scripts/entities/darkjelly.lua rename to files/scripts/entities/darkjelly.lua diff --git a/game_scripts/scripts/entities/darkjellyfg.lua b/files/scripts/entities/darkjellyfg.lua similarity index 100% rename from game_scripts/scripts/entities/darkjellyfg.lua rename to files/scripts/entities/darkjellyfg.lua diff --git a/game_scripts/scripts/entities/deepcrawley.lua b/files/scripts/entities/deepcrawley.lua similarity index 100% rename from game_scripts/scripts/entities/deepcrawley.lua rename to files/scripts/entities/deepcrawley.lua diff --git a/game_scripts/scripts/entities/deepeel.lua b/files/scripts/entities/deepeel.lua similarity index 100% rename from game_scripts/scripts/entities/deepeel.lua rename to files/scripts/entities/deepeel.lua diff --git a/game_scripts/scripts/entities/deepjelly.lua b/files/scripts/entities/deepjelly.lua similarity index 100% rename from game_scripts/scripts/entities/deepjelly.lua rename to files/scripts/entities/deepjelly.lua diff --git a/game_scripts/scripts/entities/deepurchin.lua b/files/scripts/entities/deepurchin.lua similarity index 100% rename from game_scripts/scripts/entities/deepurchin.lua rename to files/scripts/entities/deepurchin.lua diff --git a/game_scripts/scripts/entities/deepwhale.lua b/files/scripts/entities/deepwhale.lua similarity index 100% rename from game_scripts/scripts/entities/deepwhale.lua rename to files/scripts/entities/deepwhale.lua diff --git a/game_scripts/scripts/entities/doorcommon.lua b/files/scripts/entities/doorcommon.lua similarity index 100% rename from game_scripts/scripts/entities/doorcommon.lua rename to files/scripts/entities/doorcommon.lua diff --git a/game_scripts/scripts/entities/drask-final.lua b/files/scripts/entities/drask-final.lua similarity index 100% rename from game_scripts/scripts/entities/drask-final.lua rename to files/scripts/entities/drask-final.lua diff --git a/game_scripts/scripts/entities/drask-statue.lua b/files/scripts/entities/drask-statue.lua similarity index 100% rename from game_scripts/scripts/entities/drask-statue.lua rename to files/scripts/entities/drask-statue.lua diff --git a/game_scripts/scripts/entities/drask.lua b/files/scripts/entities/drask.lua similarity index 100% rename from game_scripts/scripts/entities/drask.lua rename to files/scripts/entities/drask.lua diff --git a/game_scripts/scripts/entities/druniad-final.lua b/files/scripts/entities/druniad-final.lua similarity index 100% rename from game_scripts/scripts/entities/druniad-final.lua rename to files/scripts/entities/druniad-final.lua diff --git a/game_scripts/scripts/entities/druniad.lua b/files/scripts/entities/druniad.lua similarity index 100% rename from game_scripts/scripts/entities/druniad.lua rename to files/scripts/entities/druniad.lua diff --git a/game_scripts/scripts/entities/duoeye.lua b/files/scripts/entities/duoeye.lua similarity index 100% rename from game_scripts/scripts/entities/duoeye.lua rename to files/scripts/entities/duoeye.lua diff --git a/game_scripts/scripts/entities/eel.lua b/files/scripts/entities/eel.lua similarity index 100% rename from game_scripts/scripts/entities/eel.lua rename to files/scripts/entities/eel.lua diff --git a/game_scripts/scripts/entities/ekko.lua b/files/scripts/entities/ekko.lua similarity index 100% rename from game_scripts/scripts/entities/ekko.lua rename to files/scripts/entities/ekko.lua diff --git a/game_scripts/scripts/entities/ekkrit.lua b/files/scripts/entities/ekkrit.lua similarity index 100% rename from game_scripts/scripts/entities/ekkrit.lua rename to files/scripts/entities/ekkrit.lua diff --git a/game_scripts/scripts/entities/electriceel.lua b/files/scripts/entities/electriceel.lua similarity index 100% rename from game_scripts/scripts/entities/electriceel.lua rename to files/scripts/entities/electriceel.lua diff --git a/game_scripts/scripts/entities/empty.lua b/files/scripts/entities/empty.lua similarity index 100% rename from game_scripts/scripts/entities/empty.lua rename to files/scripts/entities/empty.lua diff --git a/game_scripts/scripts/entities/energybarrier.lua b/files/scripts/entities/energybarrier.lua similarity index 100% rename from game_scripts/scripts/entities/energybarrier.lua rename to files/scripts/entities/energybarrier.lua diff --git a/game_scripts/scripts/entities/energybarrierflicker.lua b/files/scripts/entities/energybarrierflicker.lua similarity index 100% rename from game_scripts/scripts/entities/energybarrierflicker.lua rename to files/scripts/entities/energybarrierflicker.lua diff --git a/game_scripts/scripts/entities/energybarrieroff.lua b/files/scripts/entities/energybarrieroff.lua similarity index 100% rename from game_scripts/scripts/entities/energybarrieroff.lua rename to files/scripts/entities/energybarrieroff.lua diff --git a/game_scripts/scripts/entities/energybarriersolid.lua b/files/scripts/entities/energybarriersolid.lua similarity index 100% rename from game_scripts/scripts/entities/energybarriersolid.lua rename to files/scripts/entities/energybarriersolid.lua diff --git a/game_scripts/scripts/entities/energyboss.lua b/files/scripts/entities/energyboss.lua similarity index 100% rename from game_scripts/scripts/entities/energyboss.lua rename to files/scripts/entities/energyboss.lua diff --git a/game_scripts/scripts/entities/energydoor.lua b/files/scripts/entities/energydoor.lua similarity index 100% rename from game_scripts/scripts/entities/energydoor.lua rename to files/scripts/entities/energydoor.lua diff --git a/game_scripts/scripts/entities/energygodspirit.lua b/files/scripts/entities/energygodspirit.lua similarity index 100% rename from game_scripts/scripts/entities/energygodspirit.lua rename to files/scripts/entities/energygodspirit.lua diff --git a/game_scripts/scripts/entities/energylamp.lua b/files/scripts/entities/energylamp.lua similarity index 100% rename from game_scripts/scripts/entities/energylamp.lua rename to files/scripts/entities/energylamp.lua diff --git a/game_scripts/scripts/entities/energyorb.lua b/files/scripts/entities/energyorb.lua similarity index 100% rename from game_scripts/scripts/entities/energyorb.lua rename to files/scripts/entities/energyorb.lua diff --git a/game_scripts/scripts/entities/energyorbcracked.lua b/files/scripts/entities/energyorbcracked.lua similarity index 100% rename from game_scripts/scripts/entities/energyorbcracked.lua rename to files/scripts/entities/energyorbcracked.lua diff --git a/game_scripts/scripts/entities/entities.txt b/files/scripts/entities/entities.txt similarity index 100% rename from game_scripts/scripts/entities/entities.txt rename to files/scripts/entities/entities.txt diff --git a/game_scripts/scripts/entities/entitygroups.txt b/files/scripts/entities/entitygroups.txt similarity index 100% rename from game_scripts/scripts/entities/entitygroups.txt rename to files/scripts/entities/entitygroups.txt diff --git a/game_scripts/scripts/entities/entityinclude.lua b/files/scripts/entities/entityinclude.lua similarity index 100% rename from game_scripts/scripts/entities/entityinclude.lua rename to files/scripts/entities/entityinclude.lua diff --git a/game_scripts/scripts/entities/eric_13.lua b/files/scripts/entities/eric_13.lua similarity index 100% rename from game_scripts/scripts/entities/eric_13.lua rename to files/scripts/entities/eric_13.lua diff --git a/game_scripts/scripts/entities/eric_energyboss.lua b/files/scripts/entities/eric_energyboss.lua similarity index 100% rename from game_scripts/scripts/entities/eric_energyboss.lua rename to files/scripts/entities/eric_energyboss.lua diff --git a/game_scripts/scripts/entities/eric_erulian.lua b/files/scripts/entities/eric_erulian.lua similarity index 100% rename from game_scripts/scripts/entities/eric_erulian.lua rename to files/scripts/entities/eric_erulian.lua diff --git a/game_scripts/scripts/entities/eric_forestgod.lua b/files/scripts/entities/eric_forestgod.lua similarity index 100% rename from game_scripts/scripts/entities/eric_forestgod.lua rename to files/scripts/entities/eric_forestgod.lua diff --git a/game_scripts/scripts/entities/eric_mithala.lua b/files/scripts/entities/eric_mithala.lua similarity index 100% rename from game_scripts/scripts/entities/eric_mithala.lua rename to files/scripts/entities/eric_mithala.lua diff --git a/game_scripts/scripts/entities/eric_mutantnaija.lua b/files/scripts/entities/eric_mutantnaija.lua similarity index 100% rename from game_scripts/scripts/entities/eric_mutantnaija.lua rename to files/scripts/entities/eric_mutantnaija.lua diff --git a/game_scripts/scripts/entities/eric_sunkenmom.lua b/files/scripts/entities/eric_sunkenmom.lua similarity index 100% rename from game_scripts/scripts/entities/eric_sunkenmom.lua rename to files/scripts/entities/eric_sunkenmom.lua diff --git a/game_scripts/scripts/entities/erulian-final.lua b/files/scripts/entities/erulian-final.lua similarity index 100% rename from game_scripts/scripts/entities/erulian-final.lua rename to files/scripts/entities/erulian-final.lua diff --git a/game_scripts/scripts/entities/erulianghost.lua b/files/scripts/entities/erulianghost.lua similarity index 100% rename from game_scripts/scripts/entities/erulianghost.lua rename to files/scripts/entities/erulianghost.lua diff --git a/game_scripts/scripts/entities/eviljelly.lua b/files/scripts/entities/eviljelly.lua similarity index 100% rename from game_scripts/scripts/entities/eviljelly.lua rename to files/scripts/entities/eviljelly.lua diff --git a/game_scripts/scripts/entities/eyespiral.lua b/files/scripts/entities/eyespiral.lua similarity index 100% rename from game_scripts/scripts/entities/eyespiral.lua rename to files/scripts/entities/eyespiral.lua diff --git a/game_scripts/scripts/entities/falsebg.lua b/files/scripts/entities/falsebg.lua similarity index 100% rename from game_scripts/scripts/entities/falsebg.lua rename to files/scripts/entities/falsebg.lua diff --git a/game_scripts/scripts/entities/final-mutant.lua b/files/scripts/entities/final-mutant.lua similarity index 100% rename from game_scripts/scripts/entities/final-mutant.lua rename to files/scripts/entities/final-mutant.lua diff --git a/game_scripts/scripts/entities/finaldoor.lua b/files/scripts/entities/finaldoor.lua similarity index 100% rename from game_scripts/scripts/entities/finaldoor.lua rename to files/scripts/entities/finaldoor.lua diff --git a/game_scripts/scripts/entities/finalspiritcommon.lua b/files/scripts/entities/finalspiritcommon.lua similarity index 100% rename from game_scripts/scripts/entities/finalspiritcommon.lua rename to files/scripts/entities/finalspiritcommon.lua diff --git a/game_scripts/scripts/entities/finaltongue.lua b/files/scripts/entities/finaltongue.lua similarity index 100% rename from game_scripts/scripts/entities/finaltongue.lua rename to files/scripts/entities/finaltongue.lua diff --git a/game_scripts/scripts/entities/fishcaveglow.lua b/files/scripts/entities/fishcaveglow.lua similarity index 100% rename from game_scripts/scripts/entities/fishcaveglow.lua rename to files/scripts/entities/fishcaveglow.lua diff --git a/game_scripts/scripts/entities/flatfish.lua b/files/scripts/entities/flatfish.lua similarity index 100% rename from game_scripts/scripts/entities/flatfish.lua rename to files/scripts/entities/flatfish.lua diff --git a/game_scripts/scripts/entities/flea.lua b/files/scripts/entities/flea.lua similarity index 100% rename from game_scripts/scripts/entities/flea.lua rename to files/scripts/entities/flea.lua diff --git a/game_scripts/scripts/entities/floating-city.lua b/files/scripts/entities/floating-city.lua similarity index 100% rename from game_scripts/scripts/entities/floating-city.lua rename to files/scripts/entities/floating-city.lua diff --git a/game_scripts/scripts/entities/forestgod.lua b/files/scripts/entities/forestgod.lua similarity index 100% rename from game_scripts/scripts/entities/forestgod.lua rename to files/scripts/entities/forestgod.lua diff --git a/game_scripts/scripts/entities/forestgodseed.lua b/files/scripts/entities/forestgodseed.lua similarity index 100% rename from game_scripts/scripts/entities/forestgodseed.lua rename to files/scripts/entities/forestgodseed.lua diff --git a/game_scripts/scripts/entities/forestgodvine.lua b/files/scripts/entities/forestgodvine.lua similarity index 100% rename from game_scripts/scripts/entities/forestgodvine.lua rename to files/scripts/entities/forestgodvine.lua diff --git a/game_scripts/scripts/entities/forestgodvinehead.lua b/files/scripts/entities/forestgodvinehead.lua similarity index 100% rename from game_scripts/scripts/entities/forestgodvinehead.lua rename to files/scripts/entities/forestgodvinehead.lua diff --git a/game_scripts/scripts/entities/forestsprite.lua b/files/scripts/entities/forestsprite.lua similarity index 100% rename from game_scripts/scripts/entities/forestsprite.lua rename to files/scripts/entities/forestsprite.lua diff --git a/game_scripts/scripts/entities/formupgradeenergy1.lua b/files/scripts/entities/formupgradeenergy1.lua similarity index 100% rename from game_scripts/scripts/entities/formupgradeenergy1.lua rename to files/scripts/entities/formupgradeenergy1.lua diff --git a/game_scripts/scripts/entities/formupgradeenergy2.lua b/files/scripts/entities/formupgradeenergy2.lua similarity index 100% rename from game_scripts/scripts/entities/formupgradeenergy2.lua rename to files/scripts/entities/formupgradeenergy2.lua diff --git a/game_scripts/scripts/entities/froog.lua b/files/scripts/entities/froog.lua similarity index 100% rename from game_scripts/scripts/entities/froog.lua rename to files/scripts/entities/froog.lua diff --git a/game_scripts/scripts/entities/gateway.lua b/files/scripts/entities/gateway.lua similarity index 100% rename from game_scripts/scripts/entities/gateway.lua rename to files/scripts/entities/gateway.lua diff --git a/game_scripts/scripts/entities/gear.lua b/files/scripts/entities/gear.lua similarity index 100% rename from game_scripts/scripts/entities/gear.lua rename to files/scripts/entities/gear.lua diff --git a/game_scripts/scripts/entities/gearcommon.lua b/files/scripts/entities/gearcommon.lua similarity index 100% rename from game_scripts/scripts/entities/gearcommon.lua rename to files/scripts/entities/gearcommon.lua diff --git a/game_scripts/scripts/entities/gearfast.lua b/files/scripts/entities/gearfast.lua similarity index 100% rename from game_scripts/scripts/entities/gearfast.lua rename to files/scripts/entities/gearfast.lua diff --git a/game_scripts/scripts/entities/gearmed.lua b/files/scripts/entities/gearmed.lua similarity index 100% rename from game_scripts/scripts/entities/gearmed.lua rename to files/scripts/entities/gearmed.lua diff --git a/game_scripts/scripts/entities/gearslow.lua b/files/scripts/entities/gearslow.lua similarity index 100% rename from game_scripts/scripts/entities/gearslow.lua rename to files/scripts/entities/gearslow.lua diff --git a/game_scripts/scripts/entities/globecrab.lua b/files/scripts/entities/globecrab.lua similarity index 100% rename from game_scripts/scripts/entities/globecrab.lua rename to files/scripts/entities/globecrab.lua diff --git a/game_scripts/scripts/entities/grabbyarm.lua b/files/scripts/entities/grabbyarm.lua similarity index 100% rename from game_scripts/scripts/entities/grabbyarm.lua rename to files/scripts/entities/grabbyarm.lua diff --git a/game_scripts/scripts/entities/greenseadragon.lua b/files/scripts/entities/greenseadragon.lua similarity index 100% rename from game_scripts/scripts/entities/greenseadragon.lua rename to files/scripts/entities/greenseadragon.lua diff --git a/game_scripts/scripts/entities/groundshocker.lua b/files/scripts/entities/groundshocker.lua similarity index 100% rename from game_scripts/scripts/entities/groundshocker.lua rename to files/scripts/entities/groundshocker.lua diff --git a/game_scripts/scripts/entities/groundshockerattackcommon.lua b/files/scripts/entities/groundshockerattackcommon.lua similarity index 100% rename from game_scripts/scripts/entities/groundshockerattackcommon.lua rename to files/scripts/entities/groundshockerattackcommon.lua diff --git a/game_scripts/scripts/entities/groundshockerattackl.lua b/files/scripts/entities/groundshockerattackl.lua similarity index 100% rename from game_scripts/scripts/entities/groundshockerattackl.lua rename to files/scripts/entities/groundshockerattackl.lua diff --git a/game_scripts/scripts/entities/groundshockerattackr.lua b/files/scripts/entities/groundshockerattackr.lua similarity index 100% rename from game_scripts/scripts/entities/groundshockerattackr.lua rename to files/scripts/entities/groundshockerattackr.lua diff --git a/game_scripts/scripts/entities/groundshockershell.lua b/files/scripts/entities/groundshockershell.lua similarity index 100% rename from game_scripts/scripts/entities/groundshockershell.lua rename to files/scripts/entities/groundshockershell.lua diff --git a/game_scripts/scripts/entities/grouper.lua b/files/scripts/entities/grouper.lua similarity index 100% rename from game_scripts/scripts/entities/grouper.lua rename to files/scripts/entities/grouper.lua diff --git a/game_scripts/scripts/entities/guardian.lua b/files/scripts/entities/guardian.lua similarity index 100% rename from game_scripts/scripts/entities/guardian.lua rename to files/scripts/entities/guardian.lua diff --git a/game_scripts/scripts/entities/hardbeetle.lua b/files/scripts/entities/hardbeetle.lua similarity index 100% rename from game_scripts/scripts/entities/hardbeetle.lua rename to files/scripts/entities/hardbeetle.lua diff --git a/game_scripts/scripts/entities/hatchetfish.lua b/files/scripts/entities/hatchetfish.lua similarity index 100% rename from game_scripts/scripts/entities/hatchetfish.lua rename to files/scripts/entities/hatchetfish.lua diff --git a/game_scripts/scripts/entities/healthplant.lua b/files/scripts/entities/healthplant.lua similarity index 100% rename from game_scripts/scripts/entities/healthplant.lua rename to files/scripts/entities/healthplant.lua diff --git a/game_scripts/scripts/entities/healthupgrade0.lua b/files/scripts/entities/healthupgrade0.lua similarity index 100% rename from game_scripts/scripts/entities/healthupgrade0.lua rename to files/scripts/entities/healthupgrade0.lua diff --git a/game_scripts/scripts/entities/healthupgrade1.lua b/files/scripts/entities/healthupgrade1.lua similarity index 100% rename from game_scripts/scripts/entities/healthupgrade1.lua rename to files/scripts/entities/healthupgrade1.lua diff --git a/game_scripts/scripts/entities/healthupgrade2.lua b/files/scripts/entities/healthupgrade2.lua similarity index 100% rename from game_scripts/scripts/entities/healthupgrade2.lua rename to files/scripts/entities/healthupgrade2.lua diff --git a/game_scripts/scripts/entities/healthupgrade3.lua b/files/scripts/entities/healthupgrade3.lua similarity index 100% rename from game_scripts/scripts/entities/healthupgrade3.lua rename to files/scripts/entities/healthupgrade3.lua diff --git a/game_scripts/scripts/entities/healthupgrade4.lua b/files/scripts/entities/healthupgrade4.lua similarity index 100% rename from game_scripts/scripts/entities/healthupgrade4.lua rename to files/scripts/entities/healthupgrade4.lua diff --git a/game_scripts/scripts/entities/hellbeast.lua b/files/scripts/entities/hellbeast.lua similarity index 100% rename from game_scripts/scripts/entities/hellbeast.lua rename to files/scripts/entities/hellbeast.lua diff --git a/game_scripts/scripts/entities/horror.lua b/files/scripts/entities/horror.lua similarity index 100% rename from game_scripts/scripts/entities/horror.lua rename to files/scripts/entities/horror.lua diff --git a/game_scripts/scripts/entities/horseshoe.lua b/files/scripts/entities/horseshoe.lua similarity index 100% rename from game_scripts/scripts/entities/horseshoe.lua rename to files/scripts/entities/horseshoe.lua diff --git a/game_scripts/scripts/entities/huggy.lua b/files/scripts/entities/huggy.lua similarity index 100% rename from game_scripts/scripts/entities/huggy.lua rename to files/scripts/entities/huggy.lua diff --git a/game_scripts/scripts/entities/hydrawurm.lua b/files/scripts/entities/hydrawurm.lua similarity index 100% rename from game_scripts/scripts/entities/hydrawurm.lua rename to files/scripts/entities/hydrawurm.lua diff --git a/game_scripts/scripts/entities/icechunkcommon.lua b/files/scripts/entities/icechunkcommon.lua similarity index 100% rename from game_scripts/scripts/entities/icechunkcommon.lua rename to files/scripts/entities/icechunkcommon.lua diff --git a/game_scripts/scripts/entities/icechunklarge.lua b/files/scripts/entities/icechunklarge.lua similarity index 100% rename from game_scripts/scripts/entities/icechunklarge.lua rename to files/scripts/entities/icechunklarge.lua diff --git a/game_scripts/scripts/entities/icechunkmedium.lua b/files/scripts/entities/icechunkmedium.lua similarity index 100% rename from game_scripts/scripts/entities/icechunkmedium.lua rename to files/scripts/entities/icechunkmedium.lua diff --git a/game_scripts/scripts/entities/icechunksmall.lua b/files/scripts/entities/icechunksmall.lua similarity index 100% rename from game_scripts/scripts/entities/icechunksmall.lua rename to files/scripts/entities/icechunksmall.lua diff --git a/game_scripts/scripts/entities/icecrab.lua b/files/scripts/entities/icecrab.lua similarity index 100% rename from game_scripts/scripts/entities/icecrab.lua rename to files/scripts/entities/icecrab.lua diff --git a/game_scripts/scripts/entities/icejelly.lua b/files/scripts/entities/icejelly.lua similarity index 100% rename from game_scripts/scripts/entities/icejelly.lua rename to files/scripts/entities/icejelly.lua diff --git a/game_scripts/scripts/entities/iceshrimp.lua b/files/scripts/entities/iceshrimp.lua similarity index 100% rename from game_scripts/scripts/entities/iceshrimp.lua rename to files/scripts/entities/iceshrimp.lua diff --git a/game_scripts/scripts/entities/jelly.lua b/files/scripts/entities/jelly.lua similarity index 100% rename from game_scripts/scripts/entities/jelly.lua rename to files/scripts/entities/jelly.lua diff --git a/game_scripts/scripts/entities/jellyshock.lua b/files/scripts/entities/jellyshock.lua similarity index 100% rename from game_scripts/scripts/entities/jellyshock.lua rename to files/scripts/entities/jellyshock.lua diff --git a/game_scripts/scripts/entities/jellysmall.lua b/files/scripts/entities/jellysmall.lua similarity index 100% rename from game_scripts/scripts/entities/jellysmall.lua rename to files/scripts/entities/jellysmall.lua diff --git a/game_scripts/scripts/entities/jellyzap.lua b/files/scripts/entities/jellyzap.lua similarity index 100% rename from game_scripts/scripts/entities/jellyzap.lua rename to files/scripts/entities/jellyzap.lua diff --git a/game_scripts/scripts/entities/kappa.lua b/files/scripts/entities/kappa.lua similarity index 100% rename from game_scripts/scripts/entities/kappa.lua rename to files/scripts/entities/kappa.lua diff --git a/game_scripts/scripts/entities/kingcrab.lua b/files/scripts/entities/kingcrab.lua similarity index 100% rename from game_scripts/scripts/entities/kingcrab.lua rename to files/scripts/entities/kingcrab.lua diff --git a/game_scripts/scripts/entities/kingjelly.lua b/files/scripts/entities/kingjelly.lua similarity index 100% rename from game_scripts/scripts/entities/kingjelly.lua rename to files/scripts/entities/kingjelly.lua diff --git a/game_scripts/scripts/entities/krill.lua b/files/scripts/entities/krill.lua similarity index 100% rename from game_scripts/scripts/entities/krill.lua rename to files/scripts/entities/krill.lua diff --git a/game_scripts/scripts/entities/krilleggs.lua b/files/scripts/entities/krilleggs.lua similarity index 100% rename from game_scripts/scripts/entities/krilleggs.lua rename to files/scripts/entities/krilleggs.lua diff --git a/game_scripts/scripts/entities/krotite-end.lua b/files/scripts/entities/krotite-end.lua similarity index 100% rename from game_scripts/scripts/entities/krotite-end.lua rename to files/scripts/entities/krotite-end.lua diff --git a/game_scripts/scripts/entities/krotite-final.lua b/files/scripts/entities/krotite-final.lua similarity index 100% rename from game_scripts/scripts/entities/krotite-final.lua rename to files/scripts/entities/krotite-final.lua diff --git a/game_scripts/scripts/entities/krotiteerulianbattle01.lua b/files/scripts/entities/krotiteerulianbattle01.lua similarity index 100% rename from game_scripts/scripts/entities/krotiteerulianbattle01.lua rename to files/scripts/entities/krotiteerulianbattle01.lua diff --git a/game_scripts/scripts/entities/krotiteontheway.lua b/files/scripts/entities/krotiteontheway.lua similarity index 100% rename from game_scripts/scripts/entities/krotiteontheway.lua rename to files/scripts/entities/krotiteontheway.lua diff --git a/game_scripts/scripts/entities/krotitevskrotite.lua b/files/scripts/entities/krotitevskrotite.lua similarity index 100% rename from game_scripts/scripts/entities/krotitevskrotite.lua rename to files/scripts/entities/krotitevskrotite.lua diff --git a/game_scripts/scripts/entities/krotiteworshipper.lua b/files/scripts/entities/krotiteworshipper.lua similarity index 100% rename from game_scripts/scripts/entities/krotiteworshipper.lua rename to files/scripts/entities/krotiteworshipper.lua diff --git a/game_scripts/scripts/entities/leach.lua b/files/scripts/entities/leach.lua similarity index 100% rename from game_scripts/scripts/entities/leach.lua rename to files/scripts/entities/leach.lua diff --git a/game_scripts/scripts/entities/leopardshark.lua b/files/scripts/entities/leopardshark.lua similarity index 100% rename from game_scripts/scripts/entities/leopardshark.lua rename to files/scripts/entities/leopardshark.lua diff --git a/game_scripts/scripts/entities/li.lua b/files/scripts/entities/li.lua similarity index 100% rename from game_scripts/scripts/entities/li.lua rename to files/scripts/entities/li.lua diff --git a/game_scripts/scripts/entities/licage.lua b/files/scripts/entities/licage.lua similarity index 100% rename from game_scripts/scripts/entities/licage.lua rename to files/scripts/entities/licage.lua diff --git a/game_scripts/scripts/entities/lightcrystal.lua b/files/scripts/entities/lightcrystal.lua similarity index 100% rename from game_scripts/scripts/entities/lightcrystal.lua rename to files/scripts/entities/lightcrystal.lua diff --git a/game_scripts/scripts/entities/lightcrystalcharged.lua b/files/scripts/entities/lightcrystalcharged.lua similarity index 100% rename from game_scripts/scripts/entities/lightcrystalcharged.lua rename to files/scripts/entities/lightcrystalcharged.lua diff --git a/game_scripts/scripts/entities/lightcrystalcommon.lua b/files/scripts/entities/lightcrystalcommon.lua similarity index 100% rename from game_scripts/scripts/entities/lightcrystalcommon.lua rename to files/scripts/entities/lightcrystalcommon.lua diff --git a/game_scripts/scripts/entities/lihelmet.lua b/files/scripts/entities/lihelmet.lua similarity index 100% rename from game_scripts/scripts/entities/lihelmet.lua rename to files/scripts/entities/lihelmet.lua diff --git a/game_scripts/scripts/entities/lionfish.lua b/files/scripts/entities/lionfish.lua similarity index 100% rename from game_scripts/scripts/entities/lionfish.lua rename to files/scripts/entities/lionfish.lua diff --git a/game_scripts/scripts/entities/lipuppet.lua b/files/scripts/entities/lipuppet.lua similarity index 100% rename from game_scripts/scripts/entities/lipuppet.lua rename to files/scripts/entities/lipuppet.lua diff --git a/game_scripts/scripts/entities/loper.lua b/files/scripts/entities/loper.lua similarity index 100% rename from game_scripts/scripts/entities/loper.lua rename to files/scripts/entities/loper.lua diff --git a/game_scripts/scripts/entities/lucien-baby.lua b/files/scripts/entities/lucien-baby.lua similarity index 100% rename from game_scripts/scripts/entities/lucien-baby.lua rename to files/scripts/entities/lucien-baby.lua diff --git a/game_scripts/scripts/entities/lucien.lua b/files/scripts/entities/lucien.lua similarity index 100% rename from game_scripts/scripts/entities/lucien.lua rename to files/scripts/entities/lucien.lua diff --git a/game_scripts/scripts/entities/luciengf.lua b/files/scripts/entities/luciengf.lua similarity index 100% rename from game_scripts/scripts/entities/luciengf.lua rename to files/scripts/entities/luciengf.lua diff --git a/game_scripts/scripts/entities/mamaturtle.lua b/files/scripts/entities/mamaturtle.lua similarity index 100% rename from game_scripts/scripts/entities/mamaturtle.lua rename to files/scripts/entities/mamaturtle.lua diff --git a/game_scripts/scripts/entities/mantis-bomb.lua b/files/scripts/entities/mantis-bomb.lua similarity index 100% rename from game_scripts/scripts/entities/mantis-bomb.lua rename to files/scripts/entities/mantis-bomb.lua diff --git a/game_scripts/scripts/entities/mantis.lua b/files/scripts/entities/mantis.lua similarity index 100% rename from game_scripts/scripts/entities/mantis.lua rename to files/scripts/entities/mantis.lua diff --git a/game_scripts/scripts/entities/maul.lua b/files/scripts/entities/maul.lua similarity index 100% rename from game_scripts/scripts/entities/maul.lua rename to files/scripts/entities/maul.lua diff --git a/game_scripts/scripts/entities/merchild.lua b/files/scripts/entities/merchild.lua similarity index 100% rename from game_scripts/scripts/entities/merchild.lua rename to files/scripts/entities/merchild.lua diff --git a/game_scripts/scripts/entities/mergog.lua b/files/scripts/entities/mergog.lua similarity index 100% rename from game_scripts/scripts/entities/mergog.lua rename to files/scripts/entities/mergog.lua diff --git a/game_scripts/scripts/entities/merman.lua b/files/scripts/entities/merman.lua similarity index 100% rename from game_scripts/scripts/entities/merman.lua rename to files/scripts/entities/merman.lua diff --git a/game_scripts/scripts/entities/mermanthin.lua b/files/scripts/entities/mermanthin.lua similarity index 100% rename from game_scripts/scripts/entities/mermanthin.lua rename to files/scripts/entities/mermanthin.lua diff --git a/game_scripts/scripts/entities/mermog.lua b/files/scripts/entities/mermog.lua similarity index 100% rename from game_scripts/scripts/entities/mermog.lua rename to files/scripts/entities/mermog.lua diff --git a/game_scripts/scripts/entities/mermoth.lua b/files/scripts/entities/mermoth.lua similarity index 100% rename from game_scripts/scripts/entities/mermoth.lua rename to files/scripts/entities/mermoth.lua diff --git a/game_scripts/scripts/entities/merwoman.lua b/files/scripts/entities/merwoman.lua similarity index 100% rename from game_scripts/scripts/entities/merwoman.lua rename to files/scripts/entities/merwoman.lua diff --git a/game_scripts/scripts/entities/metaray.lua b/files/scripts/entities/metaray.lua similarity index 100% rename from game_scripts/scripts/entities/metaray.lua rename to files/scripts/entities/metaray.lua diff --git a/game_scripts/scripts/entities/mia.lua b/files/scripts/entities/mia.lua similarity index 100% rename from game_scripts/scripts/entities/mia.lua rename to files/scripts/entities/mia.lua diff --git a/game_scripts/scripts/entities/miaghost.lua b/files/scripts/entities/miaghost.lua similarity index 100% rename from game_scripts/scripts/entities/miaghost.lua rename to files/scripts/entities/miaghost.lua diff --git a/game_scripts/scripts/entities/minnow.lua b/files/scripts/entities/minnow.lua similarity index 100% rename from game_scripts/scripts/entities/minnow.lua rename to files/scripts/entities/minnow.lua diff --git a/game_scripts/scripts/entities/mithalasurn.lua b/files/scripts/entities/mithalasurn.lua similarity index 100% rename from game_scripts/scripts/entities/mithalasurn.lua rename to files/scripts/entities/mithalasurn.lua diff --git a/game_scripts/scripts/entities/moloch.lua b/files/scripts/entities/moloch.lua similarity index 100% rename from game_scripts/scripts/entities/moloch.lua rename to files/scripts/entities/moloch.lua diff --git a/game_scripts/scripts/entities/momeyes.lua b/files/scripts/entities/momeyes.lua similarity index 100% rename from game_scripts/scripts/entities/momeyes.lua rename to files/scripts/entities/momeyes.lua diff --git a/game_scripts/scripts/entities/moneye.lua b/files/scripts/entities/moneye.lua similarity index 100% rename from game_scripts/scripts/entities/moneye.lua rename to files/scripts/entities/moneye.lua diff --git a/game_scripts/scripts/entities/moneyebreeder.lua b/files/scripts/entities/moneyebreeder.lua similarity index 100% rename from game_scripts/scripts/entities/moneyebreeder.lua rename to files/scripts/entities/moneyebreeder.lua diff --git a/game_scripts/scripts/entities/monkey.lua b/files/scripts/entities/monkey.lua similarity index 100% rename from game_scripts/scripts/entities/monkey.lua rename to files/scripts/entities/monkey.lua diff --git a/game_scripts/scripts/entities/moray.lua b/files/scripts/entities/moray.lua similarity index 100% rename from game_scripts/scripts/entities/moray.lua rename to files/scripts/entities/moray.lua diff --git a/game_scripts/scripts/entities/mosshead.lua b/files/scripts/entities/mosshead.lua similarity index 100% rename from game_scripts/scripts/entities/mosshead.lua rename to files/scripts/entities/mosshead.lua diff --git a/game_scripts/scripts/entities/mutantnaija.lua b/files/scripts/entities/mutantnaija.lua similarity index 100% rename from game_scripts/scripts/entities/mutantnaija.lua rename to files/scripts/entities/mutantnaija.lua diff --git a/game_scripts/scripts/entities/mutileye.lua b/files/scripts/entities/mutileye.lua similarity index 100% rename from game_scripts/scripts/entities/mutileye.lua rename to files/scripts/entities/mutileye.lua diff --git a/game_scripts/scripts/entities/mutilus.lua b/files/scripts/entities/mutilus.lua similarity index 100% rename from game_scripts/scripts/entities/mutilus.lua rename to files/scripts/entities/mutilus.lua diff --git a/game_scripts/scripts/entities/naijababyghost.lua b/files/scripts/entities/naijababyghost.lua similarity index 100% rename from game_scripts/scripts/entities/naijababyghost.lua rename to files/scripts/entities/naijababyghost.lua diff --git a/game_scripts/scripts/entities/naijachild.lua b/files/scripts/entities/naijachild.lua similarity index 100% rename from game_scripts/scripts/entities/naijachild.lua rename to files/scripts/entities/naijachild.lua diff --git a/game_scripts/scripts/entities/naijachildghost.lua b/files/scripts/entities/naijachildghost.lua similarity index 100% rename from game_scripts/scripts/entities/naijachildghost.lua rename to files/scripts/entities/naijachildghost.lua diff --git a/game_scripts/scripts/entities/naijaswarmercommon.lua b/files/scripts/entities/naijaswarmercommon.lua similarity index 100% rename from game_scripts/scripts/entities/naijaswarmercommon.lua rename to files/scripts/entities/naijaswarmercommon.lua diff --git a/game_scripts/scripts/entities/natureformflowers.lua b/files/scripts/entities/natureformflowers.lua similarity index 100% rename from game_scripts/scripts/entities/natureformflowers.lua rename to files/scripts/entities/natureformflowers.lua diff --git a/game_scripts/scripts/entities/nauplius.lua b/files/scripts/entities/nauplius.lua similarity index 100% rename from game_scripts/scripts/entities/nauplius.lua rename to files/scripts/entities/nauplius.lua diff --git a/game_scripts/scripts/entities/nautilus.lua b/files/scripts/entities/nautilus.lua similarity index 100% rename from game_scripts/scripts/entities/nautilus.lua rename to files/scripts/entities/nautilus.lua diff --git a/game_scripts/scripts/entities/nautilusprime.lua b/files/scripts/entities/nautilusprime.lua similarity index 100% rename from game_scripts/scripts/entities/nautilusprime.lua rename to files/scripts/entities/nautilusprime.lua diff --git a/game_scripts/scripts/entities/newtblaster.lua b/files/scripts/entities/newtblaster.lua similarity index 100% rename from game_scripts/scripts/entities/newtblaster.lua rename to files/scripts/entities/newtblaster.lua diff --git a/game_scripts/scripts/entities/nudi.lua b/files/scripts/entities/nudi.lua similarity index 100% rename from game_scripts/scripts/entities/nudi.lua rename to files/scripts/entities/nudi.lua diff --git a/game_scripts/scripts/entities/nudibranch0.lua b/files/scripts/entities/nudibranch0.lua similarity index 100% rename from game_scripts/scripts/entities/nudibranch0.lua rename to files/scripts/entities/nudibranch0.lua diff --git a/game_scripts/scripts/entities/nudibranch1.lua b/files/scripts/entities/nudibranch1.lua similarity index 100% rename from game_scripts/scripts/entities/nudibranch1.lua rename to files/scripts/entities/nudibranch1.lua diff --git a/game_scripts/scripts/entities/nudibranch2.lua b/files/scripts/entities/nudibranch2.lua similarity index 100% rename from game_scripts/scripts/entities/nudibranch2.lua rename to files/scripts/entities/nudibranch2.lua diff --git a/game_scripts/scripts/entities/nudibranch3.lua b/files/scripts/entities/nudibranch3.lua similarity index 100% rename from game_scripts/scripts/entities/nudibranch3.lua rename to files/scripts/entities/nudibranch3.lua diff --git a/game_scripts/scripts/entities/nudibranchtemplate.lua b/files/scripts/entities/nudibranchtemplate.lua similarity index 100% rename from game_scripts/scripts/entities/nudibranchtemplate.lua rename to files/scripts/entities/nudibranchtemplate.lua diff --git a/game_scripts/scripts/entities/nudicommon.lua b/files/scripts/entities/nudicommon.lua similarity index 100% rename from game_scripts/scripts/entities/nudicommon.lua rename to files/scripts/entities/nudicommon.lua diff --git a/game_scripts/scripts/entities/nudinoshell.lua b/files/scripts/entities/nudinoshell.lua similarity index 100% rename from game_scripts/scripts/entities/nudinoshell.lua rename to files/scripts/entities/nudinoshell.lua diff --git a/game_scripts/scripts/entities/oarfish.lua b/files/scripts/entities/oarfish.lua similarity index 100% rename from game_scripts/scripts/entities/oarfish.lua rename to files/scripts/entities/oarfish.lua diff --git a/game_scripts/scripts/entities/octomun.lua b/files/scripts/entities/octomun.lua similarity index 100% rename from game_scripts/scripts/entities/octomun.lua rename to files/scripts/entities/octomun.lua diff --git a/game_scripts/scripts/entities/orbholder.lua b/files/scripts/entities/orbholder.lua similarity index 100% rename from game_scripts/scripts/entities/orbholder.lua rename to files/scripts/entities/orbholder.lua diff --git a/game_scripts/scripts/entities/orbiter.lua b/files/scripts/entities/orbiter.lua similarity index 100% rename from game_scripts/scripts/entities/orbiter.lua rename to files/scripts/entities/orbiter.lua diff --git a/game_scripts/scripts/entities/originalraspberry.lua b/files/scripts/entities/originalraspberry.lua similarity index 100% rename from game_scripts/scripts/entities/originalraspberry.lua rename to files/scripts/entities/originalraspberry.lua diff --git a/game_scripts/scripts/entities/otter.lua b/files/scripts/entities/otter.lua similarity index 100% rename from game_scripts/scripts/entities/otter.lua rename to files/scripts/entities/otter.lua diff --git a/game_scripts/scripts/entities/parrot.lua b/files/scripts/entities/parrot.lua similarity index 100% rename from game_scripts/scripts/entities/parrot.lua rename to files/scripts/entities/parrot.lua diff --git a/game_scripts/scripts/entities/pet_blaster.lua b/files/scripts/entities/pet_blaster.lua similarity index 100% rename from game_scripts/scripts/entities/pet_blaster.lua rename to files/scripts/entities/pet_blaster.lua diff --git a/game_scripts/scripts/entities/pet_dumbo.lua b/files/scripts/entities/pet_dumbo.lua similarity index 100% rename from game_scripts/scripts/entities/pet_dumbo.lua rename to files/scripts/entities/pet_dumbo.lua diff --git a/game_scripts/scripts/entities/pet_nautilus.lua b/files/scripts/entities/pet_nautilus.lua similarity index 100% rename from game_scripts/scripts/entities/pet_nautilus.lua rename to files/scripts/entities/pet_nautilus.lua diff --git a/game_scripts/scripts/entities/pet_piranha.lua b/files/scripts/entities/pet_piranha.lua similarity index 100% rename from game_scripts/scripts/entities/pet_piranha.lua rename to files/scripts/entities/pet_piranha.lua diff --git a/game_scripts/scripts/entities/phonograph.lua b/files/scripts/entities/phonograph.lua similarity index 100% rename from game_scripts/scripts/entities/phonograph.lua rename to files/scripts/entities/phonograph.lua diff --git a/game_scripts/scripts/entities/piranha.lua b/files/scripts/entities/piranha.lua similarity index 100% rename from game_scripts/scripts/entities/piranha.lua rename to files/scripts/entities/piranha.lua diff --git a/game_scripts/scripts/entities/pistolshrimp.lua b/files/scripts/entities/pistolshrimp.lua similarity index 100% rename from game_scripts/scripts/entities/pistolshrimp.lua rename to files/scripts/entities/pistolshrimp.lua diff --git a/game_scripts/scripts/entities/plasmaworm.lua b/files/scripts/entities/plasmaworm.lua similarity index 100% rename from game_scripts/scripts/entities/plasmaworm.lua rename to files/scripts/entities/plasmaworm.lua diff --git a/game_scripts/scripts/entities/plasmawormbg.lua b/files/scripts/entities/plasmawormbg.lua similarity index 100% rename from game_scripts/scripts/entities/plasmawormbg.lua rename to files/scripts/entities/plasmawormbg.lua diff --git a/game_scripts/scripts/entities/predatorytunicate.lua b/files/scripts/entities/predatorytunicate.lua similarity index 100% rename from game_scripts/scripts/entities/predatorytunicate.lua rename to files/scripts/entities/predatorytunicate.lua diff --git a/game_scripts/scripts/entities/priest.lua b/files/scripts/entities/priest.lua similarity index 100% rename from game_scripts/scripts/entities/priest.lua rename to files/scripts/entities/priest.lua diff --git a/game_scripts/scripts/entities/priestnormal.lua b/files/scripts/entities/priestnormal.lua similarity index 100% rename from game_scripts/scripts/entities/priestnormal.lua rename to files/scripts/entities/priestnormal.lua diff --git a/game_scripts/scripts/entities/pufferfish.lua b/files/scripts/entities/pufferfish.lua similarity index 100% rename from game_scripts/scripts/entities/pufferfish.lua rename to files/scripts/entities/pufferfish.lua diff --git a/game_scripts/scripts/entities/pullplantcommon.lua b/files/scripts/entities/pullplantcommon.lua similarity index 100% rename from game_scripts/scripts/entities/pullplantcommon.lua rename to files/scripts/entities/pullplantcommon.lua diff --git a/game_scripts/scripts/entities/pullplantnormal.lua b/files/scripts/entities/pullplantnormal.lua similarity index 100% rename from game_scripts/scripts/entities/pullplantnormal.lua rename to files/scripts/entities/pullplantnormal.lua diff --git a/game_scripts/scripts/entities/queen-statue.lua b/files/scripts/entities/queen-statue.lua similarity index 100% rename from game_scripts/scripts/entities/queen-statue.lua rename to files/scripts/entities/queen-statue.lua diff --git a/game_scripts/scripts/entities/raspberry.lua b/files/scripts/entities/raspberry.lua similarity index 100% rename from game_scripts/scripts/entities/raspberry.lua rename to files/scripts/entities/raspberry.lua diff --git a/game_scripts/scripts/entities/rednautilus.lua b/files/scripts/entities/rednautilus.lua similarity index 100% rename from game_scripts/scripts/entities/rednautilus.lua rename to files/scripts/entities/rednautilus.lua diff --git a/game_scripts/scripts/entities/rock0001.lua b/files/scripts/entities/rock0001.lua similarity index 100% rename from game_scripts/scripts/entities/rock0001.lua rename to files/scripts/entities/rock0001.lua diff --git a/game_scripts/scripts/entities/rock0002.lua b/files/scripts/entities/rock0002.lua similarity index 100% rename from game_scripts/scripts/entities/rock0002.lua rename to files/scripts/entities/rock0002.lua diff --git a/game_scripts/scripts/entities/rock0003.lua b/files/scripts/entities/rock0003.lua similarity index 100% rename from game_scripts/scripts/entities/rock0003.lua rename to files/scripts/entities/rock0003.lua diff --git a/game_scripts/scripts/entities/rock0004.lua b/files/scripts/entities/rock0004.lua similarity index 100% rename from game_scripts/scripts/entities/rock0004.lua rename to files/scripts/entities/rock0004.lua diff --git a/game_scripts/scripts/entities/rock0005.lua b/files/scripts/entities/rock0005.lua similarity index 100% rename from game_scripts/scripts/entities/rock0005.lua rename to files/scripts/entities/rock0005.lua diff --git a/game_scripts/scripts/entities/rock0006.lua b/files/scripts/entities/rock0006.lua similarity index 100% rename from game_scripts/scripts/entities/rock0006.lua rename to files/scripts/entities/rock0006.lua diff --git a/game_scripts/scripts/entities/rock0007.lua b/files/scripts/entities/rock0007.lua similarity index 100% rename from game_scripts/scripts/entities/rock0007.lua rename to files/scripts/entities/rock0007.lua diff --git a/game_scripts/scripts/entities/rock2.lua b/files/scripts/entities/rock2.lua similarity index 100% rename from game_scripts/scripts/entities/rock2.lua rename to files/scripts/entities/rock2.lua diff --git a/game_scripts/scripts/entities/rockhead.lua b/files/scripts/entities/rockhead.lua similarity index 100% rename from game_scripts/scripts/entities/rockhead.lua rename to files/scripts/entities/rockhead.lua diff --git a/game_scripts/scripts/entities/roodshrimp.lua b/files/scripts/entities/roodshrimp.lua similarity index 100% rename from game_scripts/scripts/entities/roodshrimp.lua rename to files/scripts/entities/roodshrimp.lua diff --git a/game_scripts/scripts/entities/rotbaby-form1.lua b/files/scripts/entities/rotbaby-form1.lua similarity index 100% rename from game_scripts/scripts/entities/rotbaby-form1.lua rename to files/scripts/entities/rotbaby-form1.lua diff --git a/game_scripts/scripts/entities/rotbaby-form2.lua b/files/scripts/entities/rotbaby-form2.lua similarity index 100% rename from game_scripts/scripts/entities/rotbaby-form2.lua rename to files/scripts/entities/rotbaby-form2.lua diff --git a/game_scripts/scripts/entities/rotbaby-form3.lua b/files/scripts/entities/rotbaby-form3.lua similarity index 100% rename from game_scripts/scripts/entities/rotbaby-form3.lua rename to files/scripts/entities/rotbaby-form3.lua diff --git a/game_scripts/scripts/entities/rotcore.lua b/files/scripts/entities/rotcore.lua similarity index 100% rename from game_scripts/scripts/entities/rotcore.lua rename to files/scripts/entities/rotcore.lua diff --git a/game_scripts/scripts/entities/rotcrab.lua b/files/scripts/entities/rotcrab.lua similarity index 100% rename from game_scripts/scripts/entities/rotcrab.lua rename to files/scripts/entities/rotcrab.lua diff --git a/game_scripts/scripts/entities/rotworm.lua b/files/scripts/entities/rotworm.lua similarity index 100% rename from game_scripts/scripts/entities/rotworm.lua rename to files/scripts/entities/rotworm.lua diff --git a/game_scripts/scripts/entities/roundvirus-bg.lua b/files/scripts/entities/roundvirus-bg.lua similarity index 100% rename from game_scripts/scripts/entities/roundvirus-bg.lua rename to files/scripts/entities/roundvirus-bg.lua diff --git a/game_scripts/scripts/entities/roundvirus.lua b/files/scripts/entities/roundvirus.lua similarity index 100% rename from game_scripts/scripts/entities/roundvirus.lua rename to files/scripts/entities/roundvirus.lua diff --git a/game_scripts/scripts/entities/rukh.lua b/files/scripts/entities/rukh.lua similarity index 100% rename from game_scripts/scripts/entities/rukh.lua rename to files/scripts/entities/rukh.lua diff --git a/game_scripts/scripts/entities/scavenger.lua b/files/scripts/entities/scavenger.lua similarity index 100% rename from game_scripts/scripts/entities/scavenger.lua rename to files/scripts/entities/scavenger.lua diff --git a/game_scripts/scripts/entities/scooter.lua b/files/scripts/entities/scooter.lua similarity index 100% rename from game_scripts/scripts/entities/scooter.lua rename to files/scripts/entities/scooter.lua diff --git a/game_scripts/scripts/entities/seahorse.lua b/files/scripts/entities/seahorse.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse.lua rename to files/scripts/entities/seahorse.lua diff --git a/game_scripts/scripts/entities/seahorse2.lua b/files/scripts/entities/seahorse2.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse2.lua rename to files/scripts/entities/seahorse2.lua diff --git a/game_scripts/scripts/entities/seahorse3.lua b/files/scripts/entities/seahorse3.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse3.lua rename to files/scripts/entities/seahorse3.lua diff --git a/game_scripts/scripts/entities/seahorse4.lua b/files/scripts/entities/seahorse4.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse4.lua rename to files/scripts/entities/seahorse4.lua diff --git a/game_scripts/scripts/entities/seahorse5.lua b/files/scripts/entities/seahorse5.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse5.lua rename to files/scripts/entities/seahorse5.lua diff --git a/game_scripts/scripts/entities/seahorse6.lua b/files/scripts/entities/seahorse6.lua similarity index 100% rename from game_scripts/scripts/entities/seahorse6.lua rename to files/scripts/entities/seahorse6.lua diff --git a/game_scripts/scripts/entities/seahorsebaby.lua b/files/scripts/entities/seahorsebaby.lua similarity index 100% rename from game_scripts/scripts/entities/seahorsebaby.lua rename to files/scripts/entities/seahorsebaby.lua diff --git a/game_scripts/scripts/entities/seahorsecommon.lua b/files/scripts/entities/seahorsecommon.lua similarity index 100% rename from game_scripts/scripts/entities/seahorsecommon.lua rename to files/scripts/entities/seahorsecommon.lua diff --git a/game_scripts/scripts/entities/seal-king.lua b/files/scripts/entities/seal-king.lua similarity index 100% rename from game_scripts/scripts/entities/seal-king.lua rename to files/scripts/entities/seal-king.lua diff --git a/game_scripts/scripts/entities/seal-prince.lua b/files/scripts/entities/seal-prince.lua similarity index 100% rename from game_scripts/scripts/entities/seal-prince.lua rename to files/scripts/entities/seal-prince.lua diff --git a/game_scripts/scripts/entities/seal-queen.lua b/files/scripts/entities/seal-queen.lua similarity index 100% rename from game_scripts/scripts/entities/seal-queen.lua rename to files/scripts/entities/seal-queen.lua diff --git a/game_scripts/scripts/entities/seaturtle.lua b/files/scripts/entities/seaturtle.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtle.lua rename to files/scripts/entities/seaturtle.lua diff --git a/game_scripts/scripts/entities/seaturtlebaby-special1.lua b/files/scripts/entities/seaturtlebaby-special1.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlebaby-special1.lua rename to files/scripts/entities/seaturtlebaby-special1.lua diff --git a/game_scripts/scripts/entities/seaturtlebaby-special2.lua b/files/scripts/entities/seaturtlebaby-special2.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlebaby-special2.lua rename to files/scripts/entities/seaturtlebaby-special2.lua diff --git a/game_scripts/scripts/entities/seaturtlebaby-special3.lua b/files/scripts/entities/seaturtlebaby-special3.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlebaby-special3.lua rename to files/scripts/entities/seaturtlebaby-special3.lua diff --git a/game_scripts/scripts/entities/seaturtlebaby.lua b/files/scripts/entities/seaturtlebaby.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlebaby.lua rename to files/scripts/entities/seaturtlebaby.lua diff --git a/game_scripts/scripts/entities/seaturtlebig.lua b/files/scripts/entities/seaturtlebig.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlebig.lua rename to files/scripts/entities/seaturtlebig.lua diff --git a/game_scripts/scripts/entities/seaturtlecommon.lua b/files/scripts/entities/seaturtlecommon.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlecommon.lua rename to files/scripts/entities/seaturtlecommon.lua diff --git a/game_scripts/scripts/entities/seaturtlesmall.lua b/files/scripts/entities/seaturtlesmall.lua similarity index 100% rename from game_scripts/scripts/entities/seaturtlesmall.lua rename to files/scripts/entities/seaturtlesmall.lua diff --git a/game_scripts/scripts/entities/seawolf.lua b/files/scripts/entities/seawolf.lua similarity index 100% rename from game_scripts/scripts/entities/seawolf.lua rename to files/scripts/entities/seawolf.lua diff --git a/game_scripts/scripts/entities/seedcommon.lua b/files/scripts/entities/seedcommon.lua similarity index 100% rename from game_scripts/scripts/entities/seedcommon.lua rename to files/scripts/entities/seedcommon.lua diff --git a/game_scripts/scripts/entities/seedflower.lua b/files/scripts/entities/seedflower.lua similarity index 100% rename from game_scripts/scripts/entities/seedflower.lua rename to files/scripts/entities/seedflower.lua diff --git a/game_scripts/scripts/entities/seedubervine.lua b/files/scripts/entities/seedubervine.lua similarity index 100% rename from game_scripts/scripts/entities/seedubervine.lua rename to files/scripts/entities/seedubervine.lua diff --git a/game_scripts/scripts/entities/shark.lua b/files/scripts/entities/shark.lua similarity index 100% rename from game_scripts/scripts/entities/shark.lua rename to files/scripts/entities/shark.lua diff --git a/game_scripts/scripts/entities/shocker.lua b/files/scripts/entities/shocker.lua similarity index 100% rename from game_scripts/scripts/entities/shocker.lua rename to files/scripts/entities/shocker.lua diff --git a/game_scripts/scripts/entities/shrimp.lua b/files/scripts/entities/shrimp.lua similarity index 100% rename from game_scripts/scripts/entities/shrimp.lua rename to files/scripts/entities/shrimp.lua diff --git a/game_scripts/scripts/entities/simon.lua b/files/scripts/entities/simon.lua similarity index 100% rename from game_scripts/scripts/entities/simon.lua rename to files/scripts/entities/simon.lua diff --git a/game_scripts/scripts/entities/singbulb.lua b/files/scripts/entities/singbulb.lua similarity index 100% rename from game_scripts/scripts/entities/singbulb.lua rename to files/scripts/entities/singbulb.lua diff --git a/game_scripts/scripts/entities/skeeter.lua b/files/scripts/entities/skeeter.lua similarity index 100% rename from game_scripts/scripts/entities/skeeter.lua rename to files/scripts/entities/skeeter.lua diff --git a/game_scripts/scripts/entities/slendereel.lua b/files/scripts/entities/slendereel.lua similarity index 100% rename from game_scripts/scripts/entities/slendereel.lua rename to files/scripts/entities/slendereel.lua diff --git a/game_scripts/scripts/entities/slippergenerator.lua b/files/scripts/entities/slippergenerator.lua similarity index 100% rename from game_scripts/scripts/entities/slippergenerator.lua rename to files/scripts/entities/slippergenerator.lua diff --git a/game_scripts/scripts/entities/slipperlobster.lua b/files/scripts/entities/slipperlobster.lua similarity index 100% rename from game_scripts/scripts/entities/slipperlobster.lua rename to files/scripts/entities/slipperlobster.lua diff --git a/game_scripts/scripts/entities/snailgear.lua b/files/scripts/entities/snailgear.lua similarity index 100% rename from game_scripts/scripts/entities/snailgear.lua rename to files/scripts/entities/snailgear.lua diff --git a/game_scripts/scripts/entities/songdoor1.lua b/files/scripts/entities/songdoor1.lua similarity index 100% rename from game_scripts/scripts/entities/songdoor1.lua rename to files/scripts/entities/songdoor1.lua diff --git a/game_scripts/scripts/entities/songdoorcommon.lua b/files/scripts/entities/songdoorcommon.lua similarity index 100% rename from game_scripts/scripts/entities/songdoorcommon.lua rename to files/scripts/entities/songdoorcommon.lua diff --git a/game_scripts/scripts/entities/songlamp0.lua b/files/scripts/entities/songlamp0.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp0.lua rename to files/scripts/entities/songlamp0.lua diff --git a/game_scripts/scripts/entities/songlamp1.lua b/files/scripts/entities/songlamp1.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp1.lua rename to files/scripts/entities/songlamp1.lua diff --git a/game_scripts/scripts/entities/songlamp2.lua b/files/scripts/entities/songlamp2.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp2.lua rename to files/scripts/entities/songlamp2.lua diff --git a/game_scripts/scripts/entities/songlamp3.lua b/files/scripts/entities/songlamp3.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp3.lua rename to files/scripts/entities/songlamp3.lua diff --git a/game_scripts/scripts/entities/songlamp4.lua b/files/scripts/entities/songlamp4.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp4.lua rename to files/scripts/entities/songlamp4.lua diff --git a/game_scripts/scripts/entities/songlamp5.lua b/files/scripts/entities/songlamp5.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp5.lua rename to files/scripts/entities/songlamp5.lua diff --git a/game_scripts/scripts/entities/songlamp6.lua b/files/scripts/entities/songlamp6.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp6.lua rename to files/scripts/entities/songlamp6.lua diff --git a/game_scripts/scripts/entities/songlamp7.lua b/files/scripts/entities/songlamp7.lua similarity index 100% rename from game_scripts/scripts/entities/songlamp7.lua rename to files/scripts/entities/songlamp7.lua diff --git a/game_scripts/scripts/entities/songlampcommon.lua b/files/scripts/entities/songlampcommon.lua similarity index 100% rename from game_scripts/scripts/entities/songlampcommon.lua rename to files/scripts/entities/songlampcommon.lua diff --git a/game_scripts/scripts/entities/songleaf.lua b/files/scripts/entities/songleaf.lua similarity index 100% rename from game_scripts/scripts/entities/songleaf.lua rename to files/scripts/entities/songleaf.lua diff --git a/game_scripts/scripts/entities/songspore.lua b/files/scripts/entities/songspore.lua similarity index 100% rename from game_scripts/scripts/entities/songspore.lua rename to files/scripts/entities/songspore.lua diff --git a/game_scripts/scripts/entities/songstalk.lua b/files/scripts/entities/songstalk.lua similarity index 100% rename from game_scripts/scripts/entities/songstalk.lua rename to files/scripts/entities/songstalk.lua diff --git a/game_scripts/scripts/entities/spidercrab.lua b/files/scripts/entities/spidercrab.lua similarity index 100% rename from game_scripts/scripts/entities/spidercrab.lua rename to files/scripts/entities/spidercrab.lua diff --git a/game_scripts/scripts/entities/spikyball.lua b/files/scripts/entities/spikyball.lua similarity index 100% rename from game_scripts/scripts/entities/spikyball.lua rename to files/scripts/entities/spikyball.lua diff --git a/game_scripts/scripts/entities/spikyblocker.lua b/files/scripts/entities/spikyblocker.lua similarity index 100% rename from game_scripts/scripts/entities/spikyblocker.lua rename to files/scripts/entities/spikyblocker.lua diff --git a/game_scripts/scripts/entities/spinycrab.lua b/files/scripts/entities/spinycrab.lua similarity index 100% rename from game_scripts/scripts/entities/spinycrab.lua rename to files/scripts/entities/spinycrab.lua diff --git a/game_scripts/scripts/entities/splitter1.lua b/files/scripts/entities/splitter1.lua similarity index 100% rename from game_scripts/scripts/entities/splitter1.lua rename to files/scripts/entities/splitter1.lua diff --git a/game_scripts/scripts/entities/splitter2.lua b/files/scripts/entities/splitter2.lua similarity index 100% rename from game_scripts/scripts/entities/splitter2.lua rename to files/scripts/entities/splitter2.lua diff --git a/game_scripts/scripts/entities/spookfish.lua b/files/scripts/entities/spookfish.lua similarity index 100% rename from game_scripts/scripts/entities/spookfish.lua rename to files/scripts/entities/spookfish.lua diff --git a/game_scripts/scripts/entities/spooter.lua b/files/scripts/entities/spooter.lua similarity index 100% rename from game_scripts/scripts/entities/spooter.lua rename to files/scripts/entities/spooter.lua diff --git a/game_scripts/scripts/entities/sporechild.lua b/files/scripts/entities/sporechild.lua similarity index 100% rename from game_scripts/scripts/entities/sporechild.lua rename to files/scripts/entities/sporechild.lua diff --git a/game_scripts/scripts/entities/sporechildflower.lua b/files/scripts/entities/sporechildflower.lua similarity index 100% rename from game_scripts/scripts/entities/sporechildflower.lua rename to files/scripts/entities/sporechildflower.lua diff --git a/game_scripts/scripts/entities/sporechildflowerportal.lua b/files/scripts/entities/sporechildflowerportal.lua similarity index 100% rename from game_scripts/scripts/entities/sporechildflowerportal.lua rename to files/scripts/entities/sporechildflowerportal.lua diff --git a/game_scripts/scripts/entities/sporechildflowerred.lua b/files/scripts/entities/sporechildflowerred.lua similarity index 100% rename from game_scripts/scripts/entities/sporechildflowerred.lua rename to files/scripts/entities/sporechildflowerred.lua diff --git a/game_scripts/scripts/entities/sporefungus0001.lua b/files/scripts/entities/sporefungus0001.lua similarity index 100% rename from game_scripts/scripts/entities/sporefungus0001.lua rename to files/scripts/entities/sporefungus0001.lua diff --git a/game_scripts/scripts/entities/sporeplant.lua b/files/scripts/entities/sporeplant.lua similarity index 100% rename from game_scripts/scripts/entities/sporeplant.lua rename to files/scripts/entities/sporeplant.lua diff --git a/game_scripts/scripts/entities/squeezer.lua b/files/scripts/entities/squeezer.lua similarity index 100% rename from game_scripts/scripts/entities/squeezer.lua rename to files/scripts/entities/squeezer.lua diff --git a/game_scripts/scripts/entities/squiddy.lua b/files/scripts/entities/squiddy.lua similarity index 100% rename from game_scripts/scripts/entities/squiddy.lua rename to files/scripts/entities/squiddy.lua diff --git a/game_scripts/scripts/entities/starmie1.lua b/files/scripts/entities/starmie1.lua similarity index 100% rename from game_scripts/scripts/entities/starmie1.lua rename to files/scripts/entities/starmie1.lua diff --git a/game_scripts/scripts/entities/starmie2.lua b/files/scripts/entities/starmie2.lua similarity index 100% rename from game_scripts/scripts/entities/starmie2.lua rename to files/scripts/entities/starmie2.lua diff --git a/game_scripts/scripts/entities/starmiecommon.lua b/files/scripts/entities/starmiecommon.lua similarity index 100% rename from game_scripts/scripts/entities/starmiecommon.lua rename to files/scripts/entities/starmiecommon.lua diff --git a/game_scripts/scripts/entities/statuehead.lua b/files/scripts/entities/statuehead.lua similarity index 100% rename from game_scripts/scripts/entities/statuehead.lua rename to files/scripts/entities/statuehead.lua diff --git a/game_scripts/scripts/entities/strangecreature.lua b/files/scripts/entities/strangecreature.lua similarity index 100% rename from game_scripts/scripts/entities/strangecreature.lua rename to files/scripts/entities/strangecreature.lua diff --git a/game_scripts/scripts/entities/suncontainer.lua b/files/scripts/entities/suncontainer.lua similarity index 100% rename from game_scripts/scripts/entities/suncontainer.lua rename to files/scripts/entities/suncontainer.lua diff --git a/game_scripts/scripts/entities/sunkencrate.lua b/files/scripts/entities/sunkencrate.lua similarity index 100% rename from game_scripts/scripts/entities/sunkencrate.lua rename to files/scripts/entities/sunkencrate.lua diff --git a/game_scripts/scripts/entities/sunkendad.lua b/files/scripts/entities/sunkendad.lua similarity index 100% rename from game_scripts/scripts/entities/sunkendad.lua rename to files/scripts/entities/sunkendad.lua diff --git a/game_scripts/scripts/entities/sunkendoor.lua b/files/scripts/entities/sunkendoor.lua similarity index 100% rename from game_scripts/scripts/entities/sunkendoor.lua rename to files/scripts/entities/sunkendoor.lua diff --git a/game_scripts/scripts/entities/sunkenmom.lua b/files/scripts/entities/sunkenmom.lua similarity index 100% rename from game_scripts/scripts/entities/sunkenmom.lua rename to files/scripts/entities/sunkenmom.lua diff --git a/game_scripts/scripts/entities/sunworm.lua b/files/scripts/entities/sunworm.lua similarity index 100% rename from game_scripts/scripts/entities/sunworm.lua rename to files/scripts/entities/sunworm.lua diff --git a/game_scripts/scripts/entities/swordfish.lua b/files/scripts/entities/swordfish.lua similarity index 100% rename from game_scripts/scripts/entities/swordfish.lua rename to files/scripts/entities/swordfish.lua diff --git a/game_scripts/scripts/entities/tabar.lua b/files/scripts/entities/tabar.lua similarity index 100% rename from game_scripts/scripts/entities/tabar.lua rename to files/scripts/entities/tabar.lua diff --git a/game_scripts/scripts/entities/templestatue.lua b/files/scripts/entities/templestatue.lua similarity index 100% rename from game_scripts/scripts/entities/templestatue.lua rename to files/scripts/entities/templestatue.lua diff --git a/game_scripts/scripts/entities/tigershark.lua b/files/scripts/entities/tigershark.lua similarity index 100% rename from game_scripts/scripts/entities/tigershark.lua rename to files/scripts/entities/tigershark.lua diff --git a/game_scripts/scripts/entities/timerock.lua b/files/scripts/entities/timerock.lua similarity index 100% rename from game_scripts/scripts/entities/timerock.lua rename to files/scripts/entities/timerock.lua diff --git a/game_scripts/scripts/entities/titletextcenter.lua b/files/scripts/entities/titletextcenter.lua similarity index 100% rename from game_scripts/scripts/entities/titletextcenter.lua rename to files/scripts/entities/titletextcenter.lua diff --git a/game_scripts/scripts/entities/titletextcommon.lua b/files/scripts/entities/titletextcommon.lua similarity index 100% rename from game_scripts/scripts/entities/titletextcommon.lua rename to files/scripts/entities/titletextcommon.lua diff --git a/game_scripts/scripts/entities/titletextleft.lua b/files/scripts/entities/titletextleft.lua similarity index 100% rename from game_scripts/scripts/entities/titletextleft.lua rename to files/scripts/entities/titletextleft.lua diff --git a/game_scripts/scripts/entities/toad.lua b/files/scripts/entities/toad.lua similarity index 100% rename from game_scripts/scripts/entities/toad.lua rename to files/scripts/entities/toad.lua diff --git a/game_scripts/scripts/entities/transturtle.lua b/files/scripts/entities/transturtle.lua similarity index 100% rename from game_scripts/scripts/entities/transturtle.lua rename to files/scripts/entities/transturtle.lua diff --git a/game_scripts/scripts/entities/triffle.lua b/files/scripts/entities/triffle.lua similarity index 100% rename from game_scripts/scripts/entities/triffle.lua rename to files/scripts/entities/triffle.lua diff --git a/game_scripts/scripts/entities/trillious.lua b/files/scripts/entities/trillious.lua similarity index 100% rename from game_scripts/scripts/entities/trillious.lua rename to files/scripts/entities/trillious.lua diff --git a/game_scripts/scripts/entities/tromulo.lua b/files/scripts/entities/tromulo.lua similarity index 100% rename from game_scripts/scripts/entities/tromulo.lua rename to files/scripts/entities/tromulo.lua diff --git a/game_scripts/scripts/entities/turret.lua b/files/scripts/entities/turret.lua similarity index 100% rename from game_scripts/scripts/entities/turret.lua rename to files/scripts/entities/turret.lua diff --git a/game_scripts/scripts/entities/turtle.lua b/files/scripts/entities/turtle.lua similarity index 100% rename from game_scripts/scripts/entities/turtle.lua rename to files/scripts/entities/turtle.lua diff --git a/game_scripts/scripts/entities/turtlecommon.lua b/files/scripts/entities/turtlecommon.lua similarity index 100% rename from game_scripts/scripts/entities/turtlecommon.lua rename to files/scripts/entities/turtlecommon.lua diff --git a/game_scripts/scripts/entities/turtlenoshell.lua b/files/scripts/entities/turtlenoshell.lua similarity index 100% rename from game_scripts/scripts/entities/turtlenoshell.lua rename to files/scripts/entities/turtlenoshell.lua diff --git a/game_scripts/scripts/entities/ubervine.lua b/files/scripts/entities/ubervine.lua similarity index 100% rename from game_scripts/scripts/entities/ubervine.lua rename to files/scripts/entities/ubervine.lua diff --git a/game_scripts/scripts/entities/ubervinecommon.lua b/files/scripts/entities/ubervinecommon.lua similarity index 100% rename from game_scripts/scripts/entities/ubervinecommon.lua rename to files/scripts/entities/ubervinecommon.lua diff --git a/game_scripts/scripts/entities/ubervineunlimited.lua b/files/scripts/entities/ubervineunlimited.lua similarity index 100% rename from game_scripts/scripts/entities/ubervineunlimited.lua rename to files/scripts/entities/ubervineunlimited.lua diff --git a/game_scripts/scripts/entities/upgrade-wok.lua b/files/scripts/entities/upgrade-wok.lua similarity index 100% rename from game_scripts/scripts/entities/upgrade-wok.lua rename to files/scripts/entities/upgrade-wok.lua diff --git a/game_scripts/scripts/entities/upsidedownjelly.lua b/files/scripts/entities/upsidedownjelly.lua similarity index 100% rename from game_scripts/scripts/entities/upsidedownjelly.lua rename to files/scripts/entities/upsidedownjelly.lua diff --git a/game_scripts/scripts/entities/vine.lua b/files/scripts/entities/vine.lua similarity index 100% rename from game_scripts/scripts/entities/vine.lua rename to files/scripts/entities/vine.lua diff --git a/game_scripts/scripts/entities/vinedoor.lua b/files/scripts/entities/vinedoor.lua similarity index 100% rename from game_scripts/scripts/entities/vinedoor.lua rename to files/scripts/entities/vinedoor.lua diff --git a/game_scripts/scripts/entities/walker.lua b/files/scripts/entities/walker.lua similarity index 100% rename from game_scripts/scripts/entities/walker.lua rename to files/scripts/entities/walker.lua diff --git a/game_scripts/scripts/entities/weird-alec.lua b/files/scripts/entities/weird-alec.lua similarity index 100% rename from game_scripts/scripts/entities/weird-alec.lua rename to files/scripts/entities/weird-alec.lua diff --git a/game_scripts/scripts/entities/weird-derek.lua b/files/scripts/entities/weird-derek.lua similarity index 100% rename from game_scripts/scripts/entities/weird-derek.lua rename to files/scripts/entities/weird-derek.lua diff --git a/game_scripts/scripts/entities/whelk.lua b/files/scripts/entities/whelk.lua similarity index 100% rename from game_scripts/scripts/entities/whelk.lua rename to files/scripts/entities/whelk.lua diff --git a/game_scripts/scripts/entities/whelkcommon.lua b/files/scripts/entities/whelkcommon.lua similarity index 100% rename from game_scripts/scripts/entities/whelkcommon.lua rename to files/scripts/entities/whelkcommon.lua diff --git a/game_scripts/scripts/entities/whelknoshell.lua b/files/scripts/entities/whelknoshell.lua similarity index 100% rename from game_scripts/scripts/entities/whelknoshell.lua rename to files/scripts/entities/whelknoshell.lua diff --git a/game_scripts/scripts/entities/wisker.lua b/files/scripts/entities/wisker.lua similarity index 100% rename from game_scripts/scripts/entities/wisker.lua rename to files/scripts/entities/wisker.lua diff --git a/game_scripts/scripts/entities/wisp.lua b/files/scripts/entities/wisp.lua similarity index 100% rename from game_scripts/scripts/entities/wisp.lua rename to files/scripts/entities/wisp.lua diff --git a/game_scripts/scripts/entities/youngli.lua b/files/scripts/entities/youngli.lua similarity index 100% rename from game_scripts/scripts/entities/youngli.lua rename to files/scripts/entities/youngli.lua diff --git a/game_scripts/scripts/entities/zygote.lua b/files/scripts/entities/zygote.lua similarity index 100% rename from game_scripts/scripts/entities/zygote.lua rename to files/scripts/entities/zygote.lua diff --git a/game_scripts/scripts/global/menu-treasures.lua b/files/scripts/global/menu-treasures.lua similarity index 100% rename from game_scripts/scripts/global/menu-treasures.lua rename to files/scripts/global/menu-treasures.lua diff --git a/game_scripts/scripts/include/collectiblecostumetemplate.lua b/files/scripts/include/collectiblecostumetemplate.lua similarity index 100% rename from game_scripts/scripts/include/collectiblecostumetemplate.lua rename to files/scripts/include/collectiblecostumetemplate.lua diff --git a/game_scripts/scripts/include/collectibletemplate.lua b/files/scripts/include/collectibletemplate.lua similarity index 100% rename from game_scripts/scripts/include/collectibletemplate.lua rename to files/scripts/include/collectibletemplate.lua diff --git a/game_scripts/scripts/include/energyslottemplate.lua b/files/scripts/include/energyslottemplate.lua similarity index 100% rename from game_scripts/scripts/include/energyslottemplate.lua rename to files/scripts/include/energyslottemplate.lua diff --git a/game_scripts/scripts/include/healthupgradetemplate.lua b/files/scripts/include/healthupgradetemplate.lua similarity index 100% rename from game_scripts/scripts/include/healthupgradetemplate.lua rename to files/scripts/include/healthupgradetemplate.lua diff --git a/game_scripts/scripts/include/nodecollectibletemplate.lua b/files/scripts/include/nodecollectibletemplate.lua similarity index 100% rename from game_scripts/scripts/include/nodecollectibletemplate.lua rename to files/scripts/include/nodecollectibletemplate.lua diff --git a/game_scripts/scripts/include/rocktemplate.lua b/files/scripts/include/rocktemplate.lua similarity index 100% rename from game_scripts/scripts/include/rocktemplate.lua rename to files/scripts/include/rocktemplate.lua diff --git a/game_scripts/scripts/include/sealtemplate.lua b/files/scripts/include/sealtemplate.lua similarity index 100% rename from game_scripts/scripts/include/sealtemplate.lua rename to files/scripts/include/sealtemplate.lua diff --git a/game_scripts/scripts/include/sporechildflowertemplate.lua b/files/scripts/include/sporechildflowertemplate.lua similarity index 100% rename from game_scripts/scripts/include/sporechildflowertemplate.lua rename to files/scripts/include/sporechildflowertemplate.lua diff --git a/game_scripts/scripts/include/sporefungus.lua b/files/scripts/include/sporefungus.lua similarity index 100% rename from game_scripts/scripts/include/sporefungus.lua rename to files/scripts/include/sporefungus.lua diff --git a/game_scripts/scripts/maps/_unused/map_intro.lua b/files/scripts/maps/_unused/map_intro.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/map_intro.lua rename to files/scripts/maps/_unused/map_intro.lua diff --git a/game_scripts/scripts/maps/_unused/node_altarswitch.lua b/files/scripts/maps/_unused/node_altarswitch.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_altarswitch.lua rename to files/scripts/maps/_unused/node_altarswitch.lua diff --git a/game_scripts/scripts/maps/_unused/node_beacon_li_off.lua b/files/scripts/maps/_unused/node_beacon_li_off.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_beacon_li_off.lua rename to files/scripts/maps/_unused/node_beacon_li_off.lua diff --git a/game_scripts/scripts/maps/_unused/node_beacon_songcave.lua b/files/scripts/maps/_unused/node_beacon_songcave.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_beacon_songcave.lua rename to files/scripts/maps/_unused/node_beacon_songcave.lua diff --git a/game_scripts/scripts/maps/_unused/node_block.lua b/files/scripts/maps/_unused/node_block.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_block.lua rename to files/scripts/maps/_unused/node_block.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectiblebabycrib.lua b/files/scripts/maps/_unused/node_collectiblebabycrib.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectiblebabycrib.lua rename to files/scripts/maps/_unused/node_collectiblebabycrib.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectiblecrabcostume.lua b/files/scripts/maps/_unused/node_collectiblecrabcostume.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectiblecrabcostume.lua rename to files/scripts/maps/_unused/node_collectiblecrabcostume.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectibleenergytemple.lua b/files/scripts/maps/_unused/node_collectibleenergytemple.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectibleenergytemple.lua rename to files/scripts/maps/_unused/node_collectibleenergytemple.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectiblemithalancostume.lua b/files/scripts/maps/_unused/node_collectiblemithalancostume.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectiblemithalancostume.lua rename to files/scripts/maps/_unused/node_collectiblemithalancostume.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectiblepiranhaegg.lua b/files/scripts/maps/_unused/node_collectiblepiranhaegg.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectiblepiranhaegg.lua rename to files/scripts/maps/_unused/node_collectiblepiranhaegg.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectibleteencostume.lua b/files/scripts/maps/_unused/node_collectibleteencostume.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectibleteencostume.lua rename to files/scripts/maps/_unused/node_collectibleteencostume.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectibleturtleshell.lua b/files/scripts/maps/_unused/node_collectibleturtleshell.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectibleturtleshell.lua rename to files/scripts/maps/_unused/node_collectibleturtleshell.lua diff --git a/game_scripts/scripts/maps/_unused/node_collectibleurchincostume.lua b/files/scripts/maps/_unused/node_collectibleurchincostume.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_collectibleurchincostume.lua rename to files/scripts/maps/_unused/node_collectibleurchincostume.lua diff --git a/game_scripts/scripts/maps/_unused/node_costumetest.lua b/files/scripts/maps/_unused/node_costumetest.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_costumetest.lua rename to files/scripts/maps/_unused/node_costumetest.lua diff --git a/game_scripts/scripts/maps/_unused/node_creatorvoice.lua b/files/scripts/maps/_unused/node_creatorvoice.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_creatorvoice.lua rename to files/scripts/maps/_unused/node_creatorvoice.lua diff --git a/game_scripts/scripts/maps/_unused/node_doordance.lua b/files/scripts/maps/_unused/node_doordance.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_doordance.lua rename to files/scripts/maps/_unused/node_doordance.lua diff --git a/game_scripts/scripts/maps/_unused/node_eatompo.lua b/files/scripts/maps/_unused/node_eatompo.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_eatompo.lua rename to files/scripts/maps/_unused/node_eatompo.lua diff --git a/game_scripts/scripts/maps/_unused/node_endenergytemple.lua b/files/scripts/maps/_unused/node_endenergytemple.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_endenergytemple.lua rename to files/scripts/maps/_unused/node_endenergytemple.lua diff --git a/game_scripts/scripts/maps/_unused/node_energyboss_done.lua b/files/scripts/maps/_unused/node_energyboss_done.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_energyboss_done.lua rename to files/scripts/maps/_unused/node_energyboss_done.lua diff --git a/game_scripts/scripts/maps/_unused/node_energyboss_enter.lua b/files/scripts/maps/_unused/node_energyboss_enter.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_energyboss_enter.lua rename to files/scripts/maps/_unused/node_energyboss_enter.lua diff --git a/game_scripts/scripts/maps/_unused/node_energygod.lua b/files/scripts/maps/_unused/node_energygod.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_energygod.lua rename to files/scripts/maps/_unused/node_energygod.lua diff --git a/game_scripts/scripts/maps/_unused/node_entersongcave.lua b/files/scripts/maps/_unused/node_entersongcave.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_entersongcave.lua rename to files/scripts/maps/_unused/node_entersongcave.lua diff --git a/game_scripts/scripts/maps/_unused/node_formbarrier.lua b/files/scripts/maps/_unused/node_formbarrier.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_formbarrier.lua rename to files/scripts/maps/_unused/node_formbarrier.lua diff --git a/game_scripts/scripts/maps/_unused/node_foundsecret01.lua b/files/scripts/maps/_unused/node_foundsecret01.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_foundsecret01.lua rename to files/scripts/maps/_unused/node_foundsecret01.lua diff --git a/game_scripts/scripts/maps/_unused/node_foundsecret02.lua b/files/scripts/maps/_unused/node_foundsecret02.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_foundsecret02.lua rename to files/scripts/maps/_unused/node_foundsecret02.lua diff --git a/game_scripts/scripts/maps/_unused/node_foundsecret03.lua b/files/scripts/maps/_unused/node_foundsecret03.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_foundsecret03.lua rename to files/scripts/maps/_unused/node_foundsecret03.lua diff --git a/game_scripts/scripts/maps/_unused/node_givealltreasures.lua b/files/scripts/maps/_unused/node_givealltreasures.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_givealltreasures.lua rename to files/scripts/maps/_unused/node_givealltreasures.lua diff --git a/game_scripts/scripts/maps/_unused/node_hint_igfdemo.lua b/files/scripts/maps/_unused/node_hint_igfdemo.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_hint_igfdemo.lua rename to files/scripts/maps/_unused/node_hint_igfdemo.lua diff --git a/game_scripts/scripts/maps/_unused/node_hurtnaija.lua b/files/scripts/maps/_unused/node_hurtnaija.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_hurtnaija.lua rename to files/scripts/maps/_unused/node_hurtnaija.lua diff --git a/game_scripts/scripts/maps/_unused/node_jumptitle.lua b/files/scripts/maps/_unused/node_jumptitle.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_jumptitle.lua rename to files/scripts/maps/_unused/node_jumptitle.lua diff --git a/game_scripts/scripts/maps/_unused/node_killboss.lua b/files/scripts/maps/_unused/node_killboss.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_killboss.lua rename to files/scripts/maps/_unused/node_killboss.lua diff --git a/game_scripts/scripts/maps/_unused/node_mainarea_right.lua b/files/scripts/maps/_unused/node_mainarea_right.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_mainarea_right.lua rename to files/scripts/maps/_unused/node_mainarea_right.lua diff --git a/game_scripts/scripts/maps/_unused/node_memorycrystalscene.lua b/files/scripts/maps/_unused/node_memorycrystalscene.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_memorycrystalscene.lua rename to files/scripts/maps/_unused/node_memorycrystalscene.lua diff --git a/game_scripts/scripts/maps/_unused/node_naija_energybarrier.lua b/files/scripts/maps/_unused/node_naija_energybarrier.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_naija_energybarrier.lua rename to files/scripts/maps/_unused/node_naija_energybarrier.lua diff --git a/game_scripts/scripts/maps/_unused/node_naija_entervedhacave.lua b/files/scripts/maps/_unused/node_naija_entervedhacave.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_naija_entervedhacave.lua rename to files/scripts/maps/_unused/node_naija_entervedhacave.lua diff --git a/game_scripts/scripts/maps/_unused/node_naija_leavesvedha.lua b/files/scripts/maps/_unused/node_naija_leavesvedha.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_naija_leavesvedha.lua rename to files/scripts/maps/_unused/node_naija_leavesvedha.lua diff --git a/game_scripts/scripts/maps/_unused/node_naija_minimap.lua b/files/scripts/maps/_unused/node_naija_minimap.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_naija_minimap.lua rename to files/scripts/maps/_unused/node_naija_minimap.lua diff --git a/game_scripts/scripts/maps/_unused/node_naija_solidenergybarrier.lua b/files/scripts/maps/_unused/node_naija_solidenergybarrier.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_naija_solidenergybarrier.lua rename to files/scripts/maps/_unused/node_naija_solidenergybarrier.lua diff --git a/game_scripts/scripts/maps/_unused/node_prologue.lua b/files/scripts/maps/_unused/node_prologue.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_prologue.lua rename to files/scripts/maps/_unused/node_prologue.lua diff --git a/game_scripts/scripts/maps/_unused/node_pullsong.lua b/files/scripts/maps/_unused/node_pullsong.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_pullsong.lua rename to files/scripts/maps/_unused/node_pullsong.lua diff --git a/game_scripts/scripts/maps/_unused/node_seeompo.lua b/files/scripts/maps/_unused/node_seeompo.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_seeompo.lua rename to files/scripts/maps/_unused/node_seeompo.lua diff --git a/game_scripts/scripts/maps/_unused/node_slowmotest.lua b/files/scripts/maps/_unused/node_slowmotest.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_slowmotest.lua rename to files/scripts/maps/_unused/node_slowmotest.lua diff --git a/game_scripts/scripts/maps/_unused/node_songnotedonetest.lua b/files/scripts/maps/_unused/node_songnotedonetest.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_songnotedonetest.lua rename to files/scripts/maps/_unused/node_songnotedonetest.lua diff --git a/game_scripts/scripts/maps/_unused/node_songsporespawn.lua b/files/scripts/maps/_unused/node_songsporespawn.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_songsporespawn.lua rename to files/scripts/maps/_unused/node_songsporespawn.lua diff --git a/game_scripts/scripts/maps/_unused/node_spawnompo.lua b/files/scripts/maps/_unused/node_spawnompo.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_spawnompo.lua rename to files/scripts/maps/_unused/node_spawnompo.lua diff --git a/game_scripts/scripts/maps/_unused/node_spikes.lua b/files/scripts/maps/_unused/node_spikes.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_spikes.lua rename to files/scripts/maps/_unused/node_spikes.lua diff --git a/game_scripts/scripts/maps/_unused/node_sunkencityboss.lua b/files/scripts/maps/_unused/node_sunkencityboss.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_sunkencityboss.lua rename to files/scripts/maps/_unused/node_sunkencityboss.lua diff --git a/game_scripts/scripts/maps/_unused/node_swimtobg.lua b/files/scripts/maps/_unused/node_swimtobg.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_swimtobg.lua rename to files/scripts/maps/_unused/node_swimtobg.lua diff --git a/game_scripts/scripts/maps/_unused/node_temp_energyboss.lua b/files/scripts/maps/_unused/node_temp_energyboss.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_temp_energyboss.lua rename to files/scripts/maps/_unused/node_temp_energyboss.lua diff --git a/game_scripts/scripts/maps/_unused/node_testwheel.lua b/files/scripts/maps/_unused/node_testwheel.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_testwheel.lua rename to files/scripts/maps/_unused/node_testwheel.lua diff --git a/game_scripts/scripts/maps/_unused/node_thronenormal.lua b/files/scripts/maps/_unused/node_thronenormal.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_thronenormal.lua rename to files/scripts/maps/_unused/node_thronenormal.lua diff --git a/game_scripts/scripts/maps/_unused/node_vedhacave1.lua b/files/scripts/maps/_unused/node_vedhacave1.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_vedhacave1.lua rename to files/scripts/maps/_unused/node_vedhacave1.lua diff --git a/game_scripts/scripts/maps/_unused/node_vision_energytemple.lua b/files/scripts/maps/_unused/node_vision_energytemple.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_vision_energytemple.lua rename to files/scripts/maps/_unused/node_vision_energytemple.lua diff --git a/game_scripts/scripts/maps/_unused/node_waterleveltest.lua b/files/scripts/maps/_unused/node_waterleveltest.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_waterleveltest.lua rename to files/scripts/maps/_unused/node_waterleveltest.lua diff --git a/game_scripts/scripts/maps/_unused/node_whaleorbholder.lua b/files/scripts/maps/_unused/node_whaleorbholder.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_whaleorbholder.lua rename to files/scripts/maps/_unused/node_whaleorbholder.lua diff --git a/game_scripts/scripts/maps/_unused/node_zoomout.lua b/files/scripts/maps/_unused/node_zoomout.lua similarity index 100% rename from game_scripts/scripts/maps/_unused/node_zoomout.lua rename to files/scripts/maps/_unused/node_zoomout.lua diff --git a/game_scripts/scripts/maps/finalcommon.lua b/files/scripts/maps/finalcommon.lua similarity index 100% rename from game_scripts/scripts/maps/finalcommon.lua rename to files/scripts/maps/finalcommon.lua diff --git a/game_scripts/scripts/maps/map_energytemple05.lua b/files/scripts/maps/map_energytemple05.lua similarity index 100% rename from game_scripts/scripts/maps/map_energytemple05.lua rename to files/scripts/maps/map_energytemple05.lua diff --git a/game_scripts/scripts/maps/map_energytemplevision.lua b/files/scripts/maps/map_energytemplevision.lua similarity index 100% rename from game_scripts/scripts/maps/map_energytemplevision.lua rename to files/scripts/maps/map_energytemplevision.lua diff --git a/game_scripts/scripts/maps/map_eric.lua b/files/scripts/maps/map_eric.lua similarity index 100% rename from game_scripts/scripts/maps/map_eric.lua rename to files/scripts/maps/map_eric.lua diff --git a/game_scripts/scripts/maps/map_final01.lua b/files/scripts/maps/map_final01.lua similarity index 100% rename from game_scripts/scripts/maps/map_final01.lua rename to files/scripts/maps/map_final01.lua diff --git a/game_scripts/scripts/maps/map_final02.lua b/files/scripts/maps/map_final02.lua similarity index 100% rename from game_scripts/scripts/maps/map_final02.lua rename to files/scripts/maps/map_final02.lua diff --git a/game_scripts/scripts/maps/map_final03.lua b/files/scripts/maps/map_final03.lua similarity index 100% rename from game_scripts/scripts/maps/map_final03.lua rename to files/scripts/maps/map_final03.lua diff --git a/game_scripts/scripts/maps/map_finalboss02.lua b/files/scripts/maps/map_finalboss02.lua similarity index 100% rename from game_scripts/scripts/maps/map_finalboss02.lua rename to files/scripts/maps/map_finalboss02.lua diff --git a/game_scripts/scripts/maps/map_finalescape.lua b/files/scripts/maps/map_finalescape.lua similarity index 100% rename from game_scripts/scripts/maps/map_finalescape.lua rename to files/scripts/maps/map_finalescape.lua diff --git a/game_scripts/scripts/maps/map_forest04.lua b/files/scripts/maps/map_forest04.lua similarity index 100% rename from game_scripts/scripts/maps/map_forest04.lua rename to files/scripts/maps/map_forest04.lua diff --git a/game_scripts/scripts/maps/map_forestvision.lua b/files/scripts/maps/map_forestvision.lua similarity index 100% rename from game_scripts/scripts/maps/map_forestvision.lua rename to files/scripts/maps/map_forestvision.lua diff --git a/game_scripts/scripts/maps/map_lucien.lua b/files/scripts/maps/map_lucien.lua similarity index 100% rename from game_scripts/scripts/maps/map_lucien.lua rename to files/scripts/maps/map_lucien.lua diff --git a/game_scripts/scripts/maps/map_mainarea.lua b/files/scripts/maps/map_mainarea.lua similarity index 100% rename from game_scripts/scripts/maps/map_mainarea.lua rename to files/scripts/maps/map_mainarea.lua diff --git a/game_scripts/scripts/maps/map_mithalas02.lua b/files/scripts/maps/map_mithalas02.lua similarity index 100% rename from game_scripts/scripts/maps/map_mithalas02.lua rename to files/scripts/maps/map_mithalas02.lua diff --git a/game_scripts/scripts/maps/map_mithalasvision.lua b/files/scripts/maps/map_mithalasvision.lua similarity index 100% rename from game_scripts/scripts/maps/map_mithalasvision.lua rename to files/scripts/maps/map_mithalasvision.lua diff --git a/game_scripts/scripts/maps/map_naijacave.lua b/files/scripts/maps/map_naijacave.lua similarity index 100% rename from game_scripts/scripts/maps/map_naijacave.lua rename to files/scripts/maps/map_naijacave.lua diff --git a/game_scripts/scripts/maps/map_secret03.lua b/files/scripts/maps/map_secret03.lua similarity index 100% rename from game_scripts/scripts/maps/map_secret03.lua rename to files/scripts/maps/map_secret03.lua diff --git a/game_scripts/scripts/maps/map_songcave.lua b/files/scripts/maps/map_songcave.lua similarity index 100% rename from game_scripts/scripts/maps/map_songcave.lua rename to files/scripts/maps/map_songcave.lua diff --git a/game_scripts/scripts/maps/map_suntemple.lua b/files/scripts/maps/map_suntemple.lua similarity index 100% rename from game_scripts/scripts/maps/map_suntemple.lua rename to files/scripts/maps/map_suntemple.lua diff --git a/game_scripts/scripts/maps/map_sunvision.lua b/files/scripts/maps/map_sunvision.lua similarity index 100% rename from game_scripts/scripts/maps/map_sunvision.lua rename to files/scripts/maps/map_sunvision.lua diff --git a/game_scripts/scripts/maps/map_thirteenlair.lua b/files/scripts/maps/map_thirteenlair.lua similarity index 100% rename from game_scripts/scripts/maps/map_thirteenlair.lua rename to files/scripts/maps/map_thirteenlair.lua diff --git a/game_scripts/scripts/maps/map_vedhacave.lua b/files/scripts/maps/map_vedhacave.lua similarity index 100% rename from game_scripts/scripts/maps/map_vedhacave.lua rename to files/scripts/maps/map_vedhacave.lua diff --git a/game_scripts/scripts/maps/map_veil01.lua b/files/scripts/maps/map_veil01.lua similarity index 100% rename from game_scripts/scripts/maps/map_veil01.lua rename to files/scripts/maps/map_veil01.lua diff --git a/game_scripts/scripts/maps/map_veil02.lua b/files/scripts/maps/map_veil02.lua similarity index 100% rename from game_scripts/scripts/maps/map_veil02.lua rename to files/scripts/maps/map_veil02.lua diff --git a/game_scripts/scripts/maps/node_13encounter.lua b/files/scripts/maps/node_13encounter.lua similarity index 100% rename from game_scripts/scripts/maps/node_13encounter.lua rename to files/scripts/maps/node_13encounter.lua diff --git a/game_scripts/scripts/maps/node_autogetli.lua b/files/scripts/maps/node_autogetli.lua similarity index 100% rename from game_scripts/scripts/maps/node_autogetli.lua rename to files/scripts/maps/node_autogetli.lua diff --git a/game_scripts/scripts/maps/node_beacon_energytemple_off.lua b/files/scripts/maps/node_beacon_energytemple_off.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_energytemple_off.lua rename to files/scripts/maps/node_beacon_energytemple_off.lua diff --git a/game_scripts/scripts/maps/node_beacon_forest.lua b/files/scripts/maps/node_beacon_forest.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_forest.lua rename to files/scripts/maps/node_beacon_forest.lua diff --git a/game_scripts/scripts/maps/node_beacon_forest_off.lua b/files/scripts/maps/node_beacon_forest_off.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_forest_off.lua rename to files/scripts/maps/node_beacon_forest_off.lua diff --git a/game_scripts/scripts/maps/node_beacon_homecave.lua b/files/scripts/maps/node_beacon_homecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_homecave.lua rename to files/scripts/maps/node_beacon_homecave.lua diff --git a/game_scripts/scripts/maps/node_beacon_homecave_off.lua b/files/scripts/maps/node_beacon_homecave_off.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_homecave_off.lua rename to files/scripts/maps/node_beacon_homecave_off.lua diff --git a/game_scripts/scripts/maps/node_beacon_li.lua b/files/scripts/maps/node_beacon_li.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_li.lua rename to files/scripts/maps/node_beacon_li.lua diff --git a/game_scripts/scripts/maps/node_beacon_mithalas.lua b/files/scripts/maps/node_beacon_mithalas.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_mithalas.lua rename to files/scripts/maps/node_beacon_mithalas.lua diff --git a/game_scripts/scripts/maps/node_beacon_mithalas_off.lua b/files/scripts/maps/node_beacon_mithalas_off.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_mithalas_off.lua rename to files/scripts/maps/node_beacon_mithalas_off.lua diff --git a/game_scripts/scripts/maps/node_beacon_songcave_off.lua b/files/scripts/maps/node_beacon_songcave_off.lua similarity index 100% rename from game_scripts/scripts/maps/node_beacon_songcave_off.lua rename to files/scripts/maps/node_beacon_songcave_off.lua diff --git a/game_scripts/scripts/maps/node_big-anemone.lua b/files/scripts/maps/node_big-anemone.lua similarity index 100% rename from game_scripts/scripts/maps/node_big-anemone.lua rename to files/scripts/maps/node_big-anemone.lua diff --git a/game_scripts/scripts/maps/node_clearcontrolhints.lua b/files/scripts/maps/node_clearcontrolhints.lua similarity index 100% rename from game_scripts/scripts/maps/node_clearcontrolhints.lua rename to files/scripts/maps/node_clearcontrolhints.lua diff --git a/game_scripts/scripts/maps/node_clearnotesonsing.lua b/files/scripts/maps/node_clearnotesonsing.lua similarity index 100% rename from game_scripts/scripts/maps/node_clearnotesonsing.lua rename to files/scripts/maps/node_clearnotesonsing.lua diff --git a/game_scripts/scripts/maps/node_clicktocook.lua b/files/scripts/maps/node_clicktocook.lua similarity index 100% rename from game_scripts/scripts/maps/node_clicktocook.lua rename to files/scripts/maps/node_clicktocook.lua diff --git a/game_scripts/scripts/maps/node_closefinaldoor.lua b/files/scripts/maps/node_closefinaldoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_closefinaldoor.lua rename to files/scripts/maps/node_closefinaldoor.lua diff --git a/game_scripts/scripts/maps/node_collectibleanemoneseed.lua b/files/scripts/maps/node_collectibleanemoneseed.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleanemoneseed.lua rename to files/scripts/maps/node_collectibleanemoneseed.lua diff --git a/game_scripts/scripts/maps/node_collectiblearnassistatue.lua b/files/scripts/maps/node_collectiblearnassistatue.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblearnassistatue.lua rename to files/scripts/maps/node_collectiblearnassistatue.lua diff --git a/game_scripts/scripts/maps/node_collectiblebanner.lua b/files/scripts/maps/node_collectiblebanner.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblebanner.lua rename to files/scripts/maps/node_collectiblebanner.lua diff --git a/game_scripts/scripts/maps/node_collectiblebioseed.lua b/files/scripts/maps/node_collectiblebioseed.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblebioseed.lua rename to files/scripts/maps/node_collectiblebioseed.lua diff --git a/game_scripts/scripts/maps/node_collectibleblackpearl.lua b/files/scripts/maps/node_collectibleblackpearl.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleblackpearl.lua rename to files/scripts/maps/node_collectibleblackpearl.lua diff --git a/game_scripts/scripts/maps/node_collectibleblasteregg.lua b/files/scripts/maps/node_collectibleblasteregg.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleblasteregg.lua rename to files/scripts/maps/node_collectibleblasteregg.lua diff --git a/game_scripts/scripts/maps/node_collectiblechest.lua b/files/scripts/maps/node_collectiblechest.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblechest.lua rename to files/scripts/maps/node_collectiblechest.lua diff --git a/game_scripts/scripts/maps/node_collectibledumboegg.lua b/files/scripts/maps/node_collectibledumboegg.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibledumboegg.lua rename to files/scripts/maps/node_collectibledumboegg.lua diff --git a/game_scripts/scripts/maps/node_collectibleenergyboss.lua b/files/scripts/maps/node_collectibleenergyboss.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleenergyboss.lua rename to files/scripts/maps/node_collectibleenergyboss.lua diff --git a/game_scripts/scripts/maps/node_collectibleenergystatue.lua b/files/scripts/maps/node_collectibleenergystatue.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleenergystatue.lua rename to files/scripts/maps/node_collectibleenergystatue.lua diff --git a/game_scripts/scripts/maps/node_collectiblegear.lua b/files/scripts/maps/node_collectiblegear.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblegear.lua rename to files/scripts/maps/node_collectiblegear.lua diff --git a/game_scripts/scripts/maps/node_collectiblejellyplant.lua b/files/scripts/maps/node_collectiblejellyplant.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblejellyplant.lua rename to files/scripts/maps/node_collectiblejellyplant.lua diff --git a/game_scripts/scripts/maps/node_collectiblemithaladoll.lua b/files/scripts/maps/node_collectiblemithaladoll.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblemithaladoll.lua rename to files/scripts/maps/node_collectiblemithaladoll.lua diff --git a/game_scripts/scripts/maps/node_collectiblemithalaspot.lua b/files/scripts/maps/node_collectiblemithalaspot.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblemithalaspot.lua rename to files/scripts/maps/node_collectiblemithalaspot.lua diff --git a/game_scripts/scripts/maps/node_collectiblenaijacave.lua b/files/scripts/maps/node_collectiblenaijacave.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblenaijacave.lua rename to files/scripts/maps/node_collectiblenaijacave.lua diff --git a/game_scripts/scripts/maps/node_collectiblenautilusprime.lua b/files/scripts/maps/node_collectiblenautilusprime.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblenautilusprime.lua rename to files/scripts/maps/node_collectiblenautilusprime.lua diff --git a/game_scripts/scripts/maps/node_collectibleseedbag.lua b/files/scripts/maps/node_collectibleseedbag.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleseedbag.lua rename to files/scripts/maps/node_collectibleseedbag.lua diff --git a/game_scripts/scripts/maps/node_collectibleskull.lua b/files/scripts/maps/node_collectibleskull.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleskull.lua rename to files/scripts/maps/node_collectibleskull.lua diff --git a/game_scripts/scripts/maps/node_collectiblesongcave.lua b/files/scripts/maps/node_collectiblesongcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblesongcave.lua rename to files/scripts/maps/node_collectiblesongcave.lua diff --git a/game_scripts/scripts/maps/node_collectiblesporeseed.lua b/files/scripts/maps/node_collectiblesporeseed.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblesporeseed.lua rename to files/scripts/maps/node_collectiblesporeseed.lua diff --git a/game_scripts/scripts/maps/node_collectiblestarfish.lua b/files/scripts/maps/node_collectiblestarfish.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblestarfish.lua rename to files/scripts/maps/node_collectiblestarfish.lua diff --git a/game_scripts/scripts/maps/node_collectiblestonehead.lua b/files/scripts/maps/node_collectiblestonehead.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblestonehead.lua rename to files/scripts/maps/node_collectiblestonehead.lua diff --git a/game_scripts/scripts/maps/node_collectiblesunkey.lua b/files/scripts/maps/node_collectiblesunkey.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblesunkey.lua rename to files/scripts/maps/node_collectiblesunkey.lua diff --git a/game_scripts/scripts/maps/node_collectibletridenthead.lua b/files/scripts/maps/node_collectibletridenthead.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibletridenthead.lua rename to files/scripts/maps/node_collectibletridenthead.lua diff --git a/game_scripts/scripts/maps/node_collectibleturtleegg.lua b/files/scripts/maps/node_collectibleturtleegg.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleturtleegg.lua rename to files/scripts/maps/node_collectibleturtleegg.lua diff --git a/game_scripts/scripts/maps/node_collectibleupsidedownseed.lua b/files/scripts/maps/node_collectibleupsidedownseed.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectibleupsidedownseed.lua rename to files/scripts/maps/node_collectibleupsidedownseed.lua diff --git a/game_scripts/scripts/maps/node_collectiblewalkerbaby.lua b/files/scripts/maps/node_collectiblewalkerbaby.lua similarity index 100% rename from game_scripts/scripts/maps/node_collectiblewalkerbaby.lua rename to files/scripts/maps/node_collectiblewalkerbaby.lua diff --git a/game_scripts/scripts/maps/node_endofdemo.lua b/files/scripts/maps/node_endofdemo.lua similarity index 100% rename from game_scripts/scripts/maps/node_endofdemo.lua rename to files/scripts/maps/node_endofdemo.lua diff --git a/game_scripts/scripts/maps/node_energybossslot.lua b/files/scripts/maps/node_energybossslot.lua similarity index 100% rename from game_scripts/scripts/maps/node_energybossslot.lua rename to files/scripts/maps/node_energybossslot.lua diff --git a/game_scripts/scripts/maps/node_energydoor02.lua b/files/scripts/maps/node_energydoor02.lua similarity index 100% rename from game_scripts/scripts/maps/node_energydoor02.lua rename to files/scripts/maps/node_energydoor02.lua diff --git a/game_scripts/scripts/maps/node_energydoor03.lua b/files/scripts/maps/node_energydoor03.lua similarity index 100% rename from game_scripts/scripts/maps/node_energydoor03.lua rename to files/scripts/maps/node_energydoor03.lua diff --git a/game_scripts/scripts/maps/node_energygodencounter.lua b/files/scripts/maps/node_energygodencounter.lua similarity index 100% rename from game_scripts/scripts/maps/node_energygodencounter.lua rename to files/scripts/maps/node_energygodencounter.lua diff --git a/game_scripts/scripts/maps/node_energypass.lua b/files/scripts/maps/node_energypass.lua similarity index 100% rename from game_scripts/scripts/maps/node_energypass.lua rename to files/scripts/maps/node_energypass.lua diff --git a/game_scripts/scripts/maps/node_energyslot01.lua b/files/scripts/maps/node_energyslot01.lua similarity index 100% rename from game_scripts/scripts/maps/node_energyslot01.lua rename to files/scripts/maps/node_energyslot01.lua diff --git a/game_scripts/scripts/maps/node_energyslot02.lua b/files/scripts/maps/node_energyslot02.lua similarity index 100% rename from game_scripts/scripts/maps/node_energyslot02.lua rename to files/scripts/maps/node_energyslot02.lua diff --git a/game_scripts/scripts/maps/node_energyslot_mainarea.lua b/files/scripts/maps/node_energyslot_mainarea.lua similarity index 100% rename from game_scripts/scripts/maps/node_energyslot_mainarea.lua rename to files/scripts/maps/node_energyslot_mainarea.lua diff --git a/game_scripts/scripts/maps/node_energytemple01door.lua b/files/scripts/maps/node_energytemple01door.lua similarity index 100% rename from game_scripts/scripts/maps/node_energytemple01door.lua rename to files/scripts/maps/node_energytemple01door.lua diff --git a/game_scripts/scripts/maps/node_energytemple_firstslot.lua b/files/scripts/maps/node_energytemple_firstslot.lua similarity index 100% rename from game_scripts/scripts/maps/node_energytemple_firstslot.lua rename to files/scripts/maps/node_energytemple_firstslot.lua diff --git a/game_scripts/scripts/maps/node_enter_abyss.lua b/files/scripts/maps/node_enter_abyss.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_abyss.lua rename to files/scripts/maps/node_enter_abyss.lua diff --git a/game_scripts/scripts/maps/node_enter_energytemple.lua b/files/scripts/maps/node_enter_energytemple.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_energytemple.lua rename to files/scripts/maps/node_enter_energytemple.lua diff --git a/game_scripts/scripts/maps/node_enter_fishcave.lua b/files/scripts/maps/node_enter_fishcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_fishcave.lua rename to files/scripts/maps/node_enter_fishcave.lua diff --git a/game_scripts/scripts/maps/node_enter_forest.lua b/files/scripts/maps/node_enter_forest.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_forest.lua rename to files/scripts/maps/node_enter_forest.lua diff --git a/game_scripts/scripts/maps/node_enter_forestspritecave.lua b/files/scripts/maps/node_enter_forestspritecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_forestspritecave.lua rename to files/scripts/maps/node_enter_forestspritecave.lua diff --git a/game_scripts/scripts/maps/node_enter_frozenveil.lua b/files/scripts/maps/node_enter_frozenveil.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_frozenveil.lua rename to files/scripts/maps/node_enter_frozenveil.lua diff --git a/game_scripts/scripts/maps/node_enter_homecave.lua b/files/scripts/maps/node_enter_homecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_homecave.lua rename to files/scripts/maps/node_enter_homecave.lua diff --git a/game_scripts/scripts/maps/node_enter_homewaters.lua b/files/scripts/maps/node_enter_homewaters.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_homewaters.lua rename to files/scripts/maps/node_enter_homewaters.lua diff --git a/game_scripts/scripts/maps/node_enter_icecave.lua b/files/scripts/maps/node_enter_icecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_icecave.lua rename to files/scripts/maps/node_enter_icecave.lua diff --git a/game_scripts/scripts/maps/node_enter_mermogcave.lua b/files/scripts/maps/node_enter_mermogcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_mermogcave.lua rename to files/scripts/maps/node_enter_mermogcave.lua diff --git a/game_scripts/scripts/maps/node_enter_mithalas.lua b/files/scripts/maps/node_enter_mithalas.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_mithalas.lua rename to files/scripts/maps/node_enter_mithalas.lua diff --git a/game_scripts/scripts/maps/node_enter_mithalascathedral.lua b/files/scripts/maps/node_enter_mithalascathedral.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_mithalascathedral.lua rename to files/scripts/maps/node_enter_mithalascathedral.lua diff --git a/game_scripts/scripts/maps/node_enter_openwaters.lua b/files/scripts/maps/node_enter_openwaters.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_openwaters.lua rename to files/scripts/maps/node_enter_openwaters.lua diff --git a/game_scripts/scripts/maps/node_enter_seahorse.lua b/files/scripts/maps/node_enter_seahorse.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_seahorse.lua rename to files/scripts/maps/node_enter_seahorse.lua diff --git a/game_scripts/scripts/maps/node_enter_songcave.lua b/files/scripts/maps/node_enter_songcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_songcave.lua rename to files/scripts/maps/node_enter_songcave.lua diff --git a/game_scripts/scripts/maps/node_enter_sunkencity.lua b/files/scripts/maps/node_enter_sunkencity.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_sunkencity.lua rename to files/scripts/maps/node_enter_sunkencity.lua diff --git a/game_scripts/scripts/maps/node_enter_suntemple.lua b/files/scripts/maps/node_enter_suntemple.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_suntemple.lua rename to files/scripts/maps/node_enter_suntemple.lua diff --git a/game_scripts/scripts/maps/node_enter_theveil.lua b/files/scripts/maps/node_enter_theveil.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_theveil.lua rename to files/scripts/maps/node_enter_theveil.lua diff --git a/game_scripts/scripts/maps/node_enter_turtlecave.lua b/files/scripts/maps/node_enter_turtlecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_enter_turtlecave.lua rename to files/scripts/maps/node_enter_turtlecave.lua diff --git a/game_scripts/scripts/maps/node_fallenmithalastatue.lua b/files/scripts/maps/node_fallenmithalastatue.lua similarity index 100% rename from game_scripts/scripts/maps/node_fallenmithalastatue.lua rename to files/scripts/maps/node_fallenmithalastatue.lua diff --git a/game_scripts/scripts/maps/node_finalbossdeath.lua b/files/scripts/maps/node_finalbossdeath.lua similarity index 100% rename from game_scripts/scripts/maps/node_finalbossdeath.lua rename to files/scripts/maps/node_finalbossdeath.lua diff --git a/game_scripts/scripts/maps/node_finalrockfall.lua b/files/scripts/maps/node_finalrockfall.lua similarity index 100% rename from game_scripts/scripts/maps/node_finalrockfall.lua rename to files/scripts/maps/node_finalrockfall.lua diff --git a/game_scripts/scripts/maps/node_fishcave.lua b/files/scripts/maps/node_fishcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_fishcave.lua rename to files/scripts/maps/node_fishcave.lua diff --git a/game_scripts/scripts/maps/node_fishpass.lua b/files/scripts/maps/node_fishpass.lua similarity index 100% rename from game_scripts/scripts/maps/node_fishpass.lua rename to files/scripts/maps/node_fishpass.lua diff --git a/game_scripts/scripts/maps/node_forestbossfadeout.lua b/files/scripts/maps/node_forestbossfadeout.lua similarity index 100% rename from game_scripts/scripts/maps/node_forestbossfadeout.lua rename to files/scripts/maps/node_forestbossfadeout.lua diff --git a/game_scripts/scripts/maps/node_gasp.lua b/files/scripts/maps/node_gasp.lua similarity index 100% rename from game_scripts/scripts/maps/node_gasp.lua rename to files/scripts/maps/node_gasp.lua diff --git a/game_scripts/scripts/maps/node_hint_beastform1.lua b/files/scripts/maps/node_hint_beastform1.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_beastform1.lua rename to files/scripts/maps/node_hint_beastform1.lua diff --git a/game_scripts/scripts/maps/node_hint_beastform2.lua b/files/scripts/maps/node_hint_beastform2.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_beastform2.lua rename to files/scripts/maps/node_hint_beastform2.lua diff --git a/game_scripts/scripts/maps/node_hint_bindmermen.lua b/files/scripts/maps/node_hint_bindmermen.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_bindmermen.lua rename to files/scripts/maps/node_hint_bindmermen.lua diff --git a/game_scripts/scripts/maps/node_hint_cooking.lua b/files/scripts/maps/node_hint_cooking.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_cooking.lua rename to files/scripts/maps/node_hint_cooking.lua diff --git a/game_scripts/scripts/maps/node_hint_dualformchange.lua b/files/scripts/maps/node_hint_dualformchange.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_dualformchange.lua rename to files/scripts/maps/node_hint_dualformchange.lua diff --git a/game_scripts/scripts/maps/node_hint_dualformcharge.lua b/files/scripts/maps/node_hint_dualformcharge.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_dualformcharge.lua rename to files/scripts/maps/node_hint_dualformcharge.lua diff --git a/game_scripts/scripts/maps/node_hint_energytarget.lua b/files/scripts/maps/node_hint_energytarget.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_energytarget.lua rename to files/scripts/maps/node_hint_energytarget.lua diff --git a/game_scripts/scripts/maps/node_hint_healthplant.lua b/files/scripts/maps/node_hint_healthplant.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_healthplant.lua rename to files/scripts/maps/node_hint_healthplant.lua diff --git a/game_scripts/scripts/maps/node_hint_healthupgrade.lua b/files/scripts/maps/node_hint_healthupgrade.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_healthupgrade.lua rename to files/scripts/maps/node_hint_healthupgrade.lua diff --git a/game_scripts/scripts/maps/node_hint_licombat.lua b/files/scripts/maps/node_hint_licombat.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_licombat.lua rename to files/scripts/maps/node_hint_licombat.lua diff --git a/game_scripts/scripts/maps/node_hint_lisong.lua b/files/scripts/maps/node_hint_lisong.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_lisong.lua rename to files/scripts/maps/node_hint_lisong.lua diff --git a/game_scripts/scripts/maps/node_hint_minimap.lua b/files/scripts/maps/node_hint_minimap.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_minimap.lua rename to files/scripts/maps/node_hint_minimap.lua diff --git a/game_scripts/scripts/maps/node_hint_natureformability.lua b/files/scripts/maps/node_hint_natureformability.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_natureformability.lua rename to files/scripts/maps/node_hint_natureformability.lua diff --git a/game_scripts/scripts/maps/node_hint_rollgear.lua b/files/scripts/maps/node_hint_rollgear.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_rollgear.lua rename to files/scripts/maps/node_hint_rollgear.lua diff --git a/game_scripts/scripts/maps/node_hint_rollgearagain.lua b/files/scripts/maps/node_hint_rollgearagain.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_rollgearagain.lua rename to files/scripts/maps/node_hint_rollgearagain.lua diff --git a/game_scripts/scripts/maps/node_hint_singbulb.lua b/files/scripts/maps/node_hint_singbulb.lua similarity index 100% rename from game_scripts/scripts/maps/node_hint_singbulb.lua rename to files/scripts/maps/node_hint_singbulb.lua diff --git a/game_scripts/scripts/maps/node_ingredients.lua b/files/scripts/maps/node_ingredients.lua similarity index 100% rename from game_scripts/scripts/maps/node_ingredients.lua rename to files/scripts/maps/node_ingredients.lua diff --git a/game_scripts/scripts/maps/node_killcreator.lua b/files/scripts/maps/node_killcreator.lua similarity index 100% rename from game_scripts/scripts/maps/node_killcreator.lua rename to files/scripts/maps/node_killcreator.lua diff --git a/game_scripts/scripts/maps/node_killentity.lua b/files/scripts/maps/node_killentity.lua similarity index 100% rename from game_scripts/scripts/maps/node_killentity.lua rename to files/scripts/maps/node_killentity.lua diff --git a/game_scripts/scripts/maps/node_kingjellyactivate.lua b/files/scripts/maps/node_kingjellyactivate.lua similarity index 100% rename from game_scripts/scripts/maps/node_kingjellyactivate.lua rename to files/scripts/maps/node_kingjellyactivate.lua diff --git a/game_scripts/scripts/maps/node_launchoutofsuntemple.lua b/files/scripts/maps/node_launchoutofsuntemple.lua similarity index 100% rename from game_scripts/scripts/maps/node_launchoutofsuntemple.lua rename to files/scripts/maps/node_launchoutofsuntemple.lua diff --git a/game_scripts/scripts/maps/node_mainarea_energytemple_rock.lua b/files/scripts/maps/node_mainarea_energytemple_rock.lua similarity index 100% rename from game_scripts/scripts/maps/node_mainarea_energytemple_rock.lua rename to files/scripts/maps/node_mainarea_energytemple_rock.lua diff --git a/game_scripts/scripts/maps/node_mainarea_etenter2.lua b/files/scripts/maps/node_mainarea_etenter2.lua similarity index 100% rename from game_scripts/scripts/maps/node_mainarea_etenter2.lua rename to files/scripts/maps/node_mainarea_etenter2.lua diff --git a/game_scripts/scripts/maps/node_mainarea_transturtle_rock.lua b/files/scripts/maps/node_mainarea_transturtle_rock.lua similarity index 100% rename from game_scripts/scripts/maps/node_mainarea_transturtle_rock.lua rename to files/scripts/maps/node_mainarea_transturtle_rock.lua diff --git a/game_scripts/scripts/maps/node_miasecretend.lua b/files/scripts/maps/node_miasecretend.lua similarity index 100% rename from game_scripts/scripts/maps/node_miasecretend.lua rename to files/scripts/maps/node_miasecretend.lua diff --git a/game_scripts/scripts/maps/node_mithalas.lua b/files/scripts/maps/node_mithalas.lua similarity index 100% rename from game_scripts/scripts/maps/node_mithalas.lua rename to files/scripts/maps/node_mithalas.lua diff --git a/game_scripts/scripts/maps/node_naija_bindrock.lua b/files/scripts/maps/node_naija_bindrock.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_bindrock.lua rename to files/scripts/maps/node_naija_bindrock.lua diff --git a/game_scripts/scripts/maps/node_naija_bindshell.lua b/files/scripts/maps/node_naija_bindshell.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_bindshell.lua rename to files/scripts/maps/node_naija_bindshell.lua diff --git a/game_scripts/scripts/maps/node_naija_energyformcharge.lua b/files/scripts/maps/node_naija_energyformcharge.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_energyformcharge.lua rename to files/scripts/maps/node_naija_energyformcharge.lua diff --git a/game_scripts/scripts/maps/node_naija_energyformshot.lua b/files/scripts/maps/node_naija_energyformshot.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_energyformshot.lua rename to files/scripts/maps/node_naija_energyformshot.lua diff --git a/game_scripts/scripts/maps/node_naija_enterenergytemple.lua b/files/scripts/maps/node_naija_enterenergytemple.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_enterenergytemple.lua rename to files/scripts/maps/node_naija_enterenergytemple.lua diff --git a/game_scripts/scripts/maps/node_naija_entersongcave.lua b/files/scripts/maps/node_naija_entersongcave.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_entersongcave.lua rename to files/scripts/maps/node_naija_entersongcave.lua diff --git a/game_scripts/scripts/maps/node_naija_forestspritecave.lua b/files/scripts/maps/node_naija_forestspritecave.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_forestspritecave.lua rename to files/scripts/maps/node_naija_forestspritecave.lua diff --git a/game_scripts/scripts/maps/node_naija_look.lua b/files/scripts/maps/node_naija_look.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_look.lua rename to files/scripts/maps/node_naija_look.lua diff --git a/game_scripts/scripts/maps/node_naija_mithalasend.lua b/files/scripts/maps/node_naija_mithalasend.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_mithalasend.lua rename to files/scripts/maps/node_naija_mithalasend.lua diff --git a/game_scripts/scripts/maps/node_naija_openwaters.lua b/files/scripts/maps/node_naija_openwaters.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_openwaters.lua rename to files/scripts/maps/node_naija_openwaters.lua diff --git a/game_scripts/scripts/maps/node_naija_returntonormalform.lua b/files/scripts/maps/node_naija_returntonormalform.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_returntonormalform.lua rename to files/scripts/maps/node_naija_returntonormalform.lua diff --git a/game_scripts/scripts/maps/node_naija_singing.lua b/files/scripts/maps/node_naija_singing.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_singing.lua rename to files/scripts/maps/node_naija_singing.lua diff --git a/game_scripts/scripts/maps/node_naija_songdoor.lua b/files/scripts/maps/node_naija_songdoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_songdoor.lua rename to files/scripts/maps/node_naija_songdoor.lua diff --git a/game_scripts/scripts/maps/node_naija_speedboost.lua b/files/scripts/maps/node_naija_speedboost.lua similarity index 100% rename from game_scripts/scripts/maps/node_naija_speedboost.lua rename to files/scripts/maps/node_naija_speedboost.lua diff --git a/game_scripts/scripts/maps/node_normalpass.lua b/files/scripts/maps/node_normalpass.lua similarity index 100% rename from game_scripts/scripts/maps/node_normalpass.lua rename to files/scripts/maps/node_normalpass.lua diff --git a/game_scripts/scripts/maps/node_npchint.lua b/files/scripts/maps/node_npchint.lua similarity index 100% rename from game_scripts/scripts/maps/node_npchint.lua rename to files/scripts/maps/node_npchint.lua diff --git a/game_scripts/scripts/maps/node_opendoorfromlamp.lua b/files/scripts/maps/node_opendoorfromlamp.lua similarity index 100% rename from game_scripts/scripts/maps/node_opendoorfromlamp.lua rename to files/scripts/maps/node_opendoorfromlamp.lua diff --git a/game_scripts/scripts/maps/node_openenergydoor.lua b/files/scripts/maps/node_openenergydoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_openenergydoor.lua rename to files/scripts/maps/node_openenergydoor.lua diff --git a/game_scripts/scripts/maps/node_openfinaldoor.lua b/files/scripts/maps/node_openfinaldoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_openfinaldoor.lua rename to files/scripts/maps/node_openfinaldoor.lua diff --git a/game_scripts/scripts/maps/node_opensunkendoor.lua b/files/scripts/maps/node_opensunkendoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_opensunkendoor.lua rename to files/scripts/maps/node_opensunkendoor.lua diff --git a/game_scripts/scripts/maps/node_pickupgems.lua b/files/scripts/maps/node_pickupgems.lua similarity index 100% rename from game_scripts/scripts/maps/node_pickupgems.lua rename to files/scripts/maps/node_pickupgems.lua diff --git a/game_scripts/scripts/maps/node_priestbrain.lua b/files/scripts/maps/node_priestbrain.lua similarity index 100% rename from game_scripts/scripts/maps/node_priestbrain.lua rename to files/scripts/maps/node_priestbrain.lua diff --git a/game_scripts/scripts/maps/node_pushdown.lua b/files/scripts/maps/node_pushdown.lua similarity index 100% rename from game_scripts/scripts/maps/node_pushdown.lua rename to files/scripts/maps/node_pushdown.lua diff --git a/game_scripts/scripts/maps/node_pushleft.lua b/files/scripts/maps/node_pushleft.lua similarity index 100% rename from game_scripts/scripts/maps/node_pushleft.lua rename to files/scripts/maps/node_pushleft.lua diff --git a/game_scripts/scripts/maps/node_pushright.lua b/files/scripts/maps/node_pushright.lua similarity index 100% rename from game_scripts/scripts/maps/node_pushright.lua rename to files/scripts/maps/node_pushright.lua diff --git a/game_scripts/scripts/maps/node_pushup.lua b/files/scripts/maps/node_pushup.lua similarity index 100% rename from game_scripts/scripts/maps/node_pushup.lua rename to files/scripts/maps/node_pushup.lua diff --git a/game_scripts/scripts/maps/node_savepoint.lua b/files/scripts/maps/node_savepoint.lua similarity index 100% rename from game_scripts/scripts/maps/node_savepoint.lua rename to files/scripts/maps/node_savepoint.lua diff --git a/game_scripts/scripts/maps/node_seahorserace.lua b/files/scripts/maps/node_seahorserace.lua similarity index 100% rename from game_scripts/scripts/maps/node_seahorserace.lua rename to files/scripts/maps/node_seahorserace.lua diff --git a/game_scripts/scripts/maps/node_secret01.lua b/files/scripts/maps/node_secret01.lua similarity index 100% rename from game_scripts/scripts/maps/node_secret01.lua rename to files/scripts/maps/node_secret01.lua diff --git a/game_scripts/scripts/maps/node_secret02.lua b/files/scripts/maps/node_secret02.lua similarity index 100% rename from game_scripts/scripts/maps/node_secret02.lua rename to files/scripts/maps/node_secret02.lua diff --git a/game_scripts/scripts/maps/node_secret03.lua b/files/scripts/maps/node_secret03.lua similarity index 100% rename from game_scripts/scripts/maps/node_secret03.lua rename to files/scripts/maps/node_secret03.lua diff --git a/game_scripts/scripts/maps/node_see13firsttime.lua b/files/scripts/maps/node_see13firsttime.lua similarity index 100% rename from game_scripts/scripts/maps/node_see13firsttime.lua rename to files/scripts/maps/node_see13firsttime.lua diff --git a/game_scripts/scripts/maps/node_seehealthup.lua b/files/scripts/maps/node_seehealthup.lua similarity index 100% rename from game_scripts/scripts/maps/node_seehealthup.lua rename to files/scripts/maps/node_seehealthup.lua diff --git a/game_scripts/scripts/maps/node_seelibody.lua b/files/scripts/maps/node_seelibody.lua similarity index 100% rename from game_scripts/scripts/maps/node_seelibody.lua rename to files/scripts/maps/node_seelibody.lua diff --git a/game_scripts/scripts/maps/node_shownote1.lua b/files/scripts/maps/node_shownote1.lua similarity index 100% rename from game_scripts/scripts/maps/node_shownote1.lua rename to files/scripts/maps/node_shownote1.lua diff --git a/game_scripts/scripts/maps/node_shownote3.lua b/files/scripts/maps/node_shownote3.lua similarity index 100% rename from game_scripts/scripts/maps/node_shownote3.lua rename to files/scripts/maps/node_shownote3.lua diff --git a/game_scripts/scripts/maps/node_shownote5.lua b/files/scripts/maps/node_shownote5.lua similarity index 100% rename from game_scripts/scripts/maps/node_shownote5.lua rename to files/scripts/maps/node_shownote5.lua diff --git a/game_scripts/scripts/maps/node_shownote7.lua b/files/scripts/maps/node_shownote7.lua similarity index 100% rename from game_scripts/scripts/maps/node_shownote7.lua rename to files/scripts/maps/node_shownote7.lua diff --git a/game_scripts/scripts/maps/node_shownote_common.lua b/files/scripts/maps/node_shownote_common.lua similarity index 100% rename from game_scripts/scripts/maps/node_shownote_common.lua rename to files/scripts/maps/node_shownote_common.lua diff --git a/game_scripts/scripts/maps/node_singinghint.lua b/files/scripts/maps/node_singinghint.lua similarity index 100% rename from game_scripts/scripts/maps/node_singinghint.lua rename to files/scripts/maps/node_singinghint.lua diff --git a/game_scripts/scripts/maps/node_sit.lua b/files/scripts/maps/node_sit.lua similarity index 100% rename from game_scripts/scripts/maps/node_sit.lua rename to files/scripts/maps/node_sit.lua diff --git a/game_scripts/scripts/maps/node_sleep.lua b/files/scripts/maps/node_sleep.lua similarity index 100% rename from game_scripts/scripts/maps/node_sleep.lua rename to files/scripts/maps/node_sleep.lua diff --git a/game_scripts/scripts/maps/node_songcavecrystal.lua b/files/scripts/maps/node_songcavecrystal.lua similarity index 100% rename from game_scripts/scripts/maps/node_songcavecrystal.lua rename to files/scripts/maps/node_songcavecrystal.lua diff --git a/game_scripts/scripts/maps/node_songdoormural.lua b/files/scripts/maps/node_songdoormural.lua similarity index 100% rename from game_scripts/scripts/maps/node_songdoormural.lua rename to files/scripts/maps/node_songdoormural.lua diff --git a/game_scripts/scripts/maps/node_spawncrabboss.lua b/files/scripts/maps/node_spawncrabboss.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawncrabboss.lua rename to files/scripts/maps/node_spawncrabboss.lua diff --git a/game_scripts/scripts/maps/node_spawnli.lua b/files/scripts/maps/node_spawnli.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawnli.lua rename to files/scripts/maps/node_spawnli.lua diff --git a/game_scripts/scripts/maps/node_spawnmergog.lua b/files/scripts/maps/node_spawnmergog.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawnmergog.lua rename to files/scripts/maps/node_spawnmergog.lua diff --git a/game_scripts/scripts/maps/node_spawnnautilusprime.lua b/files/scripts/maps/node_spawnnautilusprime.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawnnautilusprime.lua rename to files/scripts/maps/node_spawnnautilusprime.lua diff --git a/game_scripts/scripts/maps/node_spawnoctomun.lua b/files/scripts/maps/node_spawnoctomun.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawnoctomun.lua rename to files/scripts/maps/node_spawnoctomun.lua diff --git a/game_scripts/scripts/maps/node_spawnspores.lua b/files/scripts/maps/node_spawnspores.lua similarity index 100% rename from game_scripts/scripts/maps/node_spawnspores.lua rename to files/scripts/maps/node_spawnspores.lua diff --git a/game_scripts/scripts/maps/node_sunkencityboss2.lua b/files/scripts/maps/node_sunkencityboss2.lua similarity index 100% rename from game_scripts/scripts/maps/node_sunkencityboss2.lua rename to files/scripts/maps/node_sunkencityboss2.lua diff --git a/game_scripts/scripts/maps/node_sunkencityclosedoor.lua b/files/scripts/maps/node_sunkencityclosedoor.lua similarity index 100% rename from game_scripts/scripts/maps/node_sunkencityclosedoor.lua rename to files/scripts/maps/node_sunkencityclosedoor.lua diff --git a/game_scripts/scripts/maps/node_sunkencityskip.lua b/files/scripts/maps/node_sunkencityskip.lua similarity index 100% rename from game_scripts/scripts/maps/node_sunkencityskip.lua rename to files/scripts/maps/node_sunkencityskip.lua diff --git a/game_scripts/scripts/maps/node_suntemple_gear1.lua b/files/scripts/maps/node_suntemple_gear1.lua similarity index 100% rename from game_scripts/scripts/maps/node_suntemple_gear1.lua rename to files/scripts/maps/node_suntemple_gear1.lua diff --git a/game_scripts/scripts/maps/node_suntemple_gear2.lua b/files/scripts/maps/node_suntemple_gear2.lua similarity index 100% rename from game_scripts/scripts/maps/node_suntemple_gear2.lua rename to files/scripts/maps/node_suntemple_gear2.lua diff --git a/game_scripts/scripts/maps/node_suntemple_lightcrystal.lua b/files/scripts/maps/node_suntemple_lightcrystal.lua similarity index 100% rename from game_scripts/scripts/maps/node_suntemple_lightcrystal.lua rename to files/scripts/maps/node_suntemple_lightcrystal.lua diff --git a/game_scripts/scripts/maps/node_sunwormcavebrain.lua b/files/scripts/maps/node_sunwormcavebrain.lua similarity index 100% rename from game_scripts/scripts/maps/node_sunwormcavebrain.lua rename to files/scripts/maps/node_sunwormcavebrain.lua diff --git a/game_scripts/scripts/maps/node_sunwormpush.lua b/files/scripts/maps/node_sunwormpush.lua similarity index 100% rename from game_scripts/scripts/maps/node_sunwormpush.lua rename to files/scripts/maps/node_sunwormpush.lua diff --git a/game_scripts/scripts/maps/node_throne.lua b/files/scripts/maps/node_throne.lua similarity index 100% rename from game_scripts/scripts/maps/node_throne.lua rename to files/scripts/maps/node_throne.lua diff --git a/game_scripts/scripts/maps/node_title.lua b/files/scripts/maps/node_title.lua similarity index 100% rename from game_scripts/scripts/maps/node_title.lua rename to files/scripts/maps/node_title.lua diff --git a/game_scripts/scripts/maps/node_title_continue.lua b/files/scripts/maps/node_title_continue.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_continue.lua rename to files/scripts/maps/node_title_continue.lua diff --git a/game_scripts/scripts/maps/node_title_mods.lua b/files/scripts/maps/node_title_mods.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_mods.lua rename to files/scripts/maps/node_title_mods.lua diff --git a/game_scripts/scripts/maps/node_title_newgame.lua b/files/scripts/maps/node_title_newgame.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_newgame.lua rename to files/scripts/maps/node_title_newgame.lua diff --git a/game_scripts/scripts/maps/node_title_options.lua b/files/scripts/maps/node_title_options.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_options.lua rename to files/scripts/maps/node_title_options.lua diff --git a/game_scripts/scripts/maps/node_title_quit.lua b/files/scripts/maps/node_title_quit.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_quit.lua rename to files/scripts/maps/node_title_quit.lua diff --git a/game_scripts/scripts/maps/node_title_replayintro.lua b/files/scripts/maps/node_title_replayintro.lua similarity index 100% rename from game_scripts/scripts/maps/node_title_replayintro.lua rename to files/scripts/maps/node_title_replayintro.lua diff --git a/game_scripts/scripts/maps/node_updatemusic.lua b/files/scripts/maps/node_updatemusic.lua similarity index 100% rename from game_scripts/scripts/maps/node_updatemusic.lua rename to files/scripts/maps/node_updatemusic.lua diff --git a/game_scripts/scripts/maps/node_vision_veil.lua b/files/scripts/maps/node_vision_veil.lua similarity index 100% rename from game_scripts/scripts/maps/node_vision_veil.lua rename to files/scripts/maps/node_vision_veil.lua diff --git a/game_scripts/scripts/maps/node_whalelamppuzzlebrain.lua b/files/scripts/maps/node_whalelamppuzzlebrain.lua similarity index 100% rename from game_scripts/scripts/maps/node_whalelamppuzzlebrain.lua rename to files/scripts/maps/node_whalelamppuzzlebrain.lua diff --git a/game_scripts/scripts/maps/node_whaleorbgrab.lua b/files/scripts/maps/node_whaleorbgrab.lua similarity index 100% rename from game_scripts/scripts/maps/node_whaleorbgrab.lua rename to files/scripts/maps/node_whaleorbgrab.lua diff --git a/game_scripts/scripts/maps/node_whalespawnorb.lua b/files/scripts/maps/node_whalespawnorb.lua similarity index 100% rename from game_scripts/scripts/maps/node_whalespawnorb.lua rename to files/scripts/maps/node_whalespawnorb.lua diff --git a/game_scripts/scripts/maps/node_zoomoutfar.lua b/files/scripts/maps/node_zoomoutfar.lua similarity index 100% rename from game_scripts/scripts/maps/node_zoomoutfar.lua rename to files/scripts/maps/node_zoomoutfar.lua diff --git a/game_scripts/scripts/maps/premap_licave.lua b/files/scripts/maps/premap_licave.lua similarity index 100% rename from game_scripts/scripts/maps/premap_licave.lua rename to files/scripts/maps/premap_licave.lua diff --git a/game_scripts/scripts/maps/premap_mainarea.lua b/files/scripts/maps/premap_mainarea.lua similarity index 100% rename from game_scripts/scripts/maps/premap_mainarea.lua rename to files/scripts/maps/premap_mainarea.lua diff --git a/game_scripts/scripts/maps/premap_trainingcave.lua b/files/scripts/maps/premap_trainingcave.lua similarity index 100% rename from game_scripts/scripts/maps/premap_trainingcave.lua rename to files/scripts/maps/premap_trainingcave.lua diff --git a/game_scripts/scripts/maps/premap_veil01.lua b/files/scripts/maps/premap_veil01.lua similarity index 100% rename from game_scripts/scripts/maps/premap_veil01.lua rename to files/scripts/maps/premap_veil01.lua diff --git a/game_scripts/scripts/maps/premap_veil02.lua b/files/scripts/maps/premap_veil02.lua similarity index 100% rename from game_scripts/scripts/maps/premap_veil02.lua rename to files/scripts/maps/premap_veil02.lua diff --git a/win/vc90/external.vcproj b/win/vc90/external.vcproj index d35abe9..0786285 100644 --- a/win/vc90/external.vcproj +++ b/win/vc90/external.vcproj @@ -1223,6 +1223,10 @@ RelativePath="..\..\ExternalLibs\algorithmx.h" > + +