diff --git a/OpenRCT2.xcodeproj/project.pbxproj b/OpenRCT2.xcodeproj/project.pbxproj index 46840c06ed..08d2577fa5 100644 --- a/OpenRCT2.xcodeproj/project.pbxproj +++ b/OpenRCT2.xcodeproj/project.pbxproj @@ -141,7 +141,6 @@ D442720A1CC81B3200D84D28 /* drawing_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271031CC81B3200D84D28 /* drawing_fast.cpp */; }; D442720B1CC81B3200D84D28 /* font.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271041CC81B3200D84D28 /* font.c */; }; D442720C1CC81B3200D84D28 /* line.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271061CC81B3200D84D28 /* line.c */; }; - D442720D1CC81B3200D84D28 /* rain.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271071CC81B3200D84D28 /* rain.c */; }; D442720E1CC81B3200D84D28 /* rect.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271081CC81B3200D84D28 /* rect.c */; }; D442720F1CC81B3200D84D28 /* scrolling_text.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271091CC81B3200D84D28 /* scrolling_text.c */; }; D44272101CC81B3200D84D28 /* sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D442710A1CC81B3200D84D28 /* sprite.c */; }; @@ -310,6 +309,11 @@ D45A395F1CF300AF00659A24 /* libspeexdsp.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D45A38B91CF3006400659A24 /* libspeexdsp.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; D47304D51C4FF8250015C0EA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D47304D41C4FF8250015C0EA /* libz.tbd */; }; D48A8D831D00272F00649DA7 /* TcpSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D48A8D811D00272F00649DA7 /* TcpSocket.cpp */; }; + D49766821D03B9FE002222CD /* OpenGLDrawingEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D49766801D03B9FE002222CD /* OpenGLDrawingEngine.cpp */; }; + D49766831D03B9FE002222CD /* SoftwareDrawingEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D49766811D03B9FE002222CD /* SoftwareDrawingEngine.cpp */; }; + D49766861D03BAA5002222CD /* NewDrawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D49766841D03BAA5002222CD /* NewDrawing.cpp */; }; + D49766891D03BABB002222CD /* rain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D49766871D03BABB002222CD /* rain.cpp */; }; + D497668D1D03BADC002222CD /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D497668C1D03BADC002222CD /* OpenGL.framework */; }; D4EC48E61C2637710024B507 /* g2.dat in Resources */ = {isa = PBXBuildFile; fileRef = D4EC48E31C2637710024B507 /* g2.dat */; }; D4EC48E71C2637710024B507 /* language in Resources */ = {isa = PBXBuildFile; fileRef = D4EC48E41C2637710024B507 /* language */; }; D4EC48E81C2637710024B507 /* title in Resources */ = {isa = PBXBuildFile; fileRef = D4EC48E51C2637710024B507 /* title */; }; @@ -518,7 +522,6 @@ D44271041CC81B3200D84D28 /* font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = font.c; sourceTree = ""; }; D44271051CC81B3200D84D28 /* font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = font.h; sourceTree = ""; }; D44271061CC81B3200D84D28 /* line.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = line.c; sourceTree = ""; }; - D44271071CC81B3200D84D28 /* rain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rain.c; sourceTree = ""; }; D44271081CC81B3200D84D28 /* rect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rect.c; sourceTree = ""; }; D44271091CC81B3200D84D28 /* scrolling_text.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scrolling_text.c; sourceTree = ""; }; D442710A1CC81B3200D84D28 /* sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprite.c; sourceTree = ""; }; @@ -901,6 +904,15 @@ D4895D321C23EFDD000CD788 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = distribution/osx/Info.plist; sourceTree = SOURCE_ROOT; }; D48A8D811D00272F00649DA7 /* TcpSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TcpSocket.cpp; sourceTree = ""; }; D48A8D821D00272F00649DA7 /* TcpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TcpSocket.h; sourceTree = ""; }; + D49766801D03B9FE002222CD /* OpenGLDrawingEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenGLDrawingEngine.cpp; sourceTree = ""; }; + D49766811D03B9FE002222CD /* SoftwareDrawingEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoftwareDrawingEngine.cpp; sourceTree = ""; }; + D49766841D03BAA5002222CD /* NewDrawing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NewDrawing.cpp; sourceTree = ""; }; + D49766851D03BAA5002222CD /* NewDrawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NewDrawing.h; sourceTree = ""; }; + D49766871D03BABB002222CD /* rain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rain.cpp; sourceTree = ""; }; + D49766881D03BABB002222CD /* Rain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rain.h; sourceTree = ""; }; + D497668A1D03BAC8002222CD /* IDrawingContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDrawingContext.h; sourceTree = ""; }; + D497668B1D03BAC8002222CD /* IDrawingEngine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDrawingEngine.h; sourceTree = ""; }; + D497668C1D03BADC002222CD /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; D497D0781C20FD52002BF46A /* OpenRCT2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenRCT2.app; sourceTree = BUILT_PRODUCTS_DIR; }; D4EC48E31C2637710024B507 /* g2.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = g2.dat; path = data/g2.dat; sourceTree = SOURCE_ROOT; }; D4EC48E41C2637710024B507 /* language */ = {isa = PBXFileReference; lastKnownFileType = folder; name = language; path = data/language; sourceTree = SOURCE_ROOT; }; @@ -912,6 +924,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D497668D1D03BADC002222CD /* OpenGL.framework in Frameworks */, D47304D51C4FF8250015C0EA /* libz.tbd in Frameworks */, D41B73EF1C2101890080A7B9 /* libcurl.tbd in Frameworks */, D41B741D1C210A7A0080A7B9 /* libiconv.tbd in Frameworks */, @@ -1252,13 +1265,19 @@ D44271001CC81B3200D84D28 /* drawing */ = { isa = PBXGroup; children = ( + D44271031CC81B3200D84D28 /* drawing_fast.cpp */, D44271011CC81B3200D84D28 /* drawing.c */, D44271021CC81B3200D84D28 /* drawing.h */, - D44271031CC81B3200D84D28 /* drawing_fast.cpp */, + D497667F1D03B9FE002222CD /* engines */, D44271041CC81B3200D84D28 /* font.c */, D44271051CC81B3200D84D28 /* font.h */, + D497668A1D03BAC8002222CD /* IDrawingContext.h */, + D497668B1D03BAC8002222CD /* IDrawingEngine.h */, D44271061CC81B3200D84D28 /* line.c */, - D44271071CC81B3200D84D28 /* rain.c */, + D49766841D03BAA5002222CD /* NewDrawing.cpp */, + D49766851D03BAA5002222CD /* NewDrawing.h */, + D49766871D03BABB002222CD /* rain.cpp */, + D49766881D03BABB002222CD /* Rain.h */, D44271081CC81B3200D84D28 /* rect.c */, D44271091CC81B3200D84D28 /* scrolling_text.c */, D442710A1CC81B3200D84D28 /* sprite.c */, @@ -1739,6 +1758,15 @@ path = speex; sourceTree = ""; }; + D497667F1D03B9FE002222CD /* engines */ = { + isa = PBXGroup; + children = ( + D49766801D03B9FE002222CD /* OpenGLDrawingEngine.cpp */, + D49766811D03B9FE002222CD /* SoftwareDrawingEngine.cpp */, + ); + path = engines; + sourceTree = ""; + }; D497D06F1C20FD52002BF46A = { isa = PBXGroup; children = ( @@ -1814,6 +1842,7 @@ D41B73EE1C2101890080A7B9 /* libcurl.tbd */, D41B741C1C210A7A0080A7B9 /* libiconv.tbd */, D47304D41C4FF8250015C0EA /* libz.tbd */, + D497668C1D03BADC002222CD /* OpenGL.framework */, ); name = system; sourceTree = ""; @@ -1987,6 +2016,7 @@ D44272A41CC81B3200D84D28 /* park.c in Sources */, C686F9391CDBC3B7009F9BFC /* space_rings.c in Sources */, C686F9371CDBC3B7009F9BFC /* monorail_cycles.c in Sources */, + D49766891D03BABB002222CD /* rain.cpp in Sources */, D44272441CC81B3200D84D28 /* cable_lift.c in Sources */, D442729C1CC81B3200D84D28 /* duck.c in Sources */, C686F91D1CDBC3B7009F9BFC /* multi_dimension_roller_coaster.c in Sources */, @@ -2076,6 +2106,7 @@ D44272971CC81B3200D84D28 /* viewport.c in Sources */, C686F90F1CDBC3B7009F9BFC /* flying_roller_coaster.c in Sources */, D44272661CC81B3200D84D28 /* install_track.c in Sources */, + D49766831D03B9FE002222CD /* SoftwareDrawingEngine.cpp in Sources */, C686F9331CDBC3B7009F9BFC /* maze.c in Sources */, C686F9241CDBC3B7009F9BFC /* suspended_swinging_coaster.c in Sources */, C686F92D1CDBC3B7009F9BFC /* crooked_house.c in Sources */, @@ -2151,7 +2182,6 @@ 007A05D21CFB2C8B00F419C3 /* NetworkPlayer.cpp in Sources */, D442725B1CC81B3200D84D28 /* editor_inventions_list.c in Sources */, D44272311CC81B3200D84D28 /* news_item.c in Sources */, - D442720D1CC81B3200D84D28 /* rain.c in Sources */, D44272011CC81B3200D84D28 /* Guard.cpp in Sources */, D44272951CC81B3200D84D28 /* track_manage.c in Sources */, D44272851CC81B3200D84D28 /* staff.c in Sources */, @@ -2175,6 +2205,7 @@ D44272031CC81B3200D84D28 /* Path.cpp in Sources */, C686F9301CDBC3B7009F9BFC /* flying_saucers.c in Sources */, D44272401CC81B3200D84D28 /* windows.c in Sources */, + D49766821D03B9FE002222CD /* OpenGLDrawingEngine.cpp in Sources */, D44272881CC81B3200D84D28 /* text_input.c in Sources */, D442720F1CC81B3200D84D28 /* scrolling_text.c in Sources */, D44271F51CC81B3200D84D28 /* addresses.c in Sources */, @@ -2222,6 +2253,7 @@ D442727A1CC81B3200D84D28 /* research.c in Sources */, D442722E1CC81B3200D84D28 /* award.c in Sources */, D44272861CC81B3200D84D28 /* staff_fire_prompt.c in Sources */, + D49766861D03BAA5002222CD /* NewDrawing.cpp in Sources */, C6B5A7D51CDFE4CB00C9C006 /* S6Importer.cpp in Sources */, D44272221CC81B3200D84D28 /* widget.c in Sources */, D44271F71CC81B3200D84D28 /* mixer.cpp in Sources */, diff --git a/src/drawing/engines/OpenGLDrawingEngine.cpp b/src/drawing/engines/OpenGLDrawingEngine.cpp index 508e97f633..7346256b0c 100644 --- a/src/drawing/engines/OpenGLDrawingEngine.cpp +++ b/src/drawing/engines/OpenGLDrawingEngine.cpp @@ -23,7 +23,7 @@ #pragma comment(lib, "opengl32.lib") #endif -#include +#include #include "../../core/Math.hpp" #include "../../core/Memory.hpp" @@ -507,7 +507,7 @@ GLuint OpenGLDrawingContext::LoadImageTexture(uint32 image) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels32); - delete pixels32; + delete (uint8 *) pixels32; return texture; } @@ -558,7 +558,7 @@ void * OpenGLDrawingContext::GetImageAsARGB(uint32 image, uint32 tertiaryColour, } } - delete pixels8; + delete[] pixels8; *outWidth = width; *outHeight = height; diff --git a/src/drawing/rain.cpp b/src/drawing/rain.cpp index 989bacce96..23afdc0b23 100644 --- a/src/drawing/rain.cpp +++ b/src/drawing/rain.cpp @@ -24,6 +24,7 @@ extern "C" #include "IDrawingEngine.h" #include "Rain.h" +#include "../core/Math.hpp" typedef void (* DrawRainFunc)(IRainDrawer * rainDrawer, sint32 left, sint32 top, sint32 width, sint32 height); @@ -59,10 +60,10 @@ static void CallDrawRainFunc(IRainDrawer * rainDrawer, return; } - left = max(left, vp->x); - right = min(right, vp->width); - top = max(top, vp->y); - bottom = min(bottom, vp->height); + left = Math::Max(left, vp->x); + right = Math::Min(right, vp->width); + top = Math::Max(top, vp->y); + bottom = Math::Min(bottom, vp->height); if (left >= right || top >= bottom) { return;