diff --git a/desktop_version/src/Finalclass.cpp b/desktop_version/src/Finalclass.cpp
index 711c0c84..66dd9025 100644
--- a/desktop_version/src/Finalclass.cpp
+++ b/desktop_version/src/Finalclass.cpp
@@ -3,7 +3,6 @@
 #include "Game.h"
 #include "Entity.h"
 #include "MakeAndPlay.h"
-#include "UtilityClass.h"
 
 const short* finalclass::loadlevel(int rx, int ry)
 {
@@ -14,8 +13,6 @@ const short* finalclass::loadlevel(int rx, int ry)
     warpx = false;
     warpy = false;
 
-    roomname = "Untitled room ["+help.String(rx) + "," + help.String(ry)+"]";
-
     switch(t)
     {
 #if !defined(MAKEANDPLAY)
diff --git a/desktop_version/src/Finalclass.h b/desktop_version/src/Finalclass.h
index eb0572b7..60c04300 100644
--- a/desktop_version/src/Finalclass.h
+++ b/desktop_version/src/Finalclass.h
@@ -1,14 +1,12 @@
 #ifndef FINALCLASS_H
 #define FINALCLASS_H
 
-#include <string>
-
 class finalclass
 {
 public:
     const short* loadlevel(int rx, int ry);
 
-    std::string roomname;
+    const char* roomname;
     bool warpx, warpy;
 };
 
diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp
index c0af5401..e244e5fe 100644
--- a/desktop_version/src/Game.cpp
+++ b/desktop_version/src/Game.cpp
@@ -3934,7 +3934,7 @@ void Game::gethardestroom(void)
     {
         hardestroomdeaths = currentroomdeaths;
         hardestroom = map.roomname;
-        if (map.roomname == "glitch")
+        if (SDL_strcmp(map.roomname, "glitch") == 0)
         {
             if (roomx == 42 && roomy == 51)
             {
@@ -3949,7 +3949,7 @@ void Game::gethardestroom(void)
                 hardestroom = "The Untouchavles";
             }
         }
-        else if (map.roomname == "change")
+        else if (SDL_strcmp(map.roomname, "change") == 0)
         {
             if (roomx == 45 && roomy == 51) hardestroom =map.specialnames[3];
             if (roomx == 46 && roomy == 51) hardestroom =map.specialnames[4];
@@ -3957,7 +3957,7 @@ void Game::gethardestroom(void)
             if (roomx == 50 && roomy == 53) hardestroom =map.specialnames[6];
             if (roomx == 50 && roomy == 54) hardestroom = map.specialnames[7];
         }
-        else if (map.roomname == "")
+        else if (SDL_strcmp(map.roomname, "") == 0)
         {
             hardestroom = map.hiddenname;
         }
diff --git a/desktop_version/src/Labclass.cpp b/desktop_version/src/Labclass.cpp
index f3a9ce20..df795c4d 100644
--- a/desktop_version/src/Labclass.cpp
+++ b/desktop_version/src/Labclass.cpp
@@ -3,7 +3,6 @@
 #include "Game.h"
 #include "Entity.h"
 #include "MakeAndPlay.h"
-#include "UtilityClass.h"
 
 const short* labclass::loadlevel(int rx, int ry)
 {
@@ -25,7 +24,7 @@ const short* labclass::loadlevel(int rx, int ry)
     t = rx + (ry * 100);
     const short* result;
     rcol = 0;
-    roomname = "Untitled room ["+help.String(rx) + "," + help.String(ry)+"]";
+    roomname = "";
 
     switch(t)
     {
diff --git a/desktop_version/src/Labclass.h b/desktop_version/src/Labclass.h
index 6c9e72de..ac650d0f 100644
--- a/desktop_version/src/Labclass.h
+++ b/desktop_version/src/Labclass.h
@@ -1,14 +1,12 @@
 #ifndef LABCLASS_H
 #define LABCLASS_H
 
-#include <string>
-
 class labclass
 {
 public:
     const short* loadlevel(int rx, int ry);
 
-    std::string roomname;
+    const char* roomname;
     int rcol;
 };
 #endif /* LABCLASS_H */
diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp
index 0bb2666c..a44ace19 100644
--- a/desktop_version/src/Map.cpp
+++ b/desktop_version/src/Map.cpp
@@ -84,6 +84,9 @@ mapclass::mapclass(void)
     roomtexton = false;
 
     nexttowercolour_set = false;
+
+    roomname = "";
+    hiddenname = "";
 }
 
 //Areamap starts at 100,100 and extends 20x20
@@ -164,159 +167,159 @@ void mapclass::transformname(int t)
         {
         case 3:
             //Television Newsveel -> The 9 O'Clock News
-            if (specialnames[3] == "Television Newsveel")
+            if (SDL_strcmp(specialnames[3], "Television Newsveel") == 0)
             {
                 specialnames[3] = "Television Newsvel";
             }
-            else if (specialnames[3] == "Television Newsvel")
+            else if (SDL_strcmp(specialnames[3], "Television Newsvel") == 0)
             {
                 specialnames[3] = "TelevisvonvNewsvel";
             }
-            else if (specialnames[3] == "TelevisvonvNewsvel")
+            else if (SDL_strcmp(specialnames[3], "TelevisvonvNewsvel") == 0)
             {
                 specialnames[3] = "TvlvvvsvonvNevsvel";
             }
-            else if (specialnames[3] == "TvlvvvsvonvNevsvel")
+            else if (SDL_strcmp(specialnames[3], "TvlvvvsvonvNevsvel") == 0)
             {
                 specialnames[3] = "vvvvvvsvovvNe svel";
             }
-            else if (specialnames[3] == "vvvvvvsvovvNe svel")
+            else if (SDL_strcmp(specialnames[3], "vvvvvvsvovvNe svel") == 0)
             {
                 specialnames[3] = "vhv vvv'vvovv vevl";
             }
-            else if (specialnames[3] == "vhv vvv'vvovv vevl")
+            else if (SDL_strcmp(specialnames[3], "vhv vvv'vvovv vevl") == 0)
             {
                 specialnames[3] = "vhv V v'Cvovv vewv";
             }
-            else if (specialnames[3] == "vhv V v'Cvovv vewv")
+            else if (SDL_strcmp(specialnames[3], "vhv V v'Cvovv vewv") == 0)
             {
                 specialnames[3] = "vhe 9 v'Cvovv vewv";
             }
-            else if (specialnames[3] == "vhe 9 v'Cvovv vewv")
+            else if (SDL_strcmp(specialnames[3], "vhe 9 v'Cvovv vewv") == 0)
             {
                 specialnames[3] = "vhe 9 v'Cvovv Newv";
             }
-            else if (specialnames[3] == "vhe 9 v'Cvovv Newv")
+            else if (SDL_strcmp(specialnames[3], "vhe 9 v'Cvovv Newv") == 0)
             {
                 specialnames[3] = "The 9 O'Cvovk Newv";
             }
-            else if (specialnames[3] == "The 9 O'Cvovk Newv")
+            else if (SDL_strcmp(specialnames[3], "The 9 O'Cvovk Newv") == 0)
             {
                 specialnames[3] = "The 9 O'Clock News";
             }
             break;
         case 4:
             //Vwitched -> Dial M for Murder
-            if (specialnames[4] == "Vwitched")
+            if (SDL_strcmp(specialnames[4], "Vwitched") == 0)
             {
                 specialnames[4] = "Vwitvhed";
             }
-            else if (specialnames[4] == "Vwitvhed")
+            else if (SDL_strcmp(specialnames[4], "Vwitvhed") == 0)
             {
                 specialnames[4] = "vVwivcvedv";
             }
-            else if (specialnames[4] == "vVwivcvedv")
+            else if (SDL_strcmp(specialnames[4], "vVwivcvedv") == 0)
             {
                 specialnames[4] = "vvvwMvcvMdvv";
             }
-            else if (specialnames[4] == "vvvwMvcvMdvv")
+            else if (SDL_strcmp(specialnames[4], "vvvwMvcvMdvv") == 0)
             {
                 specialnames[4] = "DvvvwMvfvvMdvvv";
             }
-            else if (specialnames[4] == "DvvvwMvfvvMdvvv")
+            else if (SDL_strcmp(specialnames[4], "DvvvwMvfvvMdvvv") == 0)
             {
                 specialnames[4] = "Dvav Mvfvr Mdvvvv";
             }
-            else if (specialnames[4] == "Dvav Mvfvr Mdvvvv")
+            else if (SDL_strcmp(specialnames[4], "Dvav Mvfvr Mdvvvv") == 0)
             {
                 specialnames[4] = "Diav M for Mdrver";
             }
-            else if (specialnames[4] == "Diav M for Mdrver")
+            else if (SDL_strcmp(specialnames[4], "Diav M for Mdrver") == 0)
             {
                 specialnames[4] = "Dial M for Murder";
             }
             break;
         case 5:
             //Gvnsmoke -> Gunsmoke 1966
-            if (specialnames[5] == "Gvnsmoke")
+            if (SDL_strcmp(specialnames[5], "Gvnsmoke") == 0)
             {
                 specialnames[5] = "Gvnsmove";
             }
-            else if (specialnames[5] == "Gvnsmove")
+            else if (SDL_strcmp(specialnames[5], "Gvnsmove") == 0)
             {
                 specialnames[5] = "Gvnvmovevv";
             }
-            else if (specialnames[5] == "Gvnvmovevv")
+            else if (SDL_strcmp(specialnames[5], "Gvnvmovevv") == 0)
             {
                 specialnames[5] = "Gunvmove1vv6";
             }
-            else if (specialnames[5] == "Gunvmove1vv6")
+            else if (SDL_strcmp(specialnames[5], "Gunvmove1vv6") == 0)
             {
                 specialnames[5] = "Vunsmoke 19v6";
             }
-            else if (specialnames[5] == "Vunsmoke 19v6")
+            else if (SDL_strcmp(specialnames[5], "Vunsmoke 19v6") == 0)
             {
                 specialnames[5] = "Gunsmoke 1966";
             }
             break;
         case 6:
             //Please enjoy these repeats -> In the Margins
-            if (specialnames[6] == "Please enjoy these repeats")
+            if (SDL_strcmp(specialnames[6], "Please enjoy these repeats") == 0)
             {
                 specialnames[6] = "Please envoy theve repeats";
             }
-            else if (specialnames[6] == "Please envoy theve repeats")
+            else if (SDL_strcmp(specialnames[6], "Please envoy theve repeats") == 0)
             {
                 specialnames[6] = "Plse envoy tse rvpvas";
             }
-            else if (specialnames[6] == "Plase envoy these rvpeas")
+            else if (SDL_strcmp(specialnames[6], "Plase envoy these rvpeas") == 0)
             {
                 specialnames[6] = "Plse envoy tse rvpvas";
             }
-            else if (specialnames[6] == "Plse envoy tse rvpvas")
+            else if (SDL_strcmp(specialnames[6], "Plse envoy tse rvpvas") == 0)
             {
                 specialnames[6] = "Vl envoy te rvevs";
             }
-            else if (specialnames[6] == "Vl envoy te rvevs")
+            else if (SDL_strcmp(specialnames[6], "Vl envoy te rvevs") == 0)
             {
                 specialnames[6] = "Vv evo tv vevs";
             }
-            else if (specialnames[6] == "Vv evo tv vevs")
+            else if (SDL_strcmp(specialnames[6], "Vv evo tv vevs") == 0)
             {
                 specialnames[6] = "Iv vhv Mvrvivs";
             }
-            else if (specialnames[6] == "Iv vhv Mvrvivs")
+            else if (SDL_strcmp(specialnames[6], "Iv vhv Mvrvivs") == 0)
             {
                 specialnames[6] = "In the Margins";
             }
             break;
         case 7:
             //Try Jiggling the Antenna -> Heaven's Gate
-            if (specialnames[7] == "Try Jiggling the Antenna")
+            if (SDL_strcmp(specialnames[7], "Try Jiggling the Antenna") == 0)
             {
                 specialnames[7] = "Try Viggling the Antenna";
             }
-            else if (specialnames[7] == "Try Viggling the Antenna")
+            else if (SDL_strcmp(specialnames[7], "Try Viggling the Antenna") == 0)
             {
                 specialnames[7] = "TryJivglvng theAvtevna";
             }
-            else if (specialnames[7] == "TryJivglvng theAvtevna")
+            else if (SDL_strcmp(specialnames[7], "TryJivglvng theAvtevna") == 0)
             {
                 specialnames[7] = "Tvvivglvng thAvtvvv";
             }
-            else if (specialnames[7] == "Tvvivglvng thAvtvvv")
+            else if (SDL_strcmp(specialnames[7], "Tvvivglvng thAvtvvv") == 0)
             {
                 specialnames[7] = "Vvvgglvnv tvnvva";
             }
-            else if (specialnames[7] == "Vvvgglvnv tvnvva")
+            else if (SDL_strcmp(specialnames[7], "Vvvgglvnv tvnvva") == 0)
             {
                 specialnames[7] = "Vvavvnvs vvtv";
             }
-            else if (specialnames[7] == "Vvavvnvs vvtv")
+            else if (SDL_strcmp(specialnames[7], "Vvavvnvs vvtv") == 0)
             {
                 specialnames[7] = "Veavvn's Gvte";
             }
-            else if (specialnames[7] == "Veavvn's Gvte")
+            else if (SDL_strcmp(specialnames[7], "Veavvn's Gvte") == 0)
             {
                 specialnames[7] = "Heaven's Gate";
             }
@@ -331,10 +334,10 @@ void mapclass::transformname(int t)
     }
 }
 
-std::string mapclass::getglitchname(int x, int y)
+const char* mapclass::getglitchname(int x, int y)
 {
     //Returns the name in the final area.
-    if (roomname == "glitch")
+    if (SDL_strcmp(roomname, "glitch") == 0)
     {
         //8 Cases!
         //First, the three "glitches"
@@ -371,7 +374,7 @@ std::string mapclass::getglitchname(int x, int y)
             else return "The Untouchavles";
         }
     }
-    else if (roomname == "change")
+    else if (SDL_strcmp(roomname, "change") == 0)
     {
         if (finalstretch)
         {
@@ -1282,7 +1285,7 @@ void mapclass::spawncompanion(void)
     }
 }
 
-std::string mapclass::currentarea(int t)
+const char* mapclass::currentarea(int t)
 {
     switch(t)
     {
@@ -1811,7 +1814,7 @@ void mapclass::loadlevel(int rx, int ry)
             break;
         }
 
-        roomname = room->roomname;
+        roomname = room->roomname.c_str();
         extrarow = 1;
         const int* tmap = cl.loadlevel(rx, ry);
         SDL_memcpy(contents, tmap, sizeof(contents));
@@ -1921,7 +1924,7 @@ void mapclass::loadlevel(int rx, int ry)
                 Roomtext text;
                 text.x = ex / 8;
                 text.y = ey / 8;
-                text.text = ent.scriptname;
+                text.text = ent.scriptname.c_str();
                 roomtext.push_back(text);
                 break;
             }
diff --git a/desktop_version/src/Map.h b/desktop_version/src/Map.h
index 264275a8..4ca12178 100644
--- a/desktop_version/src/Map.h
+++ b/desktop_version/src/Map.h
@@ -15,7 +15,7 @@
 struct Roomtext
 {
     int x, y;
-    std::string text;
+    const char* text;
 };
 
 class mapclass
@@ -35,7 +35,7 @@ public:
 
     void transformname(int t);
 
-    std::string getglitchname(int x, int y);
+    const char* getglitchname(int x, int y);
 
     void initmapdata(void);
     void initcustommapdata(void);
@@ -83,7 +83,7 @@ public:
 
     void spawncompanion(void);
 
-    std::string currentarea(int t);
+    const char* currentarea(int t);
 
     void loadlevel(int rx, int ry);
 
@@ -107,8 +107,8 @@ public:
     bool warpy;
 
 
-    std::string roomname;
-    std::string hiddenname;
+    const char* roomname;
+    const char* hiddenname;
 
     //Special tower stuff
     bool towermode;
@@ -135,10 +135,10 @@ public:
     int customzoom;
     bool customshowmm;
 
-    std::string specialnames[8];
+    const char* specialnames[8];
     int glitchmode;
     int glitchdelay;
-    std::string glitchname;
+    const char* glitchname;
 
     //final level colour cycling stuff
     bool final_colormode;
diff --git a/desktop_version/src/Otherlevel.h b/desktop_version/src/Otherlevel.h
index 770d7956..983b9dc0 100644
--- a/desktop_version/src/Otherlevel.h
+++ b/desktop_version/src/Otherlevel.h
@@ -1,15 +1,13 @@
 #ifndef OTHERLEVEL_H
 #define OTHERLEVEL_H
 
-#include <string>
-
 class otherlevelclass
 {
 public:
     const short* loadlevel(int rx, int ry);
 
-    std::string roomname;
-    std::string hiddenname;
+    const char* roomname;
+    const char* hiddenname;
 
     int roomtileset;
 };
diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp
index 7bcf52ab..2c8fa518 100644
--- a/desktop_version/src/Render.cpp
+++ b/desktop_version/src/Render.cpp
@@ -1739,7 +1739,7 @@ void gamerender(void)
         graphics.bprint(46, 6, game.timestring(),  196, 196, 196);
     }
 
-    if(map.extrarow==0 || (map.custommode && map.roomname!=""))
+    if(map.extrarow==0 || (map.custommode && SDL_strcmp(map.roomname, "") != 0))
     {
         graphics.footerrect.y = 230;
         if (graphics.translucentroomname)
@@ -2017,7 +2017,7 @@ void maprender(void)
 
     //draw screen alliteration
     //Roomname:
-    if (map.hiddenname != "")
+    if (SDL_strcmp(map.hiddenname, "") != 0)
     {
         graphics.Print(5, 2, map.hiddenname, 196, 196, 255 - help.glow, true);
     }
diff --git a/desktop_version/src/Spacestation2.cpp b/desktop_version/src/Spacestation2.cpp
index 5f9d56d5..385c9ba5 100644
--- a/desktop_version/src/Spacestation2.cpp
+++ b/desktop_version/src/Spacestation2.cpp
@@ -3,7 +3,6 @@
 #include "Game.h"
 #include "Entity.h"
 #include "MakeAndPlay.h"
-#include "UtilityClass.h"
 
 const short* spacestation2class::loadlevel(int rx, int ry)
 {
@@ -17,7 +16,7 @@ const short* spacestation2class::loadlevel(int rx, int ry)
     t = rx + (ry * 100);
 
     const short* result;
-    roomname = "Untitled room ["+help.String(rx) + "," + help.String(ry)+"]";
+    roomname = "Untitled room";
 
     switch(t)
     {
diff --git a/desktop_version/src/Spacestation2.h b/desktop_version/src/Spacestation2.h
index fc82da10..b316b618 100644
--- a/desktop_version/src/Spacestation2.h
+++ b/desktop_version/src/Spacestation2.h
@@ -1,13 +1,11 @@
 #ifndef SPACESTATION2_H
 #define SPACESTATION2_H
 
-#include <string>
-
 class spacestation2class
 {
 public:
     const short* loadlevel(int rx, int ry);
-    std::string roomname;
+    const char* roomname;
 };
 
 #endif /* SPACESTATION2_H */
diff --git a/desktop_version/src/Tower.cpp b/desktop_version/src/Tower.cpp
index 91bc4598..c34c5b5d 100644
--- a/desktop_version/src/Tower.cpp
+++ b/desktop_version/src/Tower.cpp
@@ -1,7 +1,9 @@
 #include "Tower.h"
 
+#include <SDL_stdinc.h>
+#include <stddef.h>
+
 #include "MakeAndPlay.h"
-#include "UtilityClass.h"
 
 towerclass::towerclass(void)
 {
diff --git a/desktop_version/src/WarpClass.cpp b/desktop_version/src/WarpClass.cpp
index 61b0ba23..2d6f94f5 100644
--- a/desktop_version/src/WarpClass.cpp
+++ b/desktop_version/src/WarpClass.cpp
@@ -3,7 +3,6 @@
 #include "Game.h"
 #include "Entity.h"
 #include "MakeAndPlay.h"
-#include "UtilityClass.h"
 
 const short* warpclass::loadlevel(int rx, int ry)
 {
@@ -20,7 +19,7 @@ const short* warpclass::loadlevel(int rx, int ry)
     warpx = false;
     warpy = false;
 
-    roomname = "Untitled room ["+help.String(rx) + "," + help.String(ry)+"]";
+    roomname = "Untitled room";
 
     switch(t)
     {
diff --git a/desktop_version/src/WarpClass.h b/desktop_version/src/WarpClass.h
index 5c5edbb6..61d0ba4e 100644
--- a/desktop_version/src/WarpClass.h
+++ b/desktop_version/src/WarpClass.h
@@ -1,13 +1,11 @@
 #ifndef WARPCLASS_H
 #define WARPCLASS_H
 
-#include <string>
-
 class warpclass
 {
 public:
     const short* loadlevel(int rx, int ry);
-    std::string roomname;
+    const char* roomname;
     int rcol;
     bool warpx, warpy;
 };