Commits

Blake Winton  committed a0a3d7d

Get it working as a screensaver.

  • Participants
  • Parent commits a220f3b

Comments (0)

Files changed (11)

 *.xcodeproj/*.pbxuser
 *.xcodeproj/*.perspectivev3
 
-*.tm_build_errors
+*.tm_build_errors
+
+CoreData.framework
+OpenGL.framework

File English.lproj/InfoPlist.strings

Binary file modified.

File Info-Saver.plist

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIconFile</key>
+	<string></string>
+	<key>CFBundleIdentifier</key>
+	<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>NSPrincipalClass</key>
+	<string>PixelCity_SaverView</string>
+</dict>
+</plist>

File PixelCity-Saver.xcodeproj/project.pbxproj

+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 45;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		0B9E7FE212B53392001C01F5 /* Info-Saver.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0B9E7FE112B53392001C01F5 /* Info-Saver.plist */; };
+		0BD7F9C71295CF1000AB9075 /* Defs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9AD1295CF1000AB9075 /* Defs.h */; };
+		0BD7F9C81295CF1000AB9075 /* Random.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9AE1295CF1000AB9075 /* Random.cpp */; };
+		0BD7F9C91295CF1000AB9075 /* Random.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9AF1295CF1000AB9075 /* Random.h */; };
+		0BD7F9CA1295CF1000AB9075 /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B01295CF1000AB9075 /* Texture.cpp */; };
+		0BD7F9CB1295CF1000AB9075 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9B11295CF1000AB9075 /* Texture.h */; };
+		0BD7F9CC1295CF1000AB9075 /* World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B21295CF1000AB9075 /* World.cpp */; };
+		0BD7F9CD1295CF1000AB9075 /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9B31295CF1000AB9075 /* World.h */; };
+		0BD7F9CE1295CF1000AB9075 /* Camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B41295CF1000AB9075 /* Camera.cpp */; };
+		0BD7F9CF1295CF1000AB9075 /* Camera.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9B51295CF1000AB9075 /* Camera.h */; };
+		0BD7F9D01295CF1000AB9075 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B61295CF1000AB9075 /* main.m */; };
+		0BD7F9D11295CF1000AB9075 /* Render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B71295CF1000AB9075 /* Render.cpp */; };
+		0BD7F9D21295CF1000AB9075 /* Render.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9B81295CF1000AB9075 /* Render.h */; };
+		0BD7F9D31295CF1000AB9075 /* Visible.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9B91295CF1000AB9075 /* Visible.cpp */; };
+		0BD7F9D41295CF1000AB9075 /* Visible.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9BA1295CF1000AB9075 /* Visible.h */; };
+		0BD7F9D51295CF1000AB9075 /* glBbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9BB1295CF1000AB9075 /* glBbox.cpp */; };
+		0BD7F9D61295CF1000AB9075 /* glMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9BC1295CF1000AB9075 /* glMatrix.cpp */; };
+		0BD7F9D71295CF1000AB9075 /* glQuat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9BD1295CF1000AB9075 /* glQuat.cpp */; };
+		0BD7F9D81295CF1000AB9075 /* glRgba.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9BE1295CF1000AB9075 /* glRgba.cpp */; };
+		0BD7F9D91295CF1000AB9075 /* glTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9BF1295CF1000AB9075 /* glTypes.h */; };
+		0BD7F9DA1295CF1000AB9075 /* glVector2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9C01295CF1000AB9075 /* glVector2.cpp */; };
+		0BD7F9DB1295CF1000AB9075 /* glVector3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9C11295CF1000AB9075 /* glVector3.cpp */; };
+		0BD7F9DC1295CF1000AB9075 /* Ini.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9C21295CF1000AB9075 /* Ini.cpp */; };
+		0BD7F9DD1295CF1000AB9075 /* Ini.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9C31295CF1000AB9075 /* Ini.h */; };
+		0BD7F9DE1295CF1000AB9075 /* Macro.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9C41295CF1000AB9075 /* Macro.h */; };
+		0BD7F9DF1295CF1000AB9075 /* MathExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7F9C51295CF1000AB9075 /* MathExt.cpp */; };
+		0BD7F9E01295CF1000AB9075 /* MathExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7F9C61295CF1000AB9075 /* MathExt.h */; };
+		0BD7F9E71295CF3C00AB9075 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD7F9E61295CF3C00AB9075 /* OpenGL.framework */; };
+		0BD7F9FB1295CF4E00AB9075 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD7F9FA1295CF4E00AB9075 /* CoreData.framework */; };
+		0BD7FA291295CF7F00AB9075 /* Deco.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA191295CF7F00AB9075 /* Deco.cpp */; };
+		0BD7FA2A1295CF7F00AB9075 /* Deco.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA1A1295CF7F00AB9075 /* Deco.h */; };
+		0BD7FA2B1295CF7F00AB9075 /* Sky.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA1B1295CF7F00AB9075 /* Sky.cpp */; };
+		0BD7FA2C1295CF7F00AB9075 /* Sky.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA1C1295CF7F00AB9075 /* Sky.h */; };
+		0BD7FA2D1295CF7F00AB9075 /* Building.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA1D1295CF7F00AB9075 /* Building.cpp */; };
+		0BD7FA2E1295CF7F00AB9075 /* Building.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA1E1295CF7F00AB9075 /* Building.h */; };
+		0BD7FA2F1295CF7F00AB9075 /* Car.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA1F1295CF7F00AB9075 /* Car.cpp */; };
+		0BD7FA301295CF7F00AB9075 /* Car.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA201295CF7F00AB9075 /* Car.h */; };
+		0BD7FA311295CF7F00AB9075 /* PixelCityView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA211295CF7F00AB9075 /* PixelCityView.h */; };
+		0BD7FA321295CF7F00AB9075 /* PixelCityView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA221295CF7F00AB9075 /* PixelCityView.m */; };
+		0BD7FA331295CF7F00AB9075 /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA231295CF7F00AB9075 /* Entity.cpp */; };
+		0BD7FA341295CF7F00AB9075 /* Entity.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA241295CF7F00AB9075 /* Entity.h */; };
+		0BD7FA351295CF7F00AB9075 /* Light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA251295CF7F00AB9075 /* Light.cpp */; };
+		0BD7FA361295CF7F00AB9075 /* Light.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA261295CF7F00AB9075 /* Light.h */; };
+		0BD7FA371295CF7F00AB9075 /* Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BD7FA271295CF7F00AB9075 /* Mesh.cpp */; };
+		0BD7FA381295CF7F00AB9075 /* Mesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD7FA281295CF7F00AB9075 /* Mesh.h */; };
+		8D255AC70486D3F9007BF209 /* PixelCity-Saver_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCFA80370C50100C91783 /* PixelCity-Saver_Prefix.pch */; };
+		8D255AC80486D3F9007BF209 /* PixelCity_SaverView.h in Headers */ = {isa = PBXBuildFile; fileRef = F50079790118B23001CA0E54 /* PixelCity_SaverView.h */; };
+		8D255ACA0486D3F9007BF209 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
+		8D255ACC0486D3F9007BF209 /* PixelCity_SaverView.m in Sources */ = {isa = PBXBuildFile; fileRef = F500797A0118B23001CA0E54 /* PixelCity_SaverView.m */; };
+		8D255ACE0486D3F9007BF209 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		8D255ACF0486D3F9007BF209 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScreenSaver.framework; path = /System/Library/Frameworks/ScreenSaver.framework; sourceTree = "<absolute>"; };
+		089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		0B9E7FE112B53392001C01F5 /* Info-Saver.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-Saver.plist"; sourceTree = "<group>"; };
+		0BD7F9AD1295CF1000AB9075 /* Defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Defs.h; sourceTree = "<group>"; };
+		0BD7F9AE1295CF1000AB9075 /* Random.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Random.cpp; sourceTree = "<group>"; };
+		0BD7F9AF1295CF1000AB9075 /* Random.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Random.h; sourceTree = "<group>"; };
+		0BD7F9B01295CF1000AB9075 /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Texture.cpp; sourceTree = "<group>"; };
+		0BD7F9B11295CF1000AB9075 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = "<group>"; };
+		0BD7F9B21295CF1000AB9075 /* World.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = World.cpp; sourceTree = "<group>"; };
+		0BD7F9B31295CF1000AB9075 /* World.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = World.h; sourceTree = "<group>"; };
+		0BD7F9B41295CF1000AB9075 /* Camera.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Camera.cpp; sourceTree = "<group>"; };
+		0BD7F9B51295CF1000AB9075 /* Camera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Camera.h; sourceTree = "<group>"; };
+		0BD7F9B61295CF1000AB9075 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		0BD7F9B71295CF1000AB9075 /* Render.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = Render.cpp; sourceTree = "<group>"; };
+		0BD7F9B81295CF1000AB9075 /* Render.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Render.h; sourceTree = "<group>"; };
+		0BD7F9B91295CF1000AB9075 /* Visible.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Visible.cpp; sourceTree = "<group>"; };
+		0BD7F9BA1295CF1000AB9075 /* Visible.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Visible.h; sourceTree = "<group>"; };
+		0BD7F9BB1295CF1000AB9075 /* glBbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glBbox.cpp; sourceTree = "<group>"; };
+		0BD7F9BC1295CF1000AB9075 /* glMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glMatrix.cpp; sourceTree = "<group>"; };
+		0BD7F9BD1295CF1000AB9075 /* glQuat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glQuat.cpp; sourceTree = "<group>"; };
+		0BD7F9BE1295CF1000AB9075 /* glRgba.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glRgba.cpp; sourceTree = "<group>"; };
+		0BD7F9BF1295CF1000AB9075 /* glTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glTypes.h; sourceTree = "<group>"; };
+		0BD7F9C01295CF1000AB9075 /* glVector2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glVector2.cpp; sourceTree = "<group>"; };
+		0BD7F9C11295CF1000AB9075 /* glVector3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glVector3.cpp; sourceTree = "<group>"; };
+		0BD7F9C21295CF1000AB9075 /* Ini.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = Ini.cpp; sourceTree = "<group>"; };
+		0BD7F9C31295CF1000AB9075 /* Ini.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ini.h; sourceTree = "<group>"; };
+		0BD7F9C41295CF1000AB9075 /* Macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Macro.h; sourceTree = "<group>"; };
+		0BD7F9C51295CF1000AB9075 /* MathExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathExt.cpp; sourceTree = "<group>"; };
+		0BD7F9C61295CF1000AB9075 /* MathExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathExt.h; sourceTree = "<group>"; };
+		0BD7F9E61295CF3C00AB9075 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OpenGL.framework; sourceTree = "<group>"; };
+		0BD7F9FA1295CF4E00AB9075 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CoreData.framework; sourceTree = "<group>"; };
+		0BD7FA191295CF7F00AB9075 /* Deco.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Deco.cpp; sourceTree = "<group>"; };
+		0BD7FA1A1295CF7F00AB9075 /* Deco.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deco.h; sourceTree = "<group>"; };
+		0BD7FA1B1295CF7F00AB9075 /* Sky.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sky.cpp; sourceTree = "<group>"; };
+		0BD7FA1C1295CF7F00AB9075 /* Sky.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sky.h; sourceTree = "<group>"; };
+		0BD7FA1D1295CF7F00AB9075 /* Building.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Building.cpp; sourceTree = "<group>"; };
+		0BD7FA1E1295CF7F00AB9075 /* Building.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Building.h; sourceTree = "<group>"; };
+		0BD7FA1F1295CF7F00AB9075 /* Car.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Car.cpp; sourceTree = "<group>"; };
+		0BD7FA201295CF7F00AB9075 /* Car.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Car.h; sourceTree = "<group>"; };
+		0BD7FA211295CF7F00AB9075 /* PixelCityView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PixelCityView.h; sourceTree = "<group>"; };
+		0BD7FA221295CF7F00AB9075 /* PixelCityView.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = PixelCityView.m; sourceTree = "<group>"; };
+		0BD7FA231295CF7F00AB9075 /* Entity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Entity.cpp; sourceTree = "<group>"; };
+		0BD7FA241295CF7F00AB9075 /* Entity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Entity.h; sourceTree = "<group>"; };
+		0BD7FA251295CF7F00AB9075 /* Light.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Light.cpp; sourceTree = "<group>"; };
+		0BD7FA261295CF7F00AB9075 /* Light.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Light.h; sourceTree = "<group>"; };
+		0BD7FA271295CF7F00AB9075 /* Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mesh.cpp; sourceTree = "<group>"; };
+		0BD7FA281295CF7F00AB9075 /* Mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mesh.h; sourceTree = "<group>"; };
+		0BD7FACE1295DA3E00AB9075 /* PixelCity-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PixelCity-Info.plist"; sourceTree = "<group>"; };
+		0BD7FAE71295DAAD00AB9075 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+		0BD7FAEB1295DAB300AB9075 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+		0BD7FC7B1295DCA100AB9075 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
+		1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+		32DBCFA80370C50100C91783 /* PixelCity-Saver_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PixelCity-Saver_Prefix.pch"; sourceTree = "<group>"; };
+		8D255AD30486D3F9007BF209 /* PixelCity-Saver.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PixelCity-Saver.saver"; sourceTree = BUILT_PRODUCTS_DIR; };
+		F50079790118B23001CA0E54 /* PixelCity_SaverView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PixelCity_SaverView.h; sourceTree = "<group>"; };
+		F500797A0118B23001CA0E54 /* PixelCity_SaverView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PixelCity_SaverView.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		8D255ACD0486D3F9007BF209 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D255ACE0486D3F9007BF209 /* Cocoa.framework in Frameworks */,
+				8D255ACF0486D3F9007BF209 /* ScreenSaver.framework in Frameworks */,
+				0BD7F9E71295CF3C00AB9075 /* OpenGL.framework in Frameworks */,
+				0BD7F9FB1295CF4E00AB9075 /* CoreData.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		089C166AFE841209C02AAC07 /* PixelCity-Saver */ = {
+			isa = PBXGroup;
+			children = (
+				08FB77AFFE84173DC02AAC07 /* Classes */,
+				32DBCFA70370C4F300C91783 /* Other Sources */,
+				089C167CFE841241C02AAC07 /* Resources */,
+				089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
+				19C28FB8FE9D52D311CA2CBB /* Products */,
+				0BD7FACE1295DA3E00AB9075 /* PixelCity-Info.plist */,
+				0BD7FAE71295DAAD00AB9075 /* Cocoa.framework */,
+				0BD7FAEB1295DAB300AB9075 /* OpenGL.framework */,
+			);
+			name = "PixelCity-Saver";
+			sourceTree = "<group>";
+		};
+		089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
+				1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
+			);
+			name = "Frameworks and Libraries";
+			sourceTree = "<group>";
+		};
+		089C167CFE841241C02AAC07 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				0B9E7FE112B53392001C01F5 /* Info-Saver.plist */,
+				0BD7FC7A1295DCA100AB9075 /* MainMenu.xib */,
+				0BD7F9E61295CF3C00AB9075 /* OpenGL.framework */,
+				089C167DFE841241C02AAC07 /* InfoPlist.strings */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		08FB77AFFE84173DC02AAC07 /* Classes */ = {
+			isa = PBXGroup;
+			children = (
+				0BD7FA191295CF7F00AB9075 /* Deco.cpp */,
+				0BD7FA1A1295CF7F00AB9075 /* Deco.h */,
+				0BD7FA1B1295CF7F00AB9075 /* Sky.cpp */,
+				0BD7FA1C1295CF7F00AB9075 /* Sky.h */,
+				0BD7FA1D1295CF7F00AB9075 /* Building.cpp */,
+				0BD7FA1E1295CF7F00AB9075 /* Building.h */,
+				0BD7FA1F1295CF7F00AB9075 /* Car.cpp */,
+				0BD7FA201295CF7F00AB9075 /* Car.h */,
+				0BD7FA211295CF7F00AB9075 /* PixelCityView.h */,
+				0BD7FA221295CF7F00AB9075 /* PixelCityView.m */,
+				0BD7FA231295CF7F00AB9075 /* Entity.cpp */,
+				0BD7FA241295CF7F00AB9075 /* Entity.h */,
+				0BD7FA251295CF7F00AB9075 /* Light.cpp */,
+				0BD7FA261295CF7F00AB9075 /* Light.h */,
+				0BD7FA271295CF7F00AB9075 /* Mesh.cpp */,
+				0BD7FA281295CF7F00AB9075 /* Mesh.h */,
+				F50079790118B23001CA0E54 /* PixelCity_SaverView.h */,
+				F500797A0118B23001CA0E54 /* PixelCity_SaverView.m */,
+			);
+			name = Classes;
+			sourceTree = "<group>";
+		};
+		1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
+				06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */,
+			);
+			name = "Linked Frameworks";
+			sourceTree = "<group>";
+		};
+		1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				0BD7F9FA1295CF4E00AB9075 /* CoreData.framework */,
+				089C1672FE841209C02AAC07 /* Foundation.framework */,
+			);
+			name = "Other Frameworks";
+			sourceTree = "<group>";
+		};
+		19C28FB8FE9D52D311CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				8D255AD30486D3F9007BF209 /* PixelCity-Saver.saver */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		32DBCFA70370C4F300C91783 /* Other Sources */ = {
+			isa = PBXGroup;
+			children = (
+				32DBCFA80370C50100C91783 /* PixelCity-Saver_Prefix.pch */,
+				0BD7F9AD1295CF1000AB9075 /* Defs.h */,
+				0BD7F9AE1295CF1000AB9075 /* Random.cpp */,
+				0BD7F9AF1295CF1000AB9075 /* Random.h */,
+				0BD7F9B01295CF1000AB9075 /* Texture.cpp */,
+				0BD7F9B11295CF1000AB9075 /* Texture.h */,
+				0BD7F9B21295CF1000AB9075 /* World.cpp */,
+				0BD7F9B31295CF1000AB9075 /* World.h */,
+				0BD7F9B41295CF1000AB9075 /* Camera.cpp */,
+				0BD7F9B51295CF1000AB9075 /* Camera.h */,
+				0BD7F9B61295CF1000AB9075 /* main.m */,
+				0BD7F9B71295CF1000AB9075 /* Render.cpp */,
+				0BD7F9B81295CF1000AB9075 /* Render.h */,
+				0BD7F9B91295CF1000AB9075 /* Visible.cpp */,
+				0BD7F9BA1295CF1000AB9075 /* Visible.h */,
+				0BD7F9BB1295CF1000AB9075 /* glBbox.cpp */,
+				0BD7F9BC1295CF1000AB9075 /* glMatrix.cpp */,
+				0BD7F9BD1295CF1000AB9075 /* glQuat.cpp */,
+				0BD7F9BE1295CF1000AB9075 /* glRgba.cpp */,
+				0BD7F9BF1295CF1000AB9075 /* glTypes.h */,
+				0BD7F9C01295CF1000AB9075 /* glVector2.cpp */,
+				0BD7F9C11295CF1000AB9075 /* glVector3.cpp */,
+				0BD7F9C21295CF1000AB9075 /* Ini.cpp */,
+				0BD7F9C31295CF1000AB9075 /* Ini.h */,
+				0BD7F9C41295CF1000AB9075 /* Macro.h */,
+				0BD7F9C51295CF1000AB9075 /* MathExt.cpp */,
+				0BD7F9C61295CF1000AB9075 /* MathExt.h */,
+			);
+			name = "Other Sources";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+		8D255AC60486D3F9007BF209 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D255AC70486D3F9007BF209 /* PixelCity-Saver_Prefix.pch in Headers */,
+				8D255AC80486D3F9007BF209 /* PixelCity_SaverView.h in Headers */,
+				0BD7F9C71295CF1000AB9075 /* Defs.h in Headers */,
+				0BD7F9C91295CF1000AB9075 /* Random.h in Headers */,
+				0BD7F9CB1295CF1000AB9075 /* Texture.h in Headers */,
+				0BD7F9CD1295CF1000AB9075 /* World.h in Headers */,
+				0BD7F9CF1295CF1000AB9075 /* Camera.h in Headers */,
+				0BD7F9D21295CF1000AB9075 /* Render.h in Headers */,
+				0BD7F9D41295CF1000AB9075 /* Visible.h in Headers */,
+				0BD7F9D91295CF1000AB9075 /* glTypes.h in Headers */,
+				0BD7F9DD1295CF1000AB9075 /* Ini.h in Headers */,
+				0BD7F9DE1295CF1000AB9075 /* Macro.h in Headers */,
+				0BD7F9E01295CF1000AB9075 /* MathExt.h in Headers */,
+				0BD7FA2A1295CF7F00AB9075 /* Deco.h in Headers */,
+				0BD7FA2C1295CF7F00AB9075 /* Sky.h in Headers */,
+				0BD7FA2E1295CF7F00AB9075 /* Building.h in Headers */,
+				0BD7FA301295CF7F00AB9075 /* Car.h in Headers */,
+				0BD7FA311295CF7F00AB9075 /* PixelCityView.h in Headers */,
+				0BD7FA341295CF7F00AB9075 /* Entity.h in Headers */,
+				0BD7FA361295CF7F00AB9075 /* Light.h in Headers */,
+				0BD7FA381295CF7F00AB9075 /* Mesh.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+		8D255AC50486D3F9007BF209 /* PixelCity-Saver */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = EF7AD72D08BB986600CE4634 /* Build configuration list for PBXNativeTarget "PixelCity-Saver" */;
+			buildPhases = (
+				8D255AC60486D3F9007BF209 /* Headers */,
+				8D255AC90486D3F9007BF209 /* Resources */,
+				8D255ACB0486D3F9007BF209 /* Sources */,
+				8D255ACD0486D3F9007BF209 /* Frameworks */,
+				8D255AD00486D3F9007BF209 /* Rez */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "PixelCity-Saver";
+			productInstallPath = "$(HOME)/Library/Screen Savers";
+			productName = "PixelCity-Saver";
+			productReference = 8D255AD30486D3F9007BF209 /* PixelCity-Saver.saver */;
+			productType = "com.apple.product-type.bundle";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		089C1669FE841209C02AAC07 /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = EF7AD73108BB986600CE4634 /* Build configuration list for PBXProject "PixelCity-Saver" */;
+			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+			);
+			mainGroup = 089C166AFE841209C02AAC07 /* PixelCity-Saver */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				8D255AC50486D3F9007BF209 /* PixelCity-Saver */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		8D255AC90486D3F9007BF209 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D255ACA0486D3F9007BF209 /* InfoPlist.strings in Resources */,
+				0B9E7FE212B53392001C01F5 /* Info-Saver.plist in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+		8D255AD00486D3F9007BF209 /* Rez */ = {
+			isa = PBXRezBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		8D255ACB0486D3F9007BF209 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D255ACC0486D3F9007BF209 /* PixelCity_SaverView.m in Sources */,
+				0BD7F9C81295CF1000AB9075 /* Random.cpp in Sources */,
+				0BD7F9CA1295CF1000AB9075 /* Texture.cpp in Sources */,
+				0BD7F9CC1295CF1000AB9075 /* World.cpp in Sources */,
+				0BD7F9CE1295CF1000AB9075 /* Camera.cpp in Sources */,
+				0BD7F9D01295CF1000AB9075 /* main.m in Sources */,
+				0BD7F9D11295CF1000AB9075 /* Render.cpp in Sources */,
+				0BD7F9D31295CF1000AB9075 /* Visible.cpp in Sources */,
+				0BD7F9D51295CF1000AB9075 /* glBbox.cpp in Sources */,
+				0BD7F9D61295CF1000AB9075 /* glMatrix.cpp in Sources */,
+				0BD7F9D71295CF1000AB9075 /* glQuat.cpp in Sources */,
+				0BD7F9D81295CF1000AB9075 /* glRgba.cpp in Sources */,
+				0BD7F9DA1295CF1000AB9075 /* glVector2.cpp in Sources */,
+				0BD7F9DB1295CF1000AB9075 /* glVector3.cpp in Sources */,
+				0BD7F9DC1295CF1000AB9075 /* Ini.cpp in Sources */,
+				0BD7F9DF1295CF1000AB9075 /* MathExt.cpp in Sources */,
+				0BD7FA291295CF7F00AB9075 /* Deco.cpp in Sources */,
+				0BD7FA2B1295CF7F00AB9075 /* Sky.cpp in Sources */,
+				0BD7FA2D1295CF7F00AB9075 /* Building.cpp in Sources */,
+				0BD7FA2F1295CF7F00AB9075 /* Car.cpp in Sources */,
+				0BD7FA321295CF7F00AB9075 /* PixelCityView.m in Sources */,
+				0BD7FA331295CF7F00AB9075 /* Entity.cpp in Sources */,
+				0BD7FA351295CF7F00AB9075 /* Light.cpp in Sources */,
+				0BD7FA371295CF7F00AB9075 /* Mesh.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				089C167EFE841241C02AAC07 /* English */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		0BD7FC7A1295DCA100AB9075 /* MainMenu.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				0BD7FC7B1295DCA100AB9075 /* English */,
+			);
+			name = MainMenu.xib;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		EF7AD72E08BB986600CE4634 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)\"",
+				);
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_MODEL_TUNING = G5;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "PixelCity-Saver_Prefix.pch";
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Library/Screen Savers";
+				PRODUCT_NAME = "PixelCity-Saver";
+				WRAPPER_EXTENSION = saver;
+				ZERO_LINK = YES;
+			};
+			name = Debug;
+		};
+		EF7AD72F08BB986600CE4634 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)\"",
+				);
+				GCC_MODEL_TUNING = G5;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "PixelCity-Saver_Prefix.pch";
+				INFOPLIST_FILE = "Info-Saver.plist";
+				INSTALL_PATH = "$(HOME)/Library/Screen Savers";
+				PRODUCT_NAME = "PixelCity-Saver";
+				WRAPPER_EXTENSION = saver;
+			};
+			name = Release;
+		};
+		EF7AD73208BB986600CE4634 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_GC = supported;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				ONLY_ACTIVE_ARCH = NO;
+				PREBINDING = NO;
+				SDKROOT = macosx10.6;
+			};
+			name = Debug;
+		};
+		EF7AD73308BB986600CE4634 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_GC = supported;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PREBINDING = NO;
+				SDKROOT = macosx10.6;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		EF7AD72D08BB986600CE4634 /* Build configuration list for PBXNativeTarget "PixelCity-Saver" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				EF7AD72E08BB986600CE4634 /* Debug */,
+				EF7AD72F08BB986600CE4634 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		EF7AD73108BB986600CE4634 /* Build configuration list for PBXProject "PixelCity-Saver" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				EF7AD73208BB986600CE4634 /* Debug */,
+				EF7AD73308BB986600CE4634 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}

File PixelCity-Saver_Prefix.pch

+//
+// Prefix header for all source files of the 'PixelCity-Saver' target in the 'PixelCity-Saver' project.
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+    #import <AppKit/AppKit.h>
+#endif

File PixelCity.xcodeproj/project.pbxproj

 			isa = PBXProject;
 			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "PixelCity" */;
 			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
 			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+			);
 			mainGroup = 29B97314FDCFA39411CA2CEA /* PixelCity */;
 			projectDirPath = "";
 			projectRoot = "";

File PixelCityView.h

 #import <Cocoa/Cocoa.h>
 
 @interface PixelCityView : NSOpenGLView {
+  Boolean fGLInit;
+  NSTimer * timer;
+}
 
-	Boolean fGLInit;
-  NSTimer * timer;
-
-}
++ (NSOpenGLPixelFormat*) basicPixelFormat;
 
 @end
 

File PixelCityView.m

     return [[[NSOpenGLPixelFormat alloc] initWithAttributes:attributes] autorelease];
 }
 
+- (void)setFrameSize:(NSSize)newSize
+{
+    [super setFrameSize:newSize];
+    RenderResize();
+}
+
+
 - (void) drawRect:(NSRect)rect
 {
   if (NO == fGLInit) {
     
 }
 
-- (void)animationTimer:(NSTimer *)timer
+- (BOOL)isOpaque
 {
-  [self setNeedsDisplay:YES];
-}
-
-- (void) awakeFromNib {
-  glView = self;
-  
-  // start animation timer
-  timer = [NSTimer timerWithTimeInterval:(1.0f/60.0f) target:self selector:@selector(animationTimer:) userInfo:nil repeats:YES];
-  [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
+    return NO;
 }
 
 @end

File PixelCity_SaverView.h

+//
+//  PixelCity_SaverView.h
+//  PixelCity-Saver
+//
+//  Created by Blake Winton on 10-11-18.
+//  Copyright (c) 2010, Shamus Young. All rights reserved.
+//
+
+#import <ScreenSaver/ScreenSaver.h>
+#import "PixelCityView.h"
+
+
+@interface PixelCity_SaverView : ScreenSaverView
+{
+}
+
+@end

File PixelCity_SaverView.m

+//
+//  PixelCity_SaverView.m
+//  PixelCity-Saver
+//
+//  Created by Blake Winton on 10-11-18.
+//  Copyright (c) 2010, Shamus Young. All rights reserved.
+//
+
+#import "PixelCity_SaverView.h"
+
+@implementation PixelCity_SaverView
+
+- (id)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview
+{
+    self = [super initWithFrame:frame isPreview:isPreview];
+    if (self) {
+        glView = [[PixelCityView alloc] initWithFrame:NSZeroRect pixelFormat:[PixelCityView basicPixelFormat]];
+        if (!glView)
+        {
+            [self autorelease];
+            return nil;
+        }
+
+        [self addSubview:glView];
+        [[glView openGLContext] makeCurrentContext];
+
+        [self setAnimationTimeInterval:1/30.0];
+    }
+    return self;
+}
+
+- (void)setFrameSize:(NSSize)newSize
+{
+    [super setFrameSize:newSize];
+    [glView setFrameSize:newSize];
+}
+
+
+- (void)dealloc
+{
+    [glView removeFromSuperview];
+    [glView release];
+    [super dealloc];
+}
+
+- (void)startAnimation
+{
+    [super startAnimation];
+}
+
+- (void)stopAnimation
+{
+    [super stopAnimation];
+}
+
+- (void)drawRect:(NSRect)rect
+{
+    //[super drawRect:rect];
+    [glView drawRect:rect];
+}
+
+- (void)animateOneFrame
+{
+    // Redraw
+    [self setNeedsDisplay:YES];
+    return;
+}
+
+- (BOOL)hasConfigureSheet
+{
+    return NO;
+}
+
+- (NSWindow*)configureSheet
+{
+    return nil;
+}
+
+@end
   vsprintf(text, fmt, ap);				
   va_end(ap);		
   glPushAttrib(GL_LIST_BIT);				
-  glListBase(fonts[font % FONT_COUNT].base_char - 32);				
+  glListBase(fonts[font % FONT_COUNT].base_char - 32);
   glColor3fv (&color.red);
 	glRasterPos2i (x, y);
   glCallLists(strlen(text), GL_UNSIGNED_BYTE, text);