]> git.lizzy.rs Git - irrlicht.git/commitdiff
Merging r6128 through r6139 from trunk to ogl-es branch.
authorcutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>
Tue, 29 Sep 2020 20:22:28 +0000 (20:22 +0000)
committercutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>
Tue, 29 Sep 2020 20:22:28 +0000 (20:22 +0000)
Note: I could not merge 2 OSX project files as I'm not sure how to correctly resolve their conflicts.
Maybe old version for those files are still OK, as ogl-es branch got updated once before (leaving trunk behind).
In case it causes problems I hope someone can send another patch for those 2 files:
source/Irrlicht/Irrlicht.xcodeproj/xcshareddata/xcschemes
source/Irrlicht/Irrlicht.xcodeproj/project.pbxproj

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6140 dfc29bdd-3216-0410-991c-e03cc46cb475

15 files changed:
changes.txt
examples/Demo/CDemo.cpp
include/IGUIStaticText.h
include/IVideoDriver.h
include/irrMath.h
source/Irrlicht/CBlit.h
source/Irrlicht/CIrrDeviceOSX.mm
source/Irrlicht/CIrrDeviceWin32.cpp
source/Irrlicht/COpenGLExtensionHandler.h
source/Irrlicht/CPLYMeshFileLoader.cpp
source/Irrlicht/CSoftwareDriver2.cpp
source/Irrlicht/CSoftwareTexture2.cpp
source/Irrlicht/CTRTextureWire2.cpp
source/Irrlicht/SoftwareDriver2_helper.h
tools/GUIEditor/GUI Editor_vc14.vcxproj

index 174236aabbc4531f93954502e90dd5ac14baee4f..74833877b0db21bb7f486b1aadacb2ea37524d41 100644 (file)
@@ -9,6 +9,10 @@ Changes in ogl-es (not yet released - will be merged with trunk at some point)
 \r
 --------------------------\r
 Changes in 1.9 (not yet released)\r
+- No longer try to set WM_QUIT when using an external Window on Win32. \r
+  Thx @Marko Mahnic for the patch (https://sourceforge.net/p/irrlicht/bugs/449)\r
+- ply meshloader now also supports textures with uv-labels named texture_u/texture_v. \r
+  Thx @acy for bugreport and test-model (http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=52646)\r
 - Fix potential reading/writing 1 byte behind it's own buffer in PLY loader.\r
   Thanks @wolfgang for report and patch (http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=52627&p=305573#p305573)\r
 - ICursorControl::isVisible is now always returning the flag set in setVisible. \r
index 6c073ab314f72afb3dfbdb8048801a7b0de37e97..b50b6d35a16a3cca04302e5b872f11cf1af77c97 100644 (file)
@@ -424,12 +424,13 @@ void CDemo::loadSceneData()
                        model1->setPosition(core::vector3df(100,40,-80));\r
                        model1->setScale(core::vector3df(2,2,2));\r
                        model1->setMD2Animation(scene::EMAT_STAND);\r
-                       model1->setMaterialFlag(video::EMF_LIGHTING, false);\r
+                       model1->setMaterialFlag(video::EMF_LIGHTING, true);\r
+                       model1->getMaterial(0).Shininess = 40.f;\r
                        model1->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);\r
                        model1->setMaterialType(video::EMT_SPHERE_MAP);\r
                        model1->setAutomaticCulling(scene::EAC_OFF); // avoid shadows not updating\r
                        scene::IShadowVolumeSceneNode * shadVol = model1->addShadowVolumeSceneNode();\r
-                       shadVol->setOptimization(scene::ESV_NONE);      // Sydney has broken shadows otherwise\r
+                       if(shadVol) shadVol->setOptimization(scene::ESV_NONE);  // Sydney has broken shadows otherwise\r
                }\r
 \r
                model2 = sm->addAnimatedMeshSceneNode(mesh);\r
@@ -443,7 +444,7 @@ void CDemo::loadSceneData()
                        model2->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);\r
                        model2->setAutomaticCulling(scene::EAC_OFF); // avoid shadows not updating\r
                        scene::IShadowVolumeSceneNode * shadVol = model2->addShadowVolumeSceneNode();\r
-                       shadVol->setOptimization(scene::ESV_NONE);      // Sydney has broken shadows otherwise\r
+                       if (shadVol) shadVol->setOptimization(scene::ESV_NONE); // Sydney has broken shadows otherwise\r
                }\r
        }\r
 \r
index b55bd95dd718ef5c4a64d8e2a106e904154e0713..beb8f59717b9398174aa2cab3aadc5a53bef0378 100644 (file)
@@ -85,8 +85,8 @@ namespace gui
                //! Sets text justification mode\r
                /** \param horizontal: EGUIA_UPPERLEFT for left justified (default),\r
                EGUIA_LOWEERRIGHT for right justified, or EGUIA_CENTER for centered text.\r
-               \param vertical: EGUIA_UPPERLEFT to align with top edge,\r
-               EGUIA_LOWEERRIGHT for bottom edge, or EGUIA_CENTER for centered text (default). */\r
+               \param vertical: EGUIA_UPPERLEFT to align with top edge (default),\r
+               EGUIA_LOWEERRIGHT for bottom edge, or EGUIA_CENTER for centered text. */\r
                virtual void setTextAlignment(EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical) = 0;\r
 \r
                //! Enables or disables word wrap for using the static text as multiline text control.\r
index a8031afc261c5189cb3381c90bfa93811d1f7013..4b0c277e6234da08b8a8bdaafea1188082e1cc3c 100644 (file)
@@ -382,7 +382,9 @@ namespace video
                \param format The color format of the render target. Floating point formats are supported.\r
                \return Pointer to the created texture or 0 if the texture\r
                could not be created. This pointer should not be dropped. See\r
-               IReferenceCounted::drop() for more information. */\r
+               IReferenceCounted::drop() for more information.\r
+               You may want to remove it from driver texture cache with removeTexture if you no longer need it.\r
+               */\r
                virtual ITexture* addRenderTargetTexture(const core::dimension2d<u32>& size,\r
                                const io::path& name = "rt", const ECOLOR_FORMAT format = ECF_UNKNOWN) =0;\r
 \r
@@ -1476,7 +1478,7 @@ namespace video
                other flags can be changed, though some might have to effect\r
                in most cases.\r
                Please note that you have to enable/disable this effect with\r
-               enableInitMaterial2D(). This effect is costly, as it increases\r
+               enableMaterial2D(). This effect is costly, as it increases\r
                the number of state changes considerably. Always reset the\r
                values when done.\r
                \return Material reference which should be altered to reflect\r
index b97e270b9f13971c2238fab3a9e8cadd5b098dbb..94eda1747c4781a1299b89234e8cfa06dc92c9b1 100644 (file)
@@ -243,7 +243,7 @@ namespace core
 \r
        //! returns if a equals b, taking possible rounding errors into account\r
        template <class T>\r
-       inline bool equals(const T a, const T b, const T tolerance = roundingError<T>()) \r
+       inline bool equals(const T a, const T b, const T tolerance = roundingError<T>())\r
        {\r
                return (a + tolerance >= b) && (a - tolerance <= b);\r
        }\r
@@ -633,7 +633,7 @@ namespace core
                return rec;\r
 */\r
 /*\r
-               register u32 x = 0x7F000000 - IR ( p );\r
+               u32 x = 0x7F000000 - IR ( p );\r
                const f32 r = FR ( x );\r
                return r * (2.0f - p * r);\r
 */\r
index b7788289da512ce09b69bedabc141587f0fb8024..c2fcf77592b3eff7c96dba4457fc63f0ad81c513 100644 (file)
@@ -878,7 +878,7 @@ static void executeBlit_TextureBlendColor_16_to_16( const SBlitJob * job )
                f18 src_x = f18_zero;\r
                for (u32 dx = 0; dx < job->width; ++dx, src_x += wscale)\r
                {\r
-                       register u16 c0 = src[f18_floor(src_x)];\r
+                       u16 c0 = src[f18_floor(src_x)];\r
                        if (0 == (c0 & 0x8000))\r
                                continue;\r
 \r
index 1e956c600e37ff3d113504ec29bb212b81eeeb35..c709adb57a899aa3449183a682b885611567d485 100644 (file)
@@ -862,10 +862,16 @@ void CIrrDeviceMacOSX::createDriver()
                     os::Printer::log("Could not create OpenGL driver.", ELL_ERROR);
                 }
                 
-                if (Window)
-                    [(NSOpenGLContext*)ContextManager->getContext().OpenGLOSX.Context setView:[Window contentView]];
-                else
-                    [(NSOpenGLContext*)ContextManager->getContext().OpenGLOSX.Context setView:(NSView*)CreationParams.WindowId];
+                               if (Window) 
+                               {
+                                       [[Window contentView] setWantsBestResolutionOpenGLSurface:NO];
+                                       [(NSOpenGLContext*)ContextManager->getContext().OpenGLOSX.Context setView:[Window contentView]];
+                               }
+                               else 
+                               {
+                                       [(NSView*)CreationParams.WindowId setWantsBestResolutionOpenGLSurface:NO];
+                                       [(NSOpenGLContext*)ContextManager->getContext().OpenGLOSX.Context setView:(NSView*)CreationParams.WindowId];
+                               }
 
 #ifndef __MAC_10_6
                 CGLContextObj CGLContext = (CGLContextObj)[(NSOpenGLContext*)ContextManager->getContext().OpenGLOSX.Context CGLContextObj];
index 270be36854d853dffd56ee78c197797b2baaee99..f53a76db737c6644292d274c562b94ced23d498f 100644 (file)
@@ -1400,12 +1400,12 @@ bool CIrrDeviceWin32::present(video::IImage* image, void* windowId, core::rect<s
 //! notifies the device that it should close itself\r
 void CIrrDeviceWin32::closeDevice()\r
 {\r
-       MSG msg;\r
-       PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);\r
-       PostQuitMessage(0);\r
-       PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);\r
        if (!ExternalWindow)\r
        {\r
+               MSG msg;\r
+               PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);\r
+               PostQuitMessage(0);\r
+               PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);\r
                DestroyWindow(HWnd);\r
                const fschar_t* ClassName = __TEXT("CIrrDeviceWin32");\r
                HINSTANCE hInstance = GetModuleHandle(0);\r
index ac6585c5afad6032835af0ef0d97e0e897a43a21..d9310632b21109d1b1de172b3634219ccf7d7510 100644 (file)
@@ -2910,9 +2910,15 @@ inline void COpenGLExtensionHandler::extGlTextureSubImage2D(GLuint texture, GLen
             case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_1\r
             case GL_TEXTURE_RECTANGLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_rectangle)\r
+                       case GL_TEXTURE_RECTANGLE_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE_ARB, &bound);\r
+                break;\r
+#endif\r
             default:\r
                 return;\r
         }\r
@@ -2967,9 +2973,15 @@ inline void COpenGLExtensionHandler::extGlTextureStorage2D(GLuint texture, GLenu
             case GL_TEXTURE_CUBE_MAP:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_1\r
             case GL_TEXTURE_RECTANGLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_rectangle)\r
+                       case GL_TEXTURE_RECTANGLE_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE_ARB, &bound);\r
+                break;\r
+#endif\r
             default:\r
                 return;\r
         }\r
@@ -3206,8 +3218,6 @@ inline void COpenGLExtensionHandler::extGlBindTextures(GLuint first, GLsizei cou
                                         ,GL_TEXTURE_RECTANGLE\r
 #elif defined(GL_ARB_texture_rectangle)\r
                                                                                ,GL_TEXTURE_RECTANGLE_ARB\r
-#elif defined(GL_NV_texture_rectangle)\r
-                                                                               ,GL_TEXTURE_RECTANGLE_NV\r
 #endif\r
                                         ,GL_TEXTURE_CUBE_MAP\r
 #ifdef GL_VERSION_3_0\r
@@ -3355,9 +3365,15 @@ inline void COpenGLExtensionHandler::extGlGenerateTextureMipmap(GLuint texture,
                                glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB, &bound);\r
                                break;\r
 #endif\r
+#ifdef GL_VERSION_3_1\r
             case GL_TEXTURE_RECTANGLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_rectangle)\r
+                       case GL_TEXTURE_RECTANGLE_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE_ARB, &bound);\r
+                break;\r
+#endif\r
             default:\r
                 os::Printer::log("DevSH would like to ask you what are you doing!!??\n",ELL_ERROR);\r
                 return;\r
index 94cbaceba98db829431fb964d87185fc0816f5b8..f963ab946326264efb14690ba12812dab39a9ce7 100644 (file)
@@ -302,49 +302,51 @@ bool CPLYMeshFileLoader::readVertex(const SPLYElement &Element, scene::CDynamicM
        for (u32 i=0; i < Element.Properties.size(); ++i)\r
        {\r
                E_PLY_PROPERTY_TYPE t = Element.Properties[i].Type;\r
+               const core::stringc& name = Element.Properties[i].Name;\r
 \r
-               if (Element.Properties[i].Name == "x")\r
+               if (name == "x")\r
                        vert.Pos.X = getFloat(t);\r
-               else if (Element.Properties[i].Name == "y")\r
+               else if (name == "y")\r
                        vert.Pos.Z = getFloat(t);\r
-               else if (Element.Properties[i].Name == "z")\r
+               else if (name == "z")\r
                        vert.Pos.Y = getFloat(t);\r
-               else if (Element.Properties[i].Name == "nx")\r
+               else if (name == "nx")\r
                {\r
                        vert.Normal.X = getFloat(t);\r
                        result=true;\r
                }\r
-               else if (Element.Properties[i].Name == "ny")\r
+               else if (name == "ny")\r
                {\r
                        vert.Normal.Z = getFloat(t);\r
                        result=true;\r
                }\r
-               else if (Element.Properties[i].Name == "nz")\r
+               else if (name == "nz")\r
                {\r
                        vert.Normal.Y = getFloat(t);\r
                        result=true;\r
                }\r
-                // there isn't a single convention for the UV, some software like Blender or Assimp uses "st" instead of "uv"\r
-               else if (Element.Properties[i].Name == "u" || Element.Properties[i].Name == "s")\r
+                // There isn't a single convention for the UV, some software like Blender or Assimp uses "st" instead of "uv"\r
+                // Not sure which tool creates texture_u/texture_v, but those exist as well.\r
+               else if (name == "u" || name == "s" || name == "texture_u")\r
                        vert.TCoords.X = getFloat(t);\r
-               else if (Element.Properties[i].Name == "v" || Element.Properties[i].Name == "t")\r
+               else if (name == "v" || name == "t" || name == "texture_v")\r
                        vert.TCoords.Y = getFloat(t);\r
-               else if (Element.Properties[i].Name == "red")\r
+               else if (name == "red")\r
                {\r
                        u32 value = Element.Properties[i].isFloat() ? (u32)(getFloat(t)*255.0f) : getInt(t);\r
                        vert.Color.setRed(value);\r
                }\r
-               else if (Element.Properties[i].Name == "green")\r
+               else if (name == "green")\r
                {\r
                        u32 value = Element.Properties[i].isFloat() ? (u32)(getFloat(t)*255.0f) : getInt(t);\r
                        vert.Color.setGreen(value);\r
                }\r
-               else if (Element.Properties[i].Name == "blue")\r
+               else if (name == "blue")\r
                {\r
                        u32 value = Element.Properties[i].isFloat() ? (u32)(getFloat(t)*255.0f) : getInt(t);\r
                        vert.Color.setBlue(value);\r
                }\r
-               else if (Element.Properties[i].Name == "alpha")\r
+               else if (name == "alpha")\r
                {\r
                        u32 value = Element.Properties[i].isFloat() ? (u32)(getFloat(t)*255.0f) : getInt(t);\r
                        vert.Color.setAlpha(value);\r
@@ -366,14 +368,15 @@ bool CPLYMeshFileLoader::readFace(const SPLYElement &Element, scene::CDynamicMes
 \r
        for (u32 i=0; i < Element.Properties.size(); ++i)\r
        {\r
-               if ( (Element.Properties[i].Name == "vertex_indices" ||\r
-                       Element.Properties[i].Name == "vertex_index") && Element.Properties[i].Type == EPLYPT_LIST)\r
+               const SPLYProperty& property = Element.Properties[i];\r
+               if ( (property.Name == "vertex_indices" || property.Name == "vertex_index")\r
+                       && property.Type == EPLYPT_LIST)\r
                {\r
                        // get count\r
-                       s32 count = getInt(Element.Properties[i].Data.List.CountType);\r
-                       u32 a = getInt(Element.Properties[i].Data.List.ItemType),\r
-                               b = getInt(Element.Properties[i].Data.List.ItemType),\r
-                               c = getInt(Element.Properties[i].Data.List.ItemType);\r
+                       s32 count = getInt(property.Data.List.CountType);\r
+                       u32 a = getInt(property.Data.List.ItemType),\r
+                               b = getInt(property.Data.List.ItemType),\r
+                               c = getInt(property.Data.List.ItemType);\r
                        s32 j = 3;\r
 \r
                        mb->getIndexBuffer().push_back(a);\r
@@ -383,19 +386,19 @@ bool CPLYMeshFileLoader::readFace(const SPLYElement &Element, scene::CDynamicMes
                        for (; j < count; ++j)\r
                        {\r
                                b = c;\r
-                               c = getInt(Element.Properties[i].Data.List.ItemType);\r
+                               c = getInt(property.Data.List.ItemType);\r
                                mb->getIndexBuffer().push_back(a);\r
                                mb->getIndexBuffer().push_back(c);\r
                                mb->getIndexBuffer().push_back(b);\r
                        }\r
                }\r
-               else if (Element.Properties[i].Name == "intensity")\r
+               else if (property.Name == "intensity")\r
                {\r
                        // todo: face intensity\r
-                       skipProperty(Element.Properties[i]);\r
+                       skipProperty(property);\r
                }\r
                else\r
-                       skipProperty(Element.Properties[i]);\r
+                       skipProperty(property);\r
        }\r
        return true;\r
 }\r
index 89f0f7b531d369afad897c056bfa63fc7ffacc9a..5ab2fb98f90aa6892ef1d99e1e6c35f3db37fb09 100644 (file)
@@ -894,7 +894,7 @@ const sVec4 CBurningVideoDriver::NDCPlane[6+2] =
 \r
 REALINLINE size_t CBurningVideoDriver::clipToFrustumTest ( const s4DVertex* v  ) const\r
 {\r
-       register size_t flag;\r
+       size_t flag;\r
        f32 test[8];\r
        const f32 w = - v->Pos.w;\r
 \r
@@ -2238,8 +2238,8 @@ void CBurningVideoDriver::drawVertexPrimitiveList(const void* vertices, u32 vert
                //collect pointer to face vertices\r
                VertexCache_get(face);\r
 \r
-               register size_t clipMask_i;\r
-               register size_t clipMask_o;\r
+               size_t clipMask_i;\r
+               size_t clipMask_o;\r
 \r
                clipMask_i = face[0]->flag;\r
                clipMask_o = face[0]->flag;\r
index b17e462de20e6c7c7513b50494a5df2e7b40acdb..29febe1e0badfef11024c7ad443856e964d76645 100644 (file)
@@ -85,7 +85,7 @@ CSoftwareTexture2::CSoftwareTexture2(IImage* image, const io::path& name, u32 fl
                MipMap[0] = new CImage(BURNINGSHADER_COLOR_FORMAT, image->getDimension());\r
 #if defined(IRRLICHT_sRGB)\r
                MipMap[0]->set_sRGB( (Flags & TEXTURE_IS_LINEAR ) ? 0 : image->get_sRGB()  );\r
-#endif         \r
+#endif\r
                if (!isCompressed)\r
                        image->copyTo(MipMap[0]);\r
        }\r
@@ -241,14 +241,14 @@ void CSoftwareTexture2::regenerateMipMapLevels(void* data)
        for (i=1; i < 0 && i < SOFTWARE_DRIVER_2_MIPMAPPING_MAX; ++i)\r
        {\r
 /*\r
-               static u32 color[] = { \r
+               static u32 color[] = {\r
                        0x30bf7f00,0x3040bf00,0x30bf00bf,0x3000bf00,\r
                        0x300080bf,0x30bf4000,0x300040bf,0x307f00bf,\r
                        0x30bf0000,0x3000bfbf,0x304000bf,0x307fbf00,\r
                        0x8000bf7f,0x80bf0040,0x80bfbf00,0x800000bf\r
                };\r
 */\r
-               static u32 color[] = { \r
+               static u32 color[] = {\r
                        0xFFFFFFFF,0xFFFF0000,0xFF00FF00,0xFF0000FF,\r
                        0xFFFFFF00,0xFF00FFFF,0xFFFF00FF,0xFF0000FF,\r
                        0xFF0000FF,0xFF0000FF,0xFF0000FF,0xFF0000FF,\r
@@ -473,9 +473,9 @@ u32 linear_to_srgb_8bit(const float v)
 {\r
        ieee754 c;\r
        c.f = v;\r
-       const register size_t x = c.u;\r
+       const size_t x = c.u;\r
        const u32 *table = (u32*)srgb_8bit_to_linear_float;\r
-       register u32 y = 0;\r
+       u32 y = 0;\r
        y += table[y + 128] <= x ? 128 : 0;\r
        y += table[y + 64] <= x ? 64 : 0;\r
        y += table[y + 32] <= x ? 32 : 0;\r
index b77b788f41cbc8d08b90e21e560c70cc7c488789..61a422747897e639e050946b548ab47e5141f1a0 100644 (file)
@@ -158,7 +158,7 @@ void CTRTextureWire2::renderLine ( const s4DVertex *a,const s4DVertex *b, int re
        if ( dy > dx )\r
        {\r
                //swap\r
-               register s32 t;\r
+               s32 t;\r
                t = dx;dx=dy;dy=t;\r
                t = xInc0;xInc0=yInc0;yInc0=t;\r
 #ifdef USE_ZBUFFER\r
index a8979262d14f5ea2d6accaaca40cfcc0e0720787..433ea457ff12c00fbcfded28e309dbe44eea8a73 100644 (file)
@@ -182,7 +182,7 @@ static inline s32 s32_log2_s32(u32 in)
        }\r
        return ret;\r
        //return s32_log2_f32( (f32) x);\r
-       //ieee754 _log2;_log2.f = (f32) in; return _log2.fields.exp - 127; \r
+       //ieee754 _log2;_log2.f = (f32) in; return _log2.fields.exp - 127;\r
 }\r
 \r
 #if 0\r
@@ -599,11 +599,11 @@ REALINLINE tFixPoint imulFix_tex2(const tFixPoint x, const tFixPoint y)
 REALINLINE tFixPoint imulFix_tex4(const tFixPoint x, const tFixPoint y)\r
 {\r
 #ifdef SOFTWARE_DRIVER_2_32BIT\r
-       register tFixPoint a = (((tFixPointu)x >> 2)*(((tFixPointu)y + FIX_POINT_ONE) >> 2)) >> (tFixPointu)(FIX_POINT_PRE + 2);\r
+       tFixPoint a = (((tFixPointu)x >> 2)*(((tFixPointu)y + FIX_POINT_ONE) >> 2)) >> (tFixPointu)(FIX_POINT_PRE + 2);\r
 #else\r
-       register tFixPoint a = (x * (y + FIX_POINT_ONE)) >> (FIX_POINT_PRE + 3);\r
+       tFixPoint a = (x * (y + FIX_POINT_ONE)) >> (FIX_POINT_PRE + 3);\r
 #endif\r
-       register tFixPoint mask = (a - FIXPOINT_COLOR_MAX) >> 31;\r
+       tFixPoint mask = (a - FIXPOINT_COLOR_MAX) >> 31;\r
        return (a & mask) | (FIXPOINT_COLOR_MAX & ~mask);\r
 }\r
 \r
@@ -624,7 +624,7 @@ REALINLINE tFixPoint imulFix_tex4(const tFixPoint x, const tFixPoint y)
 */\r
 REALINLINE tFixPoint clampfix_maxcolor ( const tFixPoint a)\r
 {\r
-       register tFixPoint c = (a - FIXPOINT_COLOR_MAX) >> 31;\r
+       tFixPoint c = (a - FIXPOINT_COLOR_MAX) >> 31;\r
        return (a & c) | ( FIXPOINT_COLOR_MAX & ~c);\r
 }\r
 \r
@@ -828,7 +828,7 @@ struct sInternalTexture
 // get video sample plain\r
 static inline tVideoSample getTexel_plain ( const sInternalTexture* t, const tFixPointu tx, const tFixPointu ty )\r
 {\r
-       register size_t ofs;\r
+       size_t ofs;\r
 \r
        ofs = ( ( ty & t->textureYMask ) >> FIX_POINT_PRE ) << t->pitchlog2;\r
        ofs |= ( tx & t->textureXMask ) >> ( FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY );\r
@@ -842,13 +842,13 @@ inline void getTexel_fix ( tFixPoint &r, tFixPoint &g, tFixPoint &b,
                                                const sInternalTexture* t, const tFixPointu tx, const tFixPointu ty\r
                                                                )\r
 {\r
-       register size_t ofs;\r
+       size_t ofs;\r
 \r
        ofs = ( ((ty + FIX_POINT_ZERO_DOT_FIVE) & t->textureYMask ) >> FIX_POINT_PRE ) << t->pitchlog2;\r
        ofs |= ((tx + FIX_POINT_ZERO_DOT_FIVE) & t->textureXMask ) >> ( FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY );\r
 \r
        // texel\r
-       register tVideoSample t00;\r
+       tVideoSample t00;\r
        t00 = *((tVideoSample*)( (u8*) t->data + ofs ));\r
 \r
        r = (t00 & MASK_R) >> ( SHIFT_R - FIX_POINT_PRE);\r
@@ -862,13 +862,13 @@ inline void getTexel_fix(tFixPoint &a, tFixPoint &r, tFixPoint &g, tFixPoint &b,
        const sInternalTexture* t, const tFixPointu tx, const tFixPointu ty\r
 )\r
 {\r
-       register size_t ofs;\r
+       size_t ofs;\r
 \r
        ofs = (((ty+ FIX_POINT_ZERO_DOT_FIVE) & t->textureYMask) >> FIX_POINT_PRE) << t->pitchlog2;\r
        ofs |= ((tx+ FIX_POINT_ZERO_DOT_FIVE) & t->textureXMask) >> (FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
 \r
        // texel\r
-       register tVideoSample t00;\r
+       tVideoSample t00;\r
        t00 = *((tVideoSample*)((u8*)t->data + ofs));\r
 \r
        a = (t00 & MASK_A) >> (SHIFT_A - FIX_POINT_PRE);\r
@@ -910,7 +910,7 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
 #if 0\r
        if (t->lodFactor > 0)\r
        {\r
-               register size_t ofs;\r
+               size_t ofs;\r
 \r
                ofs = (((ty + FIX_POINT_ZERO_DOT_FIVE) & t->textureYMask) >> FIX_POINT_PRE) << t->pitchlog2;\r
                ofs += ((tx + FIX_POINT_ZERO_DOT_FIVE) & t->textureXMask) >> (FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
@@ -932,7 +932,7 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        tFixPointu r11, g11, b11;\r
 \r
        size_t o0, o1, o2, o3;\r
-       register tVideoSample t00;\r
+       tVideoSample t00;\r
 \r
        //wraps positive (ignoring negative)\r
        o0 = (((ty)& t->textureYMask) >> FIX_POINT_PRE) << t->pitchlog2;\r
@@ -961,8 +961,8 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        b11 = (t00 & MASK_B);\r
 \r
 \r
-       register tFixPointu fracx = tx & FIX_POINT_FRACT_MASK;\r
-       register tFixPointu fracy = ty & FIX_POINT_FRACT_MASK;\r
+       tFixPointu fracx = tx & FIX_POINT_FRACT_MASK;\r
+       tFixPointu fracy = ty & FIX_POINT_FRACT_MASK;\r
 \r
        //w00 w01 w10 w11\r
        tFixPointu w[4];\r
@@ -999,11 +999,11 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        if (tex->lodFactor > 1)\r
        {\r
                //nearest neighbor\r
-               register size_t ofs;\r
+               size_t ofs;\r
                ofs = (((ty + FIX_POINT_ZERO_DOT_FIVE) & tex->textureYMask) >> FIX_POINT_PRE) << tex->pitchlog2;\r
                ofs += ((tx + FIX_POINT_ZERO_DOT_FIVE) & tex->textureXMask) >> (FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
 \r
-               register tVideoSample t00;\r
+               tVideoSample t00;\r
                t00 = *((tVideoSample*)((u8*)tex->data + ofs));\r
 \r
                r = (t00 & MASK_R) >> (SHIFT_R - FIX_POINT_PRE);\r
@@ -1015,8 +1015,8 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        //w00 w01 w10 w11\r
        tFixPointu w[4];\r
        {\r
-               register tFixPointu fracx = tx & FIX_POINT_FRACT_MASK;\r
-               register tFixPointu fracy = ty & FIX_POINT_FRACT_MASK;\r
+               tFixPointu fracx = tx & FIX_POINT_FRACT_MASK;\r
+               tFixPointu fracy = ty & FIX_POINT_FRACT_MASK;\r
                w[0] = imulFixu(FIX_POINT_ONE - fracx, FIX_POINT_ONE - fracy);\r
                w[1] = imulFixu(fracx, FIX_POINT_ONE - fracy);\r
                w[2] = imulFixu(FIX_POINT_ONE - fracx, fracy);\r
@@ -1026,7 +1026,7 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        //wraps positive (ignoring negative)\r
        tVideoSample t[4];\r
        {\r
-               register size_t o0, o1, o2, o3;\r
+               size_t o0, o1, o2, o3;\r
                o0 = (((ty) & tex->textureYMask) >> FIX_POINT_PRE) << tex->pitchlog2;\r
                o1 = (((ty + FIX_POINT_ONE) & tex->textureYMask) >> FIX_POINT_PRE) << tex->pitchlog2;\r
                o2 = ((tx)& tex->textureXMask) >> (unsigned)(FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
@@ -1068,7 +1068,7 @@ static REALINLINE void getSample_texture(tFixPoint &a, tFixPoint &r, tFixPoint &
        tFixPointu a11, r11, g11, b11;\r
 \r
        size_t o0, o1, o2, o3;\r
-       register tVideoSample t00;\r
+       tVideoSample t00;\r
 \r
        o0 = (((ty)& tex->textureYMask) >> FIX_POINT_PRE) << tex->pitchlog2;\r
        o1 = (((ty + FIX_POINT_ONE) & tex->textureYMask) >> FIX_POINT_PRE) << tex->pitchlog2;\r
@@ -1142,7 +1142,7 @@ static REALINLINE void getSample_texture(tFixPoint &r, tFixPoint &g, tFixPoint &
        const sInternalTexture* burning_restrict t, const tFixPointu tx, const tFixPointu ty\r
 )\r
 {\r
-       register size_t ofs;\r
+       size_t ofs;\r
        ofs = (((ty + FIX_POINT_ZERO_DOT_FIVE) & t->textureYMask) >> FIX_POINT_PRE) << t->pitchlog2;\r
        ofs += ((tx + FIX_POINT_ZERO_DOT_FIVE) & t->textureXMask) >> (FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
 \r
@@ -1158,7 +1158,7 @@ static REALINLINE void getSample_texture(tFixPoint &a, tFixPoint &r, tFixPoint &
        const sInternalTexture* burning_restrict t, const tFixPointu tx, const tFixPointu ty\r
 )\r
 {\r
-       register size_t ofs;\r
+       size_t ofs;\r
        ofs = (((ty + FIX_POINT_ZERO_DOT_FIVE) & t->textureYMask) >> FIX_POINT_PRE) << t->pitchlog2;\r
        ofs += ((tx + FIX_POINT_ZERO_DOT_FIVE) & t->textureXMask) >> (FIX_POINT_PRE - VIDEO_SAMPLE_GRANULARITY);\r
 \r
index e84a01b47ce3486074a50b22582b2ecc4037604f..f9889efb8d1465d8acabd3e6147d07aee9310b82 100644 (file)
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
     </ClCompile>\r
     <Link>\r
-      <OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>\r
+      <OutputFile>../../bin/Win64-visualstudio/GUIEditor.exe</OutputFile>\r
       <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r