From 2b6628aa652ae58f0fddf618a2b6b0b716d0f069 Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Wed, 17 Feb 2021 01:02:44 +0300 Subject: Fix seg fault when configuring controller --- src/core/Frontend.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 861e67d1..0f66178b 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -1864,8 +1864,13 @@ CMenuManager::DrawControllerBound(int32 yStart, int32 xStart, int32 unused, int8 } // Print bindings, including seperator (-) between them + CFont::SetScale(MENU_X(0.25f), MENU_Y(LISTITEM_Y_SCALE)); +#ifdef FIX_BUGS + for (; contSetOrder < MAX_SETORDERS && controllerAction >= 0; contSetOrder++) { +#else for (; contSetOrder < MAX_SETORDERS && controllerAction != -1; contSetOrder++) { +#endif wchar *settingText = ControlsManager.GetControllerSettingTextWithOrderNumber((e_ControllerAction)controllerAction, (eContSetOrder)contSetOrder); if (settingText) { ++bindingsForThisOpt; -- cgit v1.2.3 From ed381180085096ea5e7c10fb6a72bd8ff651e86f Mon Sep 17 00:00:00 2001 From: aap Date: Wed, 17 Feb 2021 11:03:17 +0100 Subject: add hires particle.txd --- gamefiles/models/particle.txd | Bin 0 -> 8461864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 gamefiles/models/particle.txd diff --git a/gamefiles/models/particle.txd b/gamefiles/models/particle.txd new file mode 100644 index 00000000..4de9e4fd Binary files /dev/null and b/gamefiles/models/particle.txd differ -- cgit v1.2.3 From 0810abd294ebf0dc858ae57d21c7a030d49a5000 Mon Sep 17 00:00:00 2001 From: aap Date: Wed, 17 Feb 2021 13:14:26 +0100 Subject: update librw; get rid of glew --- premake5.lua | 24 ++++++------------------ vendor/librw | 2 +- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/premake5.lua b/premake5.lua index 319e689a..ea1045f5 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,10 +1,3 @@ -newoption { - trigger = "glewdir", - value = "PATH", - description = "Directory of GLEW", - default = "vendor/glew-2.1.0" -} - newoption { trigger = "glfwdir64", value = "PATH", @@ -158,7 +151,6 @@ workspace "reVC" filter "platforms:*librw_gl3_glfw*" defines { "RW_GL3" } - includedirs { path.join(_OPTIONS["glewdir"], "include") } if(not _OPTIONS["with-librw"]) then libdirs { path.join(Librw, "lib/%{getsys(cfg.system)}-%{getarch(cfg.architecture)}-gl3/%{cfg.buildcfg}") } end @@ -169,9 +161,6 @@ workspace "reVC" filter "platforms:*amd64-librw_gl3_glfw*" includedirs { path.join(_OPTIONS["glfwdir64"], "include") } - filter "platforms:win*librw_gl3_glfw*" - defines { "GLEW_STATIC" } - filter {} function setpaths (gamepath, exepath) @@ -196,6 +185,7 @@ project "librw" targetdir(path.join(Librw, "lib/%{cfg.platform}/%{cfg.buildcfg}")) files { path.join(Librw, "src/*.*") } files { path.join(Librw, "src/*/*.*") } + files { path.join(Librw, "src/gl/*/*.*") } filter { "platforms:*x86*" } architecture "x86" @@ -395,25 +385,23 @@ project "reVC" libdirs { "sdk/dx8sdk/lib" } filter "platforms:win-x86*gl3_glfw*" - libdirs { path.join(_OPTIONS["glewdir"], "lib/Release/Win32") } libdirs { path.join(_OPTIONS["glfwdir32"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) } - links { "opengl32", "glew32s", "glfw3" } + links { "opengl32", "glfw3" } filter "platforms:win-amd64*gl3_glfw*" - libdirs { path.join(_OPTIONS["glewdir"], "lib/Release/x64") } libdirs { path.join(_OPTIONS["glfwdir64"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) } - links { "opengl32", "glew32s", "glfw3" } + links { "opengl32", "glfw3" } filter "platforms:linux*gl3_glfw*" - links { "GL", "GLEW", "glfw" } + links { "GL", "glfw" } filter "platforms:bsd*gl3_glfw*" - links { "GL", "GLEW", "glfw", "sysinfo" } + links { "GL", "glfw", "sysinfo" } includedirs { "/usr/local/include" } libdirs { "/usr/local/lib" } filter "platforms:macosx*gl3_glfw*" - links { "GLEW", "glfw" } + links { "glfw" } linkoptions { "-framework OpenGL" } includedirs { "/opt/local/include" } includedirs { "/usr/local/include" } diff --git a/vendor/librw b/vendor/librw index 41ae7b9b..f49c707d 160000 --- a/vendor/librw +++ b/vendor/librw @@ -1 +1 @@ -Subproject commit 41ae7b9b61c6736b34269df0f0350d1b5bcff4df +Subproject commit f49c707db33bd060fdd17ebb004a658280817545 -- cgit v1.2.3 From f603f4397d2c7d922eeb3180f41de1a24bae6dbd Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 17 Feb 2021 13:40:42 +0100 Subject: fix premake workflows --- .github/workflows/reVC_msvc_amd64.yml | 12 +----------- .github/workflows/reVC_msvc_x86.yml | 12 +----------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/.github/workflows/reVC_msvc_amd64.yml b/.github/workflows/reVC_msvc_amd64.yml index 49a266b7..9cd83ee7 100644 --- a/.github/workflows/reVC_msvc_amd64.yml +++ b/.github/workflows/reVC_msvc_amd64.yml @@ -6,13 +6,9 @@ on: release: types: published env: - GLEW_VER: "2.1.0" GLFW_VER: "3.3.2" - GLEW_BASE: "glew-2.1.0" GLFW_BASE: "glfw-3.3.2.bin.WIN64" - GLEW_FILE: "glew-2.1.0-win32.zip" GLFW_FILE: "glfw-3.3.2.bin.WIN64.zip" - GLEW_URL: "https://github.com/nigels-com/glew/releases/download/glew-2.1.0/glew-2.1.0-win32.zip" GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN64.zip" jobs: build: @@ -27,11 +23,6 @@ jobs: - uses: actions/checkout@v2 with: submodules: 'true' - - if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss" - name: Download glew - uses: carlosperate/download-file-action@v1.0.3 - with: - file-url: ${{env.GLEW_URL}} - if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss" name: Download glfw uses: carlosperate/download-file-action@v1.0.3 @@ -40,11 +31,10 @@ jobs: - if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss" name: Unpack archives run: | - 7z x ${{env.GLEW_FILE}} 7z x ${{env.GLFW_FILE}} - name: Configure build run: | - ./premake5 vs2019 --with-librw --glewdir=${{env.GLEW_BASE}} --glfwdir64=${{env.GLFW_BASE}} + ./premake5 vs2019 --with-librw --glfwdir64=${{env.GLFW_BASE}} - name: Build run: | msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} diff --git a/.github/workflows/reVC_msvc_x86.yml b/.github/workflows/reVC_msvc_x86.yml index 21b0dda9..dc5eaed2 100644 --- a/.github/workflows/reVC_msvc_x86.yml +++ b/.github/workflows/reVC_msvc_x86.yml @@ -6,13 +6,9 @@ on: release: types: published env: - GLEW_VER: "2.1.0" GLFW_VER: "3.3.2" - GLEW_BASE: "glew-2.1.0" GLFW_BASE: "glfw-3.3.2.bin.WIN32" - GLEW_FILE: "glew-2.1.0-win32.zip" GLFW_FILE: "glfw-3.3.2.bin.WIN32.zip" - GLEW_URL: "https://github.com/nigels-com/glew/releases/download/glew-2.1.0/glew-2.1.0-win32.zip" GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN32.zip" jobs: build: @@ -27,11 +23,6 @@ jobs: - uses: actions/checkout@v2 with: submodules: 'true' - - if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss" - name: Download glew - uses: carlosperate/download-file-action@v1.0.3 - with: - file-url: ${{env.GLEW_URL}} - if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss" name: Download glfw uses: carlosperate/download-file-action@v1.0.3 @@ -40,11 +31,10 @@ jobs: - if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss" name: Unpack archives run: | - 7z x ${{env.GLEW_FILE}} 7z x ${{env.GLFW_FILE}} - name: Configure build run: | - ./premake5 vs2019 --with-librw --glewdir=${{env.GLEW_BASE}} --glfwdir32=${{env.GLFW_BASE}} + ./premake5 vs2019 --with-librw --glfwdir32=${{env.GLFW_BASE}} - name: Build run: | msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} -- cgit v1.2.3 From 75d8dd2bf25c01c8db7c5549f0ffc4225a46723d Mon Sep 17 00:00:00 2001 From: erorcun Date: Wed, 17 Feb 2021 15:58:52 +0300 Subject: Show Radio Off on interiors that don't want radio --- src/audio/MusicManager.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/audio/MusicManager.cpp b/src/audio/MusicManager.cpp index 4b32002b..9c6f61f6 100644 --- a/src/audio/MusicManager.cpp +++ b/src/audio/MusicManager.cpp @@ -1265,7 +1265,11 @@ cMusicManager::DisplayRadioStationName() if (vehicle) { - int8 track; +#if defined RADIO_SCROLL_TO_PREV_STATION || defined FIX_BUGS // Because m_nFrontendTrack can have NO_TRACK + int track; +#else + uint8 track; +#endif gStreamedSound = vehicle->m_nRadioStation; if (gStreamedSound >= STREAMED_SOUND_CITY_AMBIENT && gStreamedSound <= STREAMED_SOUND_AMBSIL_AMBIENT) gStreamedSound = RADIO_OFF; @@ -1282,11 +1286,7 @@ cMusicManager::DisplayRadioStationName() gNumRetunePresses++; } else -#ifdef FIX_BUGS - track = GetCarTuning(); // gStreamedSound or veh->m_nRadioStation would also work, but these don't cover police/taxi radios -#else track = m_nFrontendTrack; -#endif wchar* string = nil; switch (track) { @@ -1304,7 +1304,10 @@ cMusicManager::DisplayRadioStationName() return; string = TheText.Get("FEA_MP3"); break; #ifdef RADIO_OFF_TEXT - case RADIO_OFF: { + case STREAMED_SOUND_RADIO_POLICE: + case STREAMED_SOUND_RADIO_TAXI: + return; + default: { extern wchar WideErrorString[]; string = TheText.Get("FEA_NON"); @@ -1314,8 +1317,9 @@ cMusicManager::DisplayRadioStationName() } break; } -#endif +#else default: return; +#endif }; if (pCurrentStation != string) { -- cgit v1.2.3 From 0b6fad76194cde1f2860810d91e00fcc207b2bad Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 17 Feb 2021 13:58:59 +0100 Subject: update librw --- vendor/librw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/librw b/vendor/librw index f49c707d..a60b7a9a 160000 --- a/vendor/librw +++ b/vendor/librw @@ -1 +1 @@ -Subproject commit f49c707db33bd060fdd17ebb004a658280817545 +Subproject commit a60b7a9a57e3106efaa435eba20aec3af2ac26fe -- cgit v1.2.3 From 691c8e77028fe293345f10d3104452f8658cf980 Mon Sep 17 00:00:00 2001 From: erorcun Date: Wed, 17 Feb 2021 15:59:05 +0300 Subject: Fix fuzzy #ifdef --- src/audio/oal/stream.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/audio/oal/stream.cpp b/src/audio/oal/stream.cpp index e2e87f2d..ed73e940 100644 --- a/src/audio/oal/stream.cpp +++ b/src/audio/oal/stream.cpp @@ -464,7 +464,7 @@ public: #endif #ifdef AUDIO_OAL_USE_MPG123 -// fuzzy seek eliminates stutter when playing ADF but spams errors a lot (nothing breaks though) +// fuzzy seek eliminates stutter when playing ADF but spams errors a lot (and breaks radio sometimes) //#define MP3_USE_FUZZY_SEEK class CMP3File : public IDecoder @@ -492,6 +492,8 @@ public: { #ifdef MP3_USE_FUZZY_SEEK mpg123_param(m_pMH, MPG123_FLAGS, MPG123_FUZZY | MPG123_SEEKBUFFER | MPG123_GAPLESS | MPG123_QUIET, 0.0); +#else + mpg123_param(m_pMH, MPG123_FLAGS, MPG123_SEEKBUFFER | MPG123_GAPLESS, 0.0); #endif long rate = 0; int channels = 0; @@ -602,6 +604,8 @@ public: { #ifdef MP3_USE_FUZZY_SEEK mpg123_param(m_pMH, MPG123_FLAGS, MPG123_FUZZY | MPG123_SEEKBUFFER | MPG123_GAPLESS | MPG123_QUIET, 0.0); +#else + mpg123_param(m_pMH, MPG123_FLAGS, MPG123_SEEKBUFFER | MPG123_GAPLESS, 0.0); #endif long rate = 0; int channels = 0; -- cgit v1.2.3 From ac88a00f060abdb252c6aadea2af2dabb7c5dd71 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 17 Feb 2021 15:09:16 +0200 Subject: Fix endless vibration in pause menu --- src/core/Frontend.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 0f66178b..3e79b418 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -5490,6 +5490,9 @@ CMenuManager::SwitchMenuOnAndOff() } Initialise(); LoadAllTextures(); +#ifdef FIX_BUGS + CPad::StopPadsShaking(); +#endif } else { #ifdef EXTENDED_COLOURFILTER // we always expect CPostFX to be open -- cgit v1.2.3 From 8dca3182a62f0b2ce71257957aab0f49b867bdd6 Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 17 Feb 2021 14:38:01 +0100 Subject: update librw --- vendor/librw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/librw b/vendor/librw index a60b7a9a..c2defffc 160000 --- a/vendor/librw +++ b/vendor/librw @@ -1 +1 @@ -Subproject commit a60b7a9a57e3106efaa435eba20aec3af2ac26fe +Subproject commit c2defffca391a865af77146dffe762419066af74 -- cgit v1.2.3 From 3feca1c530bdddcdd2bc33787c0cb213f6ce26eb Mon Sep 17 00:00:00 2001 From: aap Date: Wed, 17 Feb 2021 21:54:59 +0100 Subject: update particle.txd --- gamefiles/models/particle.txd | Bin 8461864 -> 8461864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gamefiles/models/particle.txd b/gamefiles/models/particle.txd index 4de9e4fd..1a8629b7 100644 Binary files a/gamefiles/models/particle.txd and b/gamefiles/models/particle.txd differ -- cgit v1.2.3 From f67065840748635c9086cf2b42aefec2a68f672e Mon Sep 17 00:00:00 2001 From: aap Date: Wed, 17 Feb 2021 22:07:01 +0100 Subject: fix particle.txd --- gamefiles/models/particle.txd | Bin 8461864 -> 8461864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gamefiles/models/particle.txd b/gamefiles/models/particle.txd index 1a8629b7..bad9578e 100644 Binary files a/gamefiles/models/particle.txd and b/gamefiles/models/particle.txd differ -- cgit v1.2.3 From 33a648e5f59433345431d56ffb4ec9bc314349a1 Mon Sep 17 00:00:00 2001 From: Fire-Head Date: Thu, 18 Feb 2021 00:30:07 +0300 Subject: remove particle --- gamefiles/models/particle.txd | Bin 8461864 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 gamefiles/models/particle.txd diff --git a/gamefiles/models/particle.txd b/gamefiles/models/particle.txd deleted file mode 100644 index bad9578e..00000000 Binary files a/gamefiles/models/particle.txd and /dev/null differ -- cgit v1.2.3 From 5ce7a0bde4842e60b42533fad7c6d9e64ffff206 Mon Sep 17 00:00:00 2001 From: Fire-Head Date: Thu, 18 Feb 2021 00:44:52 +0300 Subject: add updated vanilla-friendly upscale-free ps2 particle --- gamefiles/models/particle.txd | Bin 0 -> 2668072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 gamefiles/models/particle.txd diff --git a/gamefiles/models/particle.txd b/gamefiles/models/particle.txd new file mode 100644 index 00000000..b0c585f4 Binary files /dev/null and b/gamefiles/models/particle.txd differ -- cgit v1.2.3 From 59bf3a1cc49a197d21645827b08b41448b2eba33 Mon Sep 17 00:00:00 2001 From: aap Date: Thu, 18 Feb 2021 01:58:42 +0100 Subject: update librw; gl cleanup --- src/extras/custompipes_gl.cpp | 84 ++++++++----------------------------------- vendor/librw | 2 +- 2 files changed, 15 insertions(+), 71 deletions(-) diff --git a/src/extras/custompipes_gl.cpp b/src/extras/custompipes_gl.cpp index 6cbd0bb7..fd68c743 100644 --- a/src/extras/custompipes_gl.cpp +++ b/src/extras/custompipes_gl.cpp @@ -91,13 +91,7 @@ vehicleRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) setWorldMatrix(atomic->getFrame()->getLTM()); lightingCB(atomic); -#ifdef RW_GL_USE_VAOS - glBindVertexArray(header->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, header->ibo); - glBindBuffer(GL_ARRAY_BUFFER, header->vbo); - setAttribPointers(header->attribDesc, header->numAttribs); -#endif + setupVertexInput(header); InstanceData *inst = header->inst; rw::int32 n = header->numMeshes; @@ -138,9 +132,7 @@ vehicleRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) SetRenderState(SRCBLEND, BLENDSRCALPHA); -#ifndef RW_GL_USE_VAOS - disableAttribPointers(header->attribDesc, header->numAttribs); -#endif + teardownVertexInput(header); } void @@ -211,13 +203,7 @@ worldRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) setWorldMatrix(atomic->getFrame()->getLTM()); lightingCB(atomic); -#ifdef RW_GL_USE_VAOS - glBindVertexArray(header->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, header->ibo); - glBindBuffer(GL_ARRAY_BUFFER, header->vbo); - setAttribPointers(header->attribDesc, header->numAttribs); -#endif + setupVertexInput(header); InstanceData *inst = header->inst; rw::int32 n = header->numMeshes; @@ -255,9 +241,7 @@ worldRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) inst++; } setTexture(1, nil); -#ifndef RW_GL_USE_VAOS - disableAttribPointers(header->attribDesc, header->numAttribs); -#endif + teardownVertexInput(header); } void @@ -319,13 +303,7 @@ glossRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) Material *m; -#ifdef RW_GL_USE_VAOS - glBindVertexArray(header->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, header->ibo); - glBindBuffer(GL_ARRAY_BUFFER, header->vbo); - setAttribPointers(header->attribDesc, header->numAttribs); -#endif + setupVertexInput(header); InstanceData *inst = header->inst; rw::int32 n = header->numMeshes; @@ -368,9 +346,7 @@ glossRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) SetRenderState(SRCBLEND, BLENDSRCALPHA); SetRenderState(DESTBLEND, BLENDINVSRCALPHA); -#ifndef RW_GL_USE_VAOS - disableAttribPointers(header->attribDesc, header->numAttribs); -#endif + teardownVertexInput(header); } void @@ -454,13 +430,7 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) setWorldMatrix(atomic->getFrame()->getLTM()); lightingCB(atomic); -#ifdef RW_GL_USE_VAOS - glBindVertexArray(header->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, header->ibo); - glBindBuffer(GL_ARRAY_BUFFER, header->vbo); - setAttribPointers(header->attribDesc, header->numAttribs); -#endif + setupVertexInput(header); InstanceData *inst = header->inst; rw::int32 n = header->numMeshes; @@ -483,9 +453,7 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) drawInst(header, inst); inst++; } -#ifndef RW_GL_USE_VAOS - disableAttribPointers(header->attribDesc, header->numAttribs); -#endif + teardownVertexInput(header); } static void @@ -505,13 +473,7 @@ rimRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) setWorldMatrix(atomic->getFrame()->getLTM()); lightingCB(atomic); -#ifdef RW_GL_USE_VAOS - glBindVertexArray(header->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, header->ibo); - glBindBuffer(GL_ARRAY_BUFFER, header->vbo); - setAttribPointers(header->attribDesc, header->numAttribs); -#endif + setupVertexInput(header); InstanceData *inst = header->inst; rw::int32 n = header->numMeshes; @@ -532,9 +494,7 @@ rimRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header) drawInst(header, inst); inst++; } -#ifndef RW_GL_USE_VAOS - disableAttribPointers(header->attribDesc, header->numAttribs); -#endif + teardownVertexInput(header); } void @@ -697,13 +657,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass) if(!setupDone){ defaultShader->use(); setWorldMatrix(&building->matrix); -#ifdef RW_GL_USE_VAOS - glBindVertexArray(building->instHeader->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, building->instHeader->ibo); - glBindBuffer(GL_ARRAY_BUFFER, building->instHeader->vbo); - setAttribPointers(building->instHeader->attribDesc, building->instHeader->numAttribs); -#endif + setupVertexInput(building->instHeader); setLights(&lights); setupDone = true; } @@ -714,9 +668,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass) drawInst(building->instHeader, inst); } -#ifndef RW_GL_USE_VAOS - disableAttribPointers(building->instHeader->attribDesc, building->instHeader->numAttribs); -#endif + teardownVertexInput(building->instHeader); if(defer) numBlendInsts[pass]++; } @@ -755,13 +707,7 @@ RenderBlendPass(int pass) for(i = 0; i < numBlendInsts[pass]; i++){ BuildingInst *building = &blendInsts[pass][i]; -#ifdef RW_GL_USE_VAOS - glBindVertexArray(building->instHeader->vao); -#else - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, building->instHeader->ibo); - glBindBuffer(GL_ARRAY_BUFFER, building->instHeader->vbo); - setAttribPointers(building->instHeader->attribDesc, building->instHeader->numAttribs); -#endif + setupVertexInput(building->instHeader); setWorldMatrix(&building->matrix); if(building->lighting) lights.ambient = pAmbient->color; @@ -783,9 +729,7 @@ RenderBlendPass(int pass) drawInst(building->instHeader, inst); } -#ifndef RW_GL_USE_VAOS - disableAttribPointers(building->instHeader->attribDesc, building->instHeader->numAttribs); -#endif + teardownVertexInput(building->instHeader); } } } diff --git a/vendor/librw b/vendor/librw index c2defffc..576d211c 160000 --- a/vendor/librw +++ b/vendor/librw @@ -1 +1 @@ -Subproject commit c2defffca391a865af77146dffe762419066af74 +Subproject commit 576d211cbd76bfef43f33f2f837c0f392dbe86fe -- cgit v1.2.3