diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 562912a3..6578f9e1 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -14,8 +14,8 @@ concurrency: group: ${{github.workflow}}-${{github.event_name == 'pull_request' && github.head_ref || github.sha}} cancel-in-progress: true jobs: - build_ubuntu_x64_64: - runs-on: ubuntu-latest + build_ubuntu_x86_64: + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 938cfa87..3b3ee786 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -32,7 +32,6 @@ jobs: run: | # Public runners come with 3 CPUs. gmake -j3 - gmake -j3 ref_gles1 - name: Create testbuild package run: | # Create release directory tree diff --git a/.github/workflows/win32.yml b/.github/workflows/win32.yml index 2126e82a..b4ba5bc2 100644 --- a/.github/workflows/win32.yml +++ b/.github/workflows/win32.yml @@ -48,7 +48,6 @@ jobs: sed -i 's|WITH_AVCODEC:=yes|WITH_AVCODEC:=no|g' Makefile # Public runners come with 2 CPUs. make -j2 - make -j2 ref_gles1 - name: Create testbuild package shell: msys2 {0} run: | @@ -75,13 +74,13 @@ jobs: unzip -o SDL2-2.30.6-win32-x86.zip cp SDL2.dll publish/quake2-win32-${{github.sha}}/ # openal-soft - wget -c https://www.openal-soft.org/openal-binaries/openal-soft-1.23.1-bin.zip + wget -c https://github.com/kcat/openal-soft/releases/download/1.23.1/openal-soft-1.23.1-bin.zip unzip -o openal-soft-1.23.1-bin.zip cp openal-soft-1.23.1-bin/bin/Win32/soft_oal.dll publish/quake2-win32-${{github.sha}}/openal32.dll # curl (releases use a custom build curl.dll) - wget -c https://curl.se/windows/dl-8.9.1_1/curl-8.9.1_1-win32-mingw.zip - unzip -o curl-8.9.1_1-win32-mingw.zip - cp curl-8.9.1_1-win32-mingw/bin/libcurl.dll publish/quake2-win32-${{github.sha}}/curl.dll + wget -c -O curl-mingw-latest.zip "https://curl.se/windows/latest.cgi?p=win32-mingw.zip" + unzip -o curl-mingw-latest.zip + cp curl-*-win32-mingw/bin/libcurl.dll publish/quake2-win32-${{github.sha}}/curl.dll - name: Upload testbuild package uses: actions/upload-artifact@v4 if: ${{ ! startsWith(github.ref, 'refs/tags/') }} diff --git a/src/client/menu/videomenu.c b/src/client/menu/videomenu.c index bd274ab5..4b6a1173 100644 --- a/src/client/menu/videomenu.c +++ b/src/client/menu/videomenu.c @@ -44,6 +44,7 @@ static cvar_t *r_vsync; static cvar_t *gl_anisotropic; static cvar_t *gl_msaa_samples; static cvar_t *gl3_colorlight; +static cvar_t *gl4_colorlight; static cvar_t *r_dynamic; static menuframework_s s_opengl_menu; @@ -56,11 +57,14 @@ static menuslider_s s_brightness_slider; static menuslider_s s_fov_slider; static menuslider_s s_gl1_intensity_slider; static menuslider_s s_gl3_intensity_slider; +static menuslider_s s_gl4_intensity_slider; static menuslider_s s_vk_intensity_slider; static menuslider_s s_gl1_overbrightbits_slider; static menuslider_s s_gl3_overbrightbits_slider; +static menuslider_s s_gl4_overbrightbits_slider; static menuslider_s s_vk_overbrightbits_slider; static menulist_s s_gl3_colorlight_list; +static menulist_s s_gl4_colorlight_list; static menulist_s s_r_dynamic_list; static menulist_s s_fs_box; static menulist_s s_vsync_list; @@ -591,6 +595,32 @@ VID_MenuInit(void) s_gl3_colorlight_list.itemnames = yesno_names; s_gl3_colorlight_list.curvalue = (gl3_colorlight->value != 0); } + if (strcmp(vid_renderer->string, "gl4") == 0) + { + s_gl4_intensity_slider.generic.type = MTYPE_SLIDER; + s_gl4_intensity_slider.generic.name = "color intensity"; + s_gl4_intensity_slider.generic.x = 0; + s_gl4_intensity_slider.generic.y = (y += 10); + s_gl4_intensity_slider.cvar = "gl4_intensity"; + s_gl4_intensity_slider.minvalue = 0.1f; + s_gl4_intensity_slider.maxvalue = 5.0f; + + s_gl4_overbrightbits_slider.generic.type = MTYPE_SLIDER; + s_gl4_overbrightbits_slider.generic.name = "overbrights"; + s_gl4_overbrightbits_slider.generic.x = 0; + s_gl4_overbrightbits_slider.generic.y = (y += 10); + s_gl4_overbrightbits_slider.cvar = "gl4_overbrightbits"; + s_gl4_overbrightbits_slider.minvalue = 0.1f; + s_gl4_overbrightbits_slider.maxvalue = 5.0f; + + gl4_colorlight = Cvar_Get("gl4_colorlight", "1", CVAR_ARCHIVE); + s_gl4_colorlight_list.generic.type = MTYPE_SPINCONTROL; + s_gl4_colorlight_list.generic.name = "color light"; + s_gl4_colorlight_list.generic.x = 0; + s_gl4_colorlight_list.generic.y = (y += 10); + s_gl4_colorlight_list.itemnames = yesno_names; + s_gl4_colorlight_list.curvalue = (gl4_colorlight->value != 0); + } else if (strcmp(vid_renderer->string, "vk") == 0) { s_vk_intensity_slider.generic.type = MTYPE_SLIDER; @@ -790,6 +820,12 @@ VID_MenuInit(void) Menu_AddItem(&s_opengl_menu, (void *)&s_gl3_overbrightbits_slider); Menu_AddItem(&s_opengl_menu, (void *)&s_gl3_colorlight_list); } + else if (strcmp(vid_renderer->string, "gl4") == 0) + { + Menu_AddItem(&s_opengl_menu, (void *)&s_gl4_intensity_slider); + Menu_AddItem(&s_opengl_menu, (void *)&s_gl4_overbrightbits_slider); + Menu_AddItem(&s_opengl_menu, (void *)&s_gl4_colorlight_list); + } else if (strcmp(vid_renderer->string, "vk") == 0) { Menu_AddItem(&s_opengl_menu, (void *)&s_vk_intensity_slider); diff --git a/src/game/g_ai.c b/src/game/g_ai.c index 148cb1ca..94ea4adb 100644 --- a/src/game/g_ai.c +++ b/src/game/g_ai.c @@ -506,6 +506,10 @@ HuntTarget(edict_t *self) { VectorSubtract(self->enemy->s.origin, self->s.origin, vec); } + else + { + VectorClear(vec); + } self->ideal_yaw = vectoyaw(vec); diff --git a/src/game/g_spawn.c b/src/game/g_spawn.c index 602ed4d1..72815cd3 100644 --- a/src/game/g_spawn.c +++ b/src/game/g_spawn.c @@ -650,6 +650,9 @@ SpawnEntities(const char *mapname, char *entities, const char *spawnpoint) ent->s.renderfx |= RF_IR_VISIBLE; } + /* in case the last entity in the entstring has spawntemp fields */ + memset(&st, 0, sizeof(st)); + gi.dprintf("%i entities inhibited.\n", inhibit); G_FindTeams();